示例#1
0
 private async Task StopHvModule()
 {
     IsCommunicating = true;
     UpdateHv().SafeFireAndForget(onException: ex => Debug.WriteLine(ex));
     await Task.Run(() =>
     {
         try
         {
             LaccSerialControl.SetHvMoudle(false);
             IsHvModuleOn = false;
         }
         catch (TimeoutException e)
         {
             Trace.WriteLine(e.Message);
             StopCommunicationCommand.Execute(null);
             IsSerialOpen = false;
         }
         finally
         {
             UpdateAllParams();
             IsCommunicating = false;
             IsHvModuleOn    = false;
         }
     });
 }
示例#2
0
        private async Task UpdataePorts()
        {
            await Task.Run(() => LaccSerialControl.UpdatePortsName());

            ComPorts        = new ObservableCollection <string>(LaccSerialControl.PortsName);
            SelectedComport = LaccSerialControl.SelectedPortName;
        }
示例#3
0
 private async Task StopCommunication()
 {
     await Task.Run(() =>
     {
         IsCommunicating = true;
         LaccSerialControl.StopCommunication();
         IsSerialOpen    = false;
         IsCommunicating = false;
     });
 }
示例#4
0
        private async Task StopFpga()
        {
            await Task.Run(() =>
            {
                IsCommunicating = true;
                try
                {
                    LaccSerialControl.SetFPGA(false);
                }
                catch (TimeoutException e)
                {
                    Trace.WriteLine(e.Message);
                    StopCommunicationCommand.Execute(null);
                    IsSerialOpen = false;
                }

                UpdateAllParams();
                IsCommunicating = false;
            });
        }
示例#5
0
        private async Task StartCommunicationAsync()
        {
            await Task.Run(() =>
            {
                IsCommunicating = true;
                bool check      = false;
                check           = LaccSerialControl.StartCommunication();

                if (check)
                {
                    IsSerialOpen = true;
                    UpdateAllParams();
                }
                else
                {
                    IsSerialOpen = false;
                }
                IsCommunicating = false;
            });
        }
示例#6
0
 private void UpdateAllParams()
 {
     IsCommunicating = true;
     //wait to arduino reset
     Thread.Sleep(1000);
     LaccSerialControl.CheckParams();
     IsFPGAOn        = LaccSerialControl.IsFPGAOn;
     HvModuleVoltage = LaccSerialControl.HvModuleVoltage;
     if (HvModuleVoltage > 500)
     {
         IsHvModuleOn = true;
     }
     HvModuleCurrent = LaccSerialControl.HvModuleCurrent;
     BatteryVoltage  = LaccSerialControl.BatteryVoltage;
     IsSwitch1_On    = LaccSerialControl.IsSwitchOn[0];
     IsSwitch2_On    = LaccSerialControl.IsSwitchOn[1];
     IsSwitch3_On    = LaccSerialControl.IsSwitchOn[2];
     IsSwitch4_On    = LaccSerialControl.IsSwitchOn[3];
     IsSwitch5_On    = LaccSerialControl.IsSwitchOn[4];
     IsSwitch6_On    = LaccSerialControl.IsSwitchOn[5];
 }