async void BPResultCallback(BPResult res) { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { TestDateTime = res.DateTimeOfTest.ToString(); ResultSys = res.SYS.ToString(); ResultDia = res.DIA.ToString(); ResultPulse = res.Pulse.ToString(); OnPropertyChanged("TestDateTime"); OnPropertyChanged("ResultSys"); OnPropertyChanged("ResultDia"); OnPropertyChanged("ResultPulse"); }); }
private void Characteristic_ValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args) { byte[] data; IBuffer buffer = args.CharacteristicValue; BPResult bpResult = new BPResult(); try { CryptographicBuffer.CopyToByteArray(buffer, out data); string rawdata = ""; //"170-85-15-8-1" int datapos = 0; for (int i = 0; i < data.Length; i++) { if (i + 4 >= data.Length) { break; } if (data[i] == 170 && data[i + 1] == 85 && data[i + 2] == 15 && data[i + 3] == 8 && data[i + 4] == 1) { datapos = i + 4; break; } } for (int i = 0; i < data.Length; i++) { rawdata += data[i].ToString() + "-"; } if (datapos > 0 && datapos < data.Length - 2) { MainPage.TestresultModel.OxymeterData(data[datapos + 1].ToString(), data[datapos + 2].ToString()); } MainPage.TestresultModel.LogMessage(rawdata); } catch (Exception ex) { MainPage.mainPage.commChannel.SendMessageToMCC(string.Format(CommunicationCommands.PUSLEOXIMETERCONNECTIONMSG, $"Error from OXymeter data reading : {ex.Message}")); MainPage.TestresultModel.NotifyStatusMessage?.Invoke($"Error from OXymeter data reading : {ex.Message}", 2); } }
private void Characteristic_BateryLevelValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args) { byte[] data; IBuffer buffer = args.CharacteristicValue; BPResult bpResult = new BPResult(); try { CryptographicBuffer.CopyToByteArray(buffer, out data); bpResult.SYS = data[1].ToString(); bpResult.DIA = data[3].ToString(); bpResult.Pulse = data[14].ToString(); bpResult.DateTimeOfTest = DateTime.Now; MainPage.TestresultModel.BPCuff(bpResult); } catch (Exception ex) { NotifyStatusMessage?.Invoke($"Error : {ex.Message}", 2); } }