diff --git a/lib/pages/medical/my_trackers/weight_scale_ble.dart b/lib/pages/medical/my_trackers/weight_scale_ble.dart index 4329dd77..0f966c42 100644 --- a/lib/pages/medical/my_trackers/weight_scale_ble.dart +++ b/lib/pages/medical/my_trackers/weight_scale_ble.dart @@ -196,7 +196,7 @@ class _WeightScaleBLEState extends State { // Write user data to fff2 await Future.delayed(Duration(milliseconds: 1000)).then((value) async { - characteristic.write([0x81, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x19, 0x01, 0x00, 0x00], withoutResponse: true).then((value) { + characteristic.write([0x81, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0x19, 0x01, 0x00, 0x00], withoutResponse: true).then((value) { print("----fff2 user data written----"); }); @@ -225,20 +225,21 @@ class _WeightScaleBLEState extends State { } } - void parseResultData() { - // resultSet1 = "42;0;1;0;0;0;0;65;9;b0;d2;0;7f;3;44;0;ac;1;cc;0"; - // resultSet2 = "42;1;32;0;2c;0;1;3;84;9;1b;0;29;2;9c;0;10;0;e9"; + String adjustHexString(String value) { + return value.length == 1 ? "0" + value : value; + } + void parseResultData() { List hexStringResSet1 = resultSet1.split(";"); List hexStringResSet2 = resultSet2.split(";"); - String hexStringWeight = hexStringResSet1[13] + hexStringResSet1[14]; - String hexStringBMI = hexStringResSet1[15] + hexStringResSet1[16]; - String hexStringFat = hexStringResSet2[3] + hexStringResSet2[4]; - String hexStringBone = hexStringResSet2[11] + hexStringResSet2[12]; - String hexStringWater = hexStringResSet2[13] + hexStringResSet2[14]; - String hexStringMuscle = hexStringResSet2[7] + hexStringResSet2[8]; - String hexStringBMR = hexStringResSet2[9] + hexStringResSet2[10]; + String hexStringWeight = adjustHexString(hexStringResSet1[13]) + adjustHexString(hexStringResSet1[14]); + String hexStringBMI = adjustHexString(hexStringResSet1[15]) + adjustHexString(hexStringResSet1[16]); + String hexStringFat = adjustHexString(hexStringResSet2[3]) + adjustHexString(hexStringResSet2[4]); + String hexStringBone = adjustHexString(hexStringResSet2[11]) + adjustHexString(hexStringResSet2[12]); + String hexStringWater = adjustHexString(hexStringResSet2[13]) + adjustHexString(hexStringResSet2[14]); + String hexStringMuscle = adjustHexString(hexStringResSet2[7]) + adjustHexString(hexStringResSet2[8]); + String hexStringBMR = adjustHexString(hexStringResSet2[9]) + adjustHexString(hexStringResSet2[10]); print((int.parse(hexStringWeight, radix: 16) * 0.1).toStringAsFixed(1)); print((int.parse(hexStringBMI, radix: 16) * 0.1).toStringAsFixed(1));