Commit c646eca

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2024-06-15 15:08:12
test correct decoder
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 573a48e
Changed files (2)
app/lib/bluetooth/ble_read_cubit.dart
@@ -160,9 +160,9 @@ class BleReadCubit extends Cubit<BleReadState> {
     final indicationListener = characteristic
       .onValueReceived.listen((data) {
         Log.trace('BleReadCubit data indicated: $data');
-        final record = CharacteristicDecoder.decodeMeasurement(data);
+        final record = CharacteristicDecoder.decodeMeasurementV2(data);
         Log.trace('BleReadCubit decoded $record');
-        emit(BleReadSuccess(record));
+        emit(BleReadSuccess(record!));
       });
     await characteristic.setNotifyValue(true);
 
app/lib/bluetooth/characteristic_decoder.dart
@@ -1,6 +1,5 @@
 import 'dart:math';
 
-import 'package:blood_pressure_app/bluetooth/characteristics/ble_measurement_data.dart';
 import 'package:blood_pressure_app/logging.dart';
 import 'package:blood_pressure_app/model/blood_pressure/record.dart';
 
@@ -14,7 +13,7 @@ class CharacteristicDecoder {
     return BloodPressureRecord(DateTime.now(), data[1], data[3], data[14], '');
   }
 
-  static BleMeasurementData? decodeMeasurementV2(List<int> data) {
+  static BloodPressureRecord? decodeMeasurementV2(List<int> data) {
     // https://github.com/NordicSemiconductor/Kotlin-BLE-Library/blob/6b565e59de21dfa53ef80ff8351ac4a4550e8d58/profile/src/main/java/no/nordicsemi/android/kotlin/ble/profile/bps/BloodPressureMeasurementParser.kt
 
     // Reading specific bits: `(byte & (1 < bitIdx))`
@@ -49,14 +48,24 @@ class CharacteristicDecoder {
     offset += 2;
     final double? diastolic = _readSFloat(data, offset);
     offset += 2;
-    final double? pulsePressure = _readSFloat(data, offset);
+    final double? meanArterialPressure = _readSFloat(data, offset);
     offset += 2;
 
-    if (systolic == null || diastolic == null || pulsePressure == null) {
-      Log.trace('BleMeasurementData decodeMeasurement: Unable to decode required values sys, dia, and pulsePressure, $data.');
+    if (systolic == null || diastolic == null || meanArterialPressure == null) {
+      Log.trace('BleMeasurementData decodeMeasurement: Unable to decode required values sys, dia, and meanArterialPressure, $data.');
       return null;
     }
 
+    return BloodPressureRecord(DateTime.now(), systolic!.toInt(), diastolic!.toInt(), -1, '');
+    /*return BleMeasurementData(
+      systolic: systolic,
+      diastolic: diastolic,
+      meanArterialPressure: meanArterialPressure,
+      isMMHG: isMMHG,
+      pulseRate: -1,
+      userID: -1,
+      status: BleaM
+    );*/
   }
 }