private void GetPositions()
 {
     if (Owner.IsConnected)
     {
         Owner.BackgroundThreadManager.RunBackgroundFunction((s, e) => ELLPaddleStage.RequestPositions());
     }
 }
 private void SetJogSize()
 {
     if (Owner.IsConnected)
     {
         Owner.BackgroundThreadManager.RunBackgroundFunction((s, e) => ELLPaddleStage.SetJogstepSize(TargetJogStepSize));
     }
 }
 private void Home()
 {
     if (Owner.IsConnected)
     {
         Owner.BackgroundThreadManager.RunBackgroundFunction((s, e) => ELLPaddleStage.Home(ELLPaddlePolariser.PaddleHomeMask.All));
     }
 }
 private void SetHomeOffset()
 {
     if (Owner.IsConnected)
     {
         Owner.BackgroundThreadManager.RunBackgroundFunction((s, e) => ELLPaddleStage.SetHomeOffset(TargetHomeOffset));
     }
 }
 private void MoveRelative()
 {
     if (Owner.IsConnected)
     {
         ELLPaddlePolariser.PolarizerPaddlePositions positions = new ELLPaddlePolariser.PolarizerPaddlePositions()
         {
             Paddle1 = _paddlesTable[ELLPaddlePolariser.PaddleIDs.Paddle1].Displacement,
             Paddle2 = _paddlesTable[ELLPaddlePolariser.PaddleIDs.Paddle2].Displacement,
             Paddle3 = _paddlesTable[ELLPaddlePolariser.PaddleIDs.Paddle3].Displacement,
         };
         Owner.BackgroundThreadManager.RunBackgroundFunction((s, e) => ELLPaddleStage.MoveRelative(positions));
     }
 }
 public override void InitializeViewModel()
 {
     ELLPaddleStage.GetHomeOffset();
     ELLPaddleStage.GetJogstepSize();
     ELLPaddleStage.RequestPositions();
 }