Inheritance: Structure
Ejemplo n.º 1
0
        public static PIDLoop DeepCopy(PIDLoop source)
        {
            PIDLoop newLoop = new PIDLoop
            {
                LastSampleTime = source.LastSampleTime,
                Kp             = source.Kp,
                Ki             = source.Ki,
                Kd             = source.Kd,
                Input          = source.Input,
                Setpoint       = source.Setpoint,
                Error          = source.Error,
                Output         = source.Output,
                MinOutput      = source.MinOutput,
                MaxOutput      = source.MaxOutput,
                ErrorSum       = source.ErrorSum,
                PTerm          = source.PTerm,
                ITerm          = source.ITerm,
                DTerm          = source.DTerm,
                ExtraUnwind    = source.ExtraUnwind,
                ChangeRate     = source.ChangeRate,
                unWinding      = source.unWinding
            };

            return(newLoop);
        }
Ejemplo n.º 2
0
        // Required for all IDumpers for them to work, but can't enforced by the interface because it's static:
        public static PIDLoop CreateFromDump(SafeSharedObjects shared, Dump d)
        {
            var newObj = new PIDLoop();

            newObj.LoadDump(d);
            return(newObj);
        }
Ejemplo n.º 3
0
        public void CanEqualsPIDLoop()
        {
            var pidLoop1 = new PIDLoop();
            var pidLoop2 = new PIDLoop();

            var op = new OperandPair(pidLoop1, pidLoop2);
            var result = calc.Equal(op);
            Assert.IsFalse((bool)result);

            op = new OperandPair(pidLoop1, pidLoop1);
            result = calc.Equal(op);
            Assert.IsTrue((bool)result);
        }
Ejemplo n.º 4
0
 public static PIDLoop DeepCopy(PIDLoop source)
 {
     PIDLoop newLoop = new PIDLoop
     {
         LastSampleTime = source.LastSampleTime,
         Kp = source.Kp,
         Ki = source.Ki,
         Kd = source.Kd,
         Input = source.Input,
         Setpoint = source.Setpoint,
         Error = source.Error,
         Output = source.Output,
         MaxOutput = source.MaxOutput,
         ErrorSum = source.ErrorSum,
         PTerm = source.PTerm,
         ITerm = source.ITerm,
         DTerm = source.DTerm,
         ExtraUnwind = source.ExtraUnwind,
         ChangeRate = source.ChangeRate,
         unWinding = source.unWinding
     };
     return newLoop;
 }
Ejemplo n.º 5
0
 public TorquePI()
 {
     Loop = new PIDLoop();
     Ts = 1;
     TorqueAdjust = new MovingAverage();
 }