From 2adfcc5bd73c2baedcd72310187c24cb33f6aa08 Mon Sep 17 00:00:00 2001 From: fabjuuuh Date: Mon, 19 Oct 2020 15:13:27 +0200 Subject: [PATCH] fix --- DoctorApp/ViewModels/ClientInfoViewModel.cs | 26 ++++++++++++++------- DoctorApp/ViewModels/MainViewModel.cs | 4 ++-- Hashing/DataParser.cs | 25 ++++++++++++++++++++ 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/DoctorApp/ViewModels/ClientInfoViewModel.cs b/DoctorApp/ViewModels/ClientInfoViewModel.cs index ae3d5dd..7cda6a4 100644 --- a/DoctorApp/ViewModels/ClientInfoViewModel.cs +++ b/DoctorApp/ViewModels/ClientInfoViewModel.cs @@ -87,11 +87,20 @@ namespace DoctorApp.ViewModels { //TODO //Parsen van de data you fuck - PatientInfo.BPM = bytes[1]; - if (MySelectedItem == "BPM") + if(bytes[0] == 0x00) { - Chart.NewValue(PatientInfo.BPM); + } + else + { + PatientInfo.BPM = bytes[1]; + if (MySelectedItem == "BPM") + { + Chart.NewValue(PatientInfo.BPM); + } + + } + } @@ -108,17 +117,18 @@ namespace DoctorApp.ViewModels } PatientInfo.Distance = bytes[3]; PatientInfo.Speed = (bytes[4] | (bytes[5] << 8)) * 0.01; + if (MySelectedItem == "Speed") + { + Chart.NewValue(PatientInfo.Speed); + } break; case 0x19: PatientInfo.Acc_Power = bytes[3] | (bytes[4] << 8); PatientInfo.Curr_Power = (bytes[5]) | (bytes[6] & 0b00001111) << 8; break; default: - throw new Exception(); - } - if (MySelectedItem == "Speed") - { - Chart.NewValue(PatientInfo.Speed); + Debug.WriteLine("rip"); + break; } } diff --git a/DoctorApp/ViewModels/MainViewModel.cs b/DoctorApp/ViewModels/MainViewModel.cs index 0c41d33..e61b202 100644 --- a/DoctorApp/ViewModels/MainViewModel.cs +++ b/DoctorApp/ViewModels/MainViewModel.cs @@ -56,7 +56,7 @@ namespace DoctorApp.ViewModels { if(item.PatientInfo.Username == username) { - item.BikeData(bytes); + item.BikeData(DataParser.getDataWithoutName(bytes,0,8)); } } } @@ -68,7 +68,7 @@ namespace DoctorApp.ViewModels { if (item.PatientInfo.Username == username) { - item.BikeData(bytes); + item.BikeData(DataParser.getDataWithoutName(bytes, 0,2)); } } } diff --git a/Hashing/DataParser.cs b/Hashing/DataParser.cs index 17360a0..8bf1c44 100644 --- a/Hashing/DataParser.cs +++ b/Hashing/DataParser.cs @@ -41,6 +41,12 @@ namespace Util return Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(json)); } + + internal static string getNameFromBytesBike(byte[] bytes) + { + return getName(bytes, 8, bytes.Length - 8); + } + /// /// converts the given string parameter into a message using our protocol. /// @@ -59,6 +65,18 @@ namespace Util return Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(json)); } + internal static string getNameFromBytesBPM(byte[] bytes) + { + return getName(bytes, 2, bytes.Length - 2); + } + + private static string getName(byte[] bytes , int offset, int lenght) + { + byte[] nameArray = new byte[lenght]; + Array.Copy(bytes, offset, nameArray, 0, lenght); + return Encoding.UTF8.GetString(nameArray); + } + /// /// creates a message for when the doctor wants to log in. /// @@ -441,6 +459,13 @@ namespace Util return getJsonMessage(MESSAGE, data); } + public static byte[] getDataWithoutName(byte[] bytes, int offset, int length) + { + byte[] data = new byte[length]; + Array.Copy(bytes, offset, data, 0, length); + return data; + } + } }