public void HardwareStatusReceived(IRotatorStatus status)
 {
     Logger.Info().Message("Rotator status {status}", status).Write();
     RotatorStatus = status;
     UpdateStatus(status);
     RotatorState.StatusUpdateReceived(status);
 }
 internal void UpdateStatus(IRotatorStatus status)
 {
     AzimuthEncoderPosition = status.Azimuth;
     AzimuthMotorActive     = false;
     AzimuthDirection       = RotationDirection.None;
     AtHome            = status.AtHome;
     DomeCircumference = status.DomeCircumference;
     HomePosition      = status.HomePosition;
 }
 private void RotatorStatusUpdateOnNext(IRotatorStatus statusNotification)
 {
     try
     {
         stateMachine.HardwareStatusReceived(statusNotification);
     }
     catch (Exception ex)
     {
         Log.Error().Exception(ex).Message($"Error while processing status notification: {statusNotification}")
         .Write();
     }
 }
Beispiel #4
0
 public override void StatusUpdateReceived(IRotatorStatus status)
 {
     base.StatusUpdateReceived(status);
     Machine.UpdateStatus(status);
     Machine.TransitionToState(new ReadyState(Machine));
 }
 /// <inheritdoc />
 public virtual void StatusUpdateReceived(IRotatorStatus status) =>
 Log.Debug().Message("Status received: {status}", status).Write();