Пример #1
0
 private void ShutterStatusUpdateOnNext(IShutterStatus statusNotification)
 {
     try
     {
         stateMachine.HardwareStatusReceived(statusNotification);
     }
     catch (Exception ex)
     {
         Log.Error().Exception(ex).Message($"Error while processing status notification: {statusNotification}")
         .Write();
     }
 }
Пример #2
0
 /// <inheritdoc />
 public override void StatusUpdateReceived(IShutterStatus status)
 {
     base.StatusUpdateReceived(status);
     Machine.UpdateStatus(status);
     if (status.ClosedSensorActive)
     {
         Machine.TransitionToState(new ClosedState(Machine));
     }
     else
     {
         Machine.TransitionToState(new OpenState(Machine));
     }
 }
Пример #3
0
 internal void UpdateStatus(IShutterStatus status)
 {
     ShutterMotorActive       = false;
     ShutterLimitOfTravel     = status.LimitOfTravel;
     ShutterMovementDirection = ShutterDirection.None;
     if (status.OpenSensorActive)
     {
         ShutterLimitSwitches = SensorState.Open;
     }
     else if (status.ClosedSensorActive)
     {
         ShutterLimitSwitches = SensorState.Closed;
     }
     else
     {
         ShutterLimitSwitches = SensorState.Indeterminate;
     }
     ShutterStepPosition = status.Position;
 }
Пример #4
0
 /// <inheritdoc />
 public virtual void StatusUpdateReceived(IShutterStatus status) =>
 Log.Debug().Message("Status received: {status}", status).Write();
Пример #5
0
 /// <inheritdoc />
 public override void StatusUpdateReceived(IShutterStatus status)
 {
     base.StatusUpdateReceived(status);
     Machine.UpdateStatus(status);
     Machine.TransitionToState(new OpenState(Machine));
 }