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(); }
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(); }
protected void PublishState() { State = new ActuatorState(privateState); }
public bool IsEqualTo(ActuatorState rhs) { return (rhs != null && TargetPos == rhs.TargetPos && TargetPosStr == rhs.TargetPosStr && PosState == rhs.PosState && PosStateStr == rhs.PosStateStr && TimeStamp == rhs.TimeStamp ); }
public ActuatorState(ActuatorState rhs) { TargetPos = rhs.TargetPos; TargetPosStr = rhs.TargetPosStr; PosState = rhs.PosState; PosStateStr = rhs.PosStateStr; TimeStamp = rhs.TimeStamp; }
void PublishState() { State = new ActuatorState(PrivateState); }
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); }
public PositionState() { ClampState = new ActuatorState(); DockState = new ActuatorState(); VacState = new ActuatorState(); DoorKeysState = new ActuatorState(); DoorOpenState = new ActuatorState(); DoorDownState = new ActuatorState(); }