public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } } else if (parser.GetType() == typeof(StatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } } else if (parser.GetType() == typeof(DebugGetAllDataParser)) { var p = (DebugGetAllDataParser)parser; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Side.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Side.R); Dispatcher.Invoke(() => { UpdateDetails(p); }); } }
public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { var p = (ExtendedStatusUpdateParser)parser; UpdateBatteryPercentage(p.BatteryL, Side.L); UpdateBatteryPercentage(p.BatteryR, Side.R); DisableEarbudIcon(p.BatteryL <= 0, p.BatteryR <= 0); EarbudWarning(p.WearState == WearStates.L || p.WearState == WearStates.Both, p.WearState == WearStates.R || p.WearState == WearStates.Both); } else if (parser.GetType() == typeof(StatusUpdateParser)) { var p = (StatusUpdateParser)parser; UpdateBatteryPercentage(p.BatteryL, Side.L); UpdateBatteryPercentage(p.BatteryR, Side.R); DisableEarbudIcon(p.BatteryL <= 0, p.BatteryR <= 0); EarbudWarning(p.WearState == WearStates.L || p.WearState == WearStates.Both, p.WearState == WearStates.R || p.WearState == WearStates.Both); } }
public static BaseMessageParser BuildParser(SPPMessage msg) { BaseMessageParser b = null; for (int i = 0; i < RegisteredParsers.Length; i++) { var act = (object)Activator.CreateInstance(RegisteredParsers[i]); if (act.GetType() == RegisteredParsers[i]) { BaseMessageParser parser = (BaseMessageParser)act; if (parser.HandledType == msg.Id) { SentrySdk.ConfigureScope(scope => { scope.SetTag("msg-data-available", "true"); scope.SetExtra("msg-type", msg.Type.ToString()); scope.SetExtra("msg-id", msg.Id); scope.SetExtra("msg-size", msg.Size); scope.SetExtra("msg-total-size", msg.TotalPacketSize); scope.SetExtra("msg-crc16", msg.CRC16); scope.SetExtra("msg-payload", Hex.Dump(msg.Payload, 512, false, false, false)); }); parser.ParseMessage(msg); b = parser; break; } } } return(b); }
public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus || BluetoothService.Instance.ActiveModel == Model.BudsLive) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; UpdatePlusPlacement(p.PlacementL, p.PlacementR); _lastPlacementL = p.PlacementL; _lastPlacementR = p.PlacementR; BatteryCase.Content = BluetoothService.Instance.ActiveModel == Model.Buds ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = BluetoothService.Instance.ActiveModel == Model.Buds ? Visibility.Hidden : Visibility.Visible; } if (BluetoothService.Instance.ActiveModel == Model.BudsLive) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; AncToggle.SetChecked(p.NoiceCancelling); } }); } else if (parser.GetType() == typeof(StatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus || BluetoothService.Instance.ActiveModel == Model.BudsLive) { StatusUpdateParser p = (StatusUpdateParser)parser; UpdatePlusPlacement(p.PlacementL, p.PlacementR); _lastPlacementL = p.PlacementL; _lastPlacementR = p.PlacementR; BatteryCase.Content = BluetoothService.Instance.ActiveModel == Model.Buds ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = BluetoothService.Instance.ActiveModel == Model.Buds ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(DebugGetAllDataParser)) { var p = (DebugGetAllDataParser)parser; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Side.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Side.R); Dispatcher.Invoke(() => { UpdateDetails(p); }); } }
public void UpdateDashboard(BaseMessageParser parser) { if (parser.GetType() == typeof(ExtendedStatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus) { ExtendedStatusUpdateParser p = (ExtendedStatusUpdateParser)parser; BatteryTemperatureLeft.Content = p.PlacementL.ToString(); BatteryTemperatureRight.Content = p.PlacementR.ToString(); BatteryCase.Content = p.BatteryCase <= 0 ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = p.BatteryCase <= 0 ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(StatusUpdateParser)) { if (_allowGetAllResponse) { BluetoothService.Instance.SendAsync(SPPMessageBuilder.Info.GetAllData()); } Dispatcher.Invoke(() => { if (BluetoothService.Instance.ActiveModel == Model.BudsPlus) { StatusUpdateParser p = (StatusUpdateParser)parser; BatteryTemperatureLeft.Content = p.PlacementL.ToString(); BatteryTemperatureRight.Content = p.PlacementR.ToString(); BatteryCase.Content = p.BatteryCase <= 0 ? "" : $"{p.BatteryCase}%"; CaseLabel.Visibility = p.BatteryCase <= 0 ? Visibility.Hidden : Visibility.Visible; } }); } else if (parser.GetType() == typeof(DebugGetAllDataParser)) { var p = (DebugGetAllDataParser)parser; UpdateBatteryPercentage((int)Math.Round(p.LeftAdcSOC), Side.L); UpdateBatteryPercentage((int)Math.Round(p.RightAdcSOC), Side.R); Dispatcher.Invoke(() => { UpdateDetails(p); }); } }
public static BaseMessageParser BuildParser(SPPMessage msg) { BaseMessageParser b = null; for (int i = 0; i < RegisteredParsers.Length; i++) { var act = (object)Activator.CreateInstance(RegisteredParsers[i]); if (act.GetType() == RegisteredParsers[i]) { BaseMessageParser parser = (BaseMessageParser)act; if (parser.HandledType == msg.Id) { parser.ParseMessage(msg); b = parser; break; } } } return(b); }
public static BaseMessageParser?BuildParser(SPPMessage msg) { BaseMessageParser?b = null; for (int i = 0; i < RegisteredParsers.Length; i++) { var act = Activator.CreateInstance(RegisteredParsers[i]); if (act?.GetType() == RegisteredParsers[i]) { BaseMessageParser parser = (BaseMessageParser)act; if (parser.HandledType == msg.Id) { SentrySdk.ConfigureScope(scope => { scope.SetTag("msg-data-available", "true"); scope.SetExtra("msg-type", msg.Type.ToString()); scope.SetExtra("msg-id", msg.Id); scope.SetExtra("msg-size", msg.Size); scope.SetExtra("msg-total-size", msg.TotalPacketSize); scope.SetExtra("msg-crc16", msg.Crc16); scope.SetExtra("msg-payload", HexUtils.Dump(msg.Payload, 512, false, false, false)); }); parser.ParseMessage(msg); b = parser; break; } } } if (b != null) { foreach (var hook in ScriptManager.Instance.DecoderHooks) { hook?.OnDecoderCreated(msg, ref b); } } return(b); }
public void MessageReceiver(object sender, SPPMessage e) { BaseMessageParser parser = SPPMessageParserFactory.BuildParser(e); AnyMessageReceived?.Invoke(this, parser); switch (e.Id) { case SPPMessage.MessageIds.MSG_ID_RESET: ResetResponse?.Invoke(this, ((ResetResponseParser)parser).ResultCode); break; case SPPMessage.MessageIds.MSG_ID_FOTA_DEVICE_INFO_SW_VERSION: SwVersionResponse?.Invoke(this, ((SoftwareVersionOTAParser)parser).SoftwareVersion); break; case SPPMessage.MessageIds.MSG_ID_BATTERY_TYPE: BatteryTypeResponse?.Invoke(this, (BatteryTypeParser)parser); break; case SPPMessage.MessageIds.MSG_ID_AMBIENT_MODE_UPDATED: AmbientEnabledUpdateResponse?.Invoke(this, ((AmbientModeUpdateParser)parser).Enabled); break; case SPPMessage.MessageIds.MSG_ID_DEBUG_BUILD_INFO: BuildStringResponse?.Invoke(this, ((DebugBuildInfoParser)parser).BuildString); break; case SPPMessage.MessageIds.MSG_ID_DEBUG_GET_ALL_DATA: GetAllDataResponse?.Invoke(this, (DebugGetAllDataParser)parser); break; case SPPMessage.MessageIds.MSG_ID_DEBUG_SERIAL_NUMBER: SerialNumberResponse?.Invoke(this, (DebugSerialNumberParser)parser); break; case SPPMessage.MessageIds.MSG_ID_EXTENDED_STATUS_UPDATED: ExtendedStatusUpdate?.Invoke(this, (ExtendedStatusUpdateParser)parser); break; case SPPMessage.MessageIds.MSG_ID_FIND_MY_EARBUDS_STOP: FindMyGearStopped?.Invoke(this, null); break; case SPPMessage.MessageIds.MSG_ID_RESP: GenericResponse?.Invoke(this, (GenericResponseParser)parser); break; case SPPMessage.MessageIds.MSG_ID_SELF_TEST: SelfTestResponse?.Invoke(this, (SelfTestParser)parser); break; case SPPMessage.MessageIds.MSG_ID_SET_TOUCHPAD_OTHER_OPTION: OtherOption?.Invoke(this, ((SetOtherOptionParser)parser).OptionType); break; case SPPMessage.MessageIds.MSG_ID_STATUS_UPDATED: StatusUpdate?.Invoke(this, (StatusUpdateParser)parser); break; case SPPMessage.MessageIds.MSG_ID_USAGE_REPORT: UsageReport?.Invoke(this, (UsageReportParser)parser); break; case SPPMessage.MessageIds.MSG_ID_MUTE_EARBUD_STATUS_UPDATED: FindMyGearMuteUpdate?.Invoke(this, (MuteUpdateParser)parser); break; case SPPMessage.MessageIds.MSG_ID_ANC_STATUS_UPDATED: NoiseCancellingUpdated?.Invoke(this, ((NoiseCancellingUpdatedParser)parser).Enabled); break; } }
private void InstanceOnAnyMessageReceived(object sender, BaseMessageParser e) { _mainPage.SetWarning(false); _mainPage.SetLoaderVisible(false); }
private void Awake() { _defaultServerMessageParser = gameObject.AddComponent <DefaultServerMessageParser>(); _defaultClientMessageParser = gameObject.AddComponent <DefaultClientMessageParser>(); }