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)); }
public void Update(UasSysStatus sysStatus) { RemainingPercent = sysStatus.BatteryRemaining; Voltage = sysStatus.VoltageBattery / 1000.0f; Current = sysStatus.CurrentBattery; }