public override async void OnPageShown() { SetWarning(false); await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.DEBUG_GET_ALL_DATA); _refreshTimer.Start(); _caseLabel.IsVisible = BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.CaseBattery) && (DeviceMessageCache.Instance.BasicStatusUpdate?.BatteryCase ?? 101) <= 100; /* Initial properties */ if (_lastGetAllDataParser == null) { var stub = new DebugGetAllDataParser { LeftAdcCurrent = 0, LeftAdcSOC = 0, LeftAdcVCell = 0, LeftThermistor = 0, RightAdcCurrent = 0, RightAdcSOC = 0, RightAdcVCell = 0, RightThermistor = 0 }; UpdateDetails(stub); } UpdateList(); _findMyGear.Source = (IImage?)Application.Current.FindResource($"FindMyGear{BluetoothImpl.Instance.DeviceSpec.IconResourceKey}"); _touch.Source = (IImage?)Application.Current.FindResource($"Touch{BluetoothImpl.Instance.DeviceSpec.IconResourceKey}"); _loadingSpinner.IsVisible = !BluetoothImpl.Instance.IsConnected; }
private void UpdateDetails(DebugGetAllDataParser p) { _lastGetAllDataParser = p; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Devices.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Devices.R); _batteryVoltLeft.Content = $"{p.LeftAdcVCell:N2}V"; _batteryVoltRight.Content = $"{p.RightAdcVCell:N2}V"; if (BluetoothImpl.Instance.ActiveModel == Models.Buds) { _batteryCurrentLeft.Content = $"{p.LeftAdcCurrent:N2}mA"; _batteryCurrentRight.Content = $"{p.RightAdcCurrent:N2}mA"; } UpdateTemperature(p.LeftThermistor, p.RightThermistor); var isLeftOnline = p.LeftAdcSOC > 0; var isRightOnline = p.RightAdcSOC > 0; _batteryVoltLeft.IsVisible = isLeftOnline; _batteryVoltRight.IsVisible = isRightOnline; _batteryCurrentLeft.IsVisible = isLeftOnline; _batteryCurrentRight.IsVisible = isRightOnline; _batteryTemperatureLeft.IsVisible = isLeftOnline; _batteryTemperatureRight.IsVisible = isRightOnline; _batteryIconLeft.IsVisible = isLeftOnline; _batteryIconRight.IsVisible = isRightOnline; _batteryPercentageLeft.IsVisible = isLeftOnline; _batteryPercentageRight.IsVisible = isRightOnline; UpdateConnectionState(isLeftOnline, isRightOnline); }
public override void OnPageShown() { _mainWindow.SetOptionsEnabled(true); _allowGetAllResponse = true; _refreshTimer.Start(); if (BluetoothService.Instance.ActiveModel == Model.Buds) { BatteryCase.Content = ""; CaseLabel.Visibility = Visibility.Hidden; } /* Initial properties */ if (_lastGetAllDataParser == null) { var stub = new DebugGetAllDataParser(); stub.LeftAdcCurrent = 0; stub.LeftAdcSOC = 0; stub.LeftAdcVCell = 0; stub.LeftThermistor = 0; stub.RightAdcCurrent = 0; stub.RightAdcSOC = 0; stub.RightAdcVCell = 0; stub.RightThermistor = 0; UpdateDetails(stub); } UpdateList(); UpdatePlusPlacement(_lastPlacementL, _lastPlacementR); }
private void InstanceOnGetAllDataResponse(object?sender, DebugGetAllDataParser e) { _pageHeader.LoadingSpinnerVisible = false; _hwVer.Description = e.HardwareVersion ?? Loc.Resolve("unknown"); _swVer.Description = e.SoftwareVersion ?? Loc.Resolve("unknown"); _touchFwVer.Description = e.TouchSoftwareVersion ?? Loc.Resolve("unknown"); _btAddr.Description = $"{Left}: {e.LeftBluetoothAddress}, {Right}: {e.RightBluetoothAddress}"; }
private void UpdateDetails(DebugGetAllDataParser p) { BatteryVoltLeft.Content = $"{p.LeftAdcVCell:N}V"; BatteryVoltRight.Content = $"{p.RightAdcVCell:N}V"; BatteryCurrentLeft.Content = $"{p.LeftAdcCurrent:N}mA"; BatteryCurrentRight.Content = $"{p.RightAdcCurrent:N}mA"; if (Properties.Settings.Default.UseFahrenheit) { BatteryTemperatureLeft.Content = $"{((9.0 / 5.0) * p.LeftThermistor) + 32:N} °F"; BatteryTemperatureRight.Content = $"{((9.0 / 5.0) * p.RightThermistor) + 32:N} °F"; } else { BatteryTemperatureLeft.Content = $"{p.LeftThermistor:N} °C"; BatteryTemperatureRight.Content = $"{p.RightThermistor:N} °C"; } Visibility leftSide = p.LeftAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; Visibility rightSide = p.RightAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; BatteryVoltLeft.Visibility = leftSide; BatteryVoltRight.Visibility = rightSide; BatteryCurrentLeft.Visibility = leftSide; BatteryCurrentRight.Visibility = rightSide; BatteryTemperatureLeft.Visibility = leftSide; BatteryTemperatureRight.Visibility = rightSide; BatteryIconLeft.Visibility = leftSide; BatteryIconRight.Visibility = rightSide; BatteryPercentageLeft.Visibility = leftSide; BatteryPercentageRight.Visibility = rightSide; if (leftSide == Visibility.Visible) { LeftIcon.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/device/left_gray.png")); } else { LeftIcon.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/device/left_gray_dim.png")); } if (rightSide == Visibility.Visible) { RightIcon.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/device/right_gray.png")); } else { RightIcon.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/device/right_gray_dim.png")); } }
private void UpdateDetails(DebugGetAllDataParser p) { _lastGetAllDataParser = p; BatteryVoltLeft.Content = $"{p.LeftAdcVCell:N}V"; BatteryVoltRight.Content = $"{p.RightAdcVCell:N}V"; if (BluetoothService.Instance.ActiveModel == Model.Buds) { BatteryCurrentLeft.Content = $"{p.LeftAdcCurrent:N}mA"; BatteryCurrentRight.Content = $"{p.RightAdcCurrent:N}mA"; } UpdateTemperature(p.LeftThermistor, p.RightThermistor); Visibility leftSide = p.LeftAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; Visibility rightSide = p.RightAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; BatteryVoltLeft.Visibility = leftSide; BatteryVoltRight.Visibility = rightSide; BatteryCurrentLeft.Visibility = leftSide; BatteryCurrentRight.Visibility = rightSide; BatteryTemperatureLeft.Visibility = leftSide; BatteryTemperatureRight.Visibility = rightSide; BatteryIconLeft.Visibility = leftSide; BatteryIconRight.Visibility = rightSide; BatteryPercentageLeft.Visibility = leftSide; BatteryPercentageRight.Visibility = rightSide; string type = BluetoothService.Instance.ActiveModel == Model.BudsLive ? "Bean" : "Bud"; if (leftSide == Visibility.Visible) { LeftIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0][$"Left{type}Connected"]; } else { LeftIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0][$"Left{type}Disconnected"]; } if (rightSide == Visibility.Visible) { RightIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0][$"Right{type}Connected"]; } else { RightIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0][$"Right{type}Disconnected"]; } }
private void InstanceOnGetAllDataResponse(object sender, DebugGetAllDataParser e) { Dispatcher.Invoke(() => { LoadingSpinner.Visibility = Visibility.Hidden; LoadingSpinner.Stop(); HwVer.TextDetail = e.HardwareVersion; SwVer.TextDetail = e.SoftwareVersion; TouchFwVer.TextDetail = e.TouchSoftwareVersion; BtAddr.TextDetail = $"{Left}: {e.LeftBluetoothAddress}, {Right}: {e.RightBluetoothAddress}"; Proximity.TextDetail = $"{Left}: {e.LeftProximity:N}, {Right}: {e.RightProximity:N}"; Thermo.TextDetail = $"{Left}: {e.LeftThermistor:N} °C, {Right}: {e.RightThermistor:N} °C"; AdcSoc.TextDetail = $"{Left}: {e.LeftAdcSOC:N}%, {Right}: {e.RightAdcSOC:N}%"; AdcVoltage.TextDetail = $"{Left}: {e.LeftAdcVCell:N}V, {Right}: {e.RightAdcVCell:N}V"; AdcCurrent.TextDetail = $"{Left}: {e.LeftAdcCurrent:N}mA, {Right}: {e.RightAdcCurrent:N}mA"; Hall.TextDetail = $"{Left}: {e.LeftHall}, {Right}: {e.RightHall}"; }); }
public override async void OnPageShown() { SetWarning(false); await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.DEBUG_GET_ALL_DATA); _refreshTimer.Start(); _caseLabel.IsVisible = BluetoothImpl.Instance.DeviceSpec.Supports(IDeviceSpec.Feature.CaseBattery); /* Initial properties */ if (_lastGetAllDataParser == null) { var stub = new DebugGetAllDataParser { LeftAdcCurrent = 0, LeftAdcSOC = 0, LeftAdcVCell = 0, LeftThermistor = 0, RightAdcCurrent = 0, RightAdcSOC = 0, RightAdcVCell = 0, RightThermistor = 0 }; UpdateDetails(stub); } UpdateList(); string type = "Bud"; if (BluetoothImpl.Instance.ActiveModel == Models.BudsLive) { type = "Bean"; } else if (BluetoothImpl.Instance.ActiveModel == Models.BudsPro) { type = "Pro"; } _findMyGear.Source = (IImage?)Application.Current.FindResource($"FindMyGear{type}"); _touch.Source = (IImage?)Application.Current.FindResource($"Touch{type}"); _loadingSpinner.IsVisible = !BluetoothImpl.Instance.IsConnected; }
private void InstanceOnGetAllDataResponse(object sender, DebugGetAllDataParser e) { UpdateDashboard(e); }
private void Instance_GetAllDataResponse(object sender, DebugGetAllDataParser e) { Settings.Default.LastSwVersion = e.SoftwareVersion; Settings.Default.Save(); }
private void UpdateDetails(DebugGetAllDataParser p) { BatteryVoltLeft.Content = $"{p.LeftAdcVCell:N}V"; BatteryVoltRight.Content = $"{p.RightAdcVCell:N}V"; if (BluetoothService.Instance.ActiveModel == Model.Buds) { BatteryCurrentLeft.Content = $"{p.LeftAdcCurrent:N}mA"; BatteryCurrentRight.Content = $"{p.RightAdcCurrent:N}mA"; if (Properties.Settings.Default.UseFahrenheit) { BatteryTemperatureLeft.Content = $"{((9.0 / 5.0) * p.LeftThermistor) + 32:N} °F"; BatteryTemperatureRight.Content = $"{((9.0 / 5.0) * p.RightThermistor) + 32:N} °F"; } else { BatteryTemperatureLeft.Content = $"{p.LeftThermistor:N} °C"; BatteryTemperatureRight.Content = $"{p.RightThermistor:N} °C"; } } else { //Switch positions for a better layout if (Properties.Settings.Default.UseFahrenheit) { BatteryCurrentLeft.Content = $"{((9.0 / 5.0) * p.LeftThermistor) + 32:N} °F"; BatteryCurrentRight.Content = $"{((9.0 / 5.0) * p.RightThermistor) + 32:N} °F"; } else { BatteryCurrentLeft.Content = $"{p.LeftThermistor:N} °C"; BatteryCurrentRight.Content = $"{p.RightThermistor:N} °C"; } } Visibility leftSide = p.LeftAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; Visibility rightSide = p.RightAdcSOC <= 0 ? Visibility.Hidden : Visibility.Visible; BatteryVoltLeft.Visibility = leftSide; BatteryVoltRight.Visibility = rightSide; BatteryCurrentLeft.Visibility = leftSide; BatteryCurrentRight.Visibility = rightSide; BatteryTemperatureLeft.Visibility = leftSide; BatteryTemperatureRight.Visibility = rightSide; BatteryIconLeft.Visibility = leftSide; BatteryIconRight.Visibility = rightSide; BatteryPercentageLeft.Visibility = leftSide; BatteryPercentageRight.Visibility = rightSide; if (leftSide == Visibility.Visible) { LeftIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0]["LeftBudConnected"]; } else { LeftIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0]["LeftBudDisconnected"]; } if (rightSide == Visibility.Visible) { RightIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0]["RightBudConnected"]; } else { RightIcon.Source = (ImageSource)Application.Current.Resources.MergedDictionaries[0]["RightBudDisconnected"]; } }