public void Update(UasSysStatus sysStatus)
        {
            var healthArray  = new BitArray(new int[] { (int)sysStatus.OnboardControlSensorsHealth });
            var enabledArray = new BitArray(new int[] { (int)sysStatus.OnboardControlSensorsEnabled });
            var presentArray = new BitArray(new int[] { (int)sysStatus.OnboardControlSensorsPresent });

            foreach (var onboardSensor in _onboardSensors)
            {
                var sensor = Sensors.Where(sns => sns.SysStatusSensor == onboardSensor.Sensor).FirstOrDefault();
                if (sensor == null)
                {
                    sensor = new Sensor(onboardSensor.Sensor, onboardSensor.Name);
                    Sensors.Add(sensor);
                }

                sensor.Present   = presentArray[ConvertValuetoBitmaskOffset(onboardSensor.Mask)];
                sensor.Enabled   = enabledArray[ConvertValuetoBitmaskOffset(onboardSensor.Mask)];
                sensor.Healthy   = healthArray[ConvertValuetoBitmaskOffset(onboardSensor.Mask)];
                sensor.TimeStamp = DateTime.Now;
            }

            Sensors = new ObservableCollection <Sensor>(Sensors.OrderByDescending(snsr => snsr.Present));
        }
Esempio n. 2
0
 public void Update(UasSysStatus sysStatus)
 {
     RemainingPercent = sysStatus.BatteryRemaining;
     Voltage          = sysStatus.VoltageBattery / 1000.0f;
     Current          = sysStatus.CurrentBattery;
 }