Example #1
0
        public ActuatorBase(string name, ActuatorConfig config, IActuatorState initialState = null)
        {
            Config = new ActuatorConfig(config);

            initialState = initialState ?? Config.GetDefaultInitialActuatorState();

            slewRateLimitTool = new SlewRateLimitTool(minValue: 0.0, maxValue: 100.0, initialValue: initialState.PositionInPercent, initialTarget: initialState.TargetPositionInPercent, maxRatePerSec: 0.0);

            UpdateMotionRates();

            privateState = new ActuatorState(initialState);

            logger = new Logging.Logger(name, Logging.LogGate.All);

            if (config.InitialPos.IsTargetPositionValid(allowInBetween: true))
            {
                privateState.TargetPos = privateState.PosState = config.InitialPos;
                privateState.TargetPositionInPercent = privateState.PositionInPercent = GetTargetPositionInPercent(config.InitialPos, mapInBetweenToHalfWay: true);
                privateState.TargetPosStr            = privateState.PosStateStr = config.ToString(config.InitialPos);
            }

            logger.Debug.Emit("Initial state is:{0} [{1} {2:f0}%]", privateState.PosStateStr, privateState.PosState, privateState.PositionInPercent);

            PublishState();
        }
Example #2
0
        public ActuatorBase(ActuatorConfig config, ActuatorState state)
        {
            Config = config;
            PrivateState = state;

            logger = new Logging.Logger(config.Name, Logging.LogGate.All);

            PrivateState.TargetPos = PrivateState.PosState = config.InitialPos;
            PrivateState.TargetPosStr = PrivateState.PosStateStr = config.ToString(config.InitialPos);
            PrivateState.TimeStamp = QpcTimeStamp.Now;

            logger.Info.Emit("Initial state is:{0} [{1}]", PrivateState.PosStateStr, PrivateState.PosState);

            PublishState();
        }
Example #3
0
 protected void PublishState()
 {
     State = new ActuatorState(privateState);
 }
Example #4
0
 public bool IsEqualTo(ActuatorState rhs)
 {
     return (rhs != null
             && TargetPos == rhs.TargetPos
             && TargetPosStr == rhs.TargetPosStr
             && PosState == rhs.PosState
             && PosStateStr == rhs.PosStateStr
             && TimeStamp == rhs.TimeStamp
             );
 }
Example #5
0
 public ActuatorState(ActuatorState rhs)
 {
     TargetPos = rhs.TargetPos;
     TargetPosStr = rhs.TargetPosStr;
     PosState = rhs.PosState;
     PosStateStr = rhs.PosStateStr;
     TimeStamp = rhs.TimeStamp;
 }
Example #6
0
 void PublishState()
 {
     State = new ActuatorState(PrivateState);
 }
Example #7
0
 public PositionState(PositionState rhs)
 {
     ClampState = new ActuatorState(rhs.ClampState);
     DockState = new ActuatorState(rhs.DockState);
     VacState = new ActuatorState(rhs.VacState);
     DoorKeysState = new ActuatorState(rhs.DoorKeysState);
     DoorOpenState = new ActuatorState(rhs.DoorOpenState);
     DoorDownState = new ActuatorState(rhs.DoorDownState);
 }
Example #8
0
 public PositionState()
 {
     ClampState = new ActuatorState();
     DockState = new ActuatorState();
     VacState = new ActuatorState();
     DoorKeysState = new ActuatorState();
     DoorOpenState = new ActuatorState();
     DoorDownState = new ActuatorState();
 }