Пример #1
0
        private void UpdateProperties(NavDataReceivedEventArgs e)
        {
            Flying       = e.NavData.Flying;
            CommWatchDog = e.NavData.CommWatchDog;

            if (e.NavData.Demo != null)
            {
                Altitude          = e.NavData.Demo.Altitude;
                BatteryPercentage = e.NavData.Demo.BatteryPercentage;
                Psi               = e.NavData.Demo.Psi;
                Phi               = e.NavData.Demo.Phi;
                Theta             = e.NavData.Demo.Theta;
                KilometersPerHour = e.NavData.Demo.KilometersPerHour;
            }

            if (e.NavData.HdVideoStream != null)
            {
                CanRecord         = e.NavData.HdVideoStream.CanRecord;
                UsbKeyIsRecording = e.NavData.HdVideoStream.UsbKeyIsRecording;
            }

            if (e.NavData.Demo == null || e.NavData.HdVideoStream == null)
            {
                RequestNavData();
            }
        }
Пример #2
0
 private void UpdatePropertiesThreadSafe(NavDataReceivedEventArgs e)
 {
     lock (_threadLock)
     {
         if (Connected)
         {
             UpdateProperties(e);
         }
     }
 }
Пример #3
0
 private void NavDataWorkerOnNavDataReceived(object sender, NavDataReceivedEventArgs e)
 {
     Dispatcher.BeginInvoke(() => UpdatePropertiesThreadSafe(e));
 }