From 9f3227086afe32c632a7065a074e2d2603aefa69 Mon Sep 17 00:00:00 2001 From: Krisjans Blukis Date: Sat, 7 Aug 2021 19:19:10 +0300 Subject: [PATCH] BluetoothSwpSBF77: Implement request to perform measurement (Beurer BF950 and SBF77); --- .../openscale/core/bluetooth/BluetoothSwpSBF77.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothSwpSBF77.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothSwpSBF77.java index c4d71399..d23b13be 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothSwpSBF77.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothSwpSBF77.java @@ -36,6 +36,7 @@ class BluetoothGattUuidSBF77 extends BluetoothGattUuid { public static final UUID CHARACTERISTIC_SBF77_USER_LIST = fromShortCode(0x0001); public static final UUID CHARACTERISTIC_SBF77_INITIALS = fromShortCode(0x0002); public static final UUID CHARACTERISTIC_SBF77_ACTIVITY_LEVEL = fromShortCode(0x0004); + public static final UUID CHARACTERISTIC_SBF77_TAKE_MEASUREMENT = fromShortCode(0x0006); } public class BluetoothSwpSBF77 extends BluetoothStandardWeightProfile { @@ -70,6 +71,15 @@ public class BluetoothSwpSBF77 extends BluetoothStandardWeightProfile { BluetoothGattUuidSBF77.CHARACTERISTIC_SBF77_ACTIVITY_LEVEL, parser.getValue()); } + @Override + protected void requestMeasurement() { + BluetoothBytesParser parser = new BluetoothBytesParser(new byte[]{0}); + parser.setIntValue(0x00, FORMAT_UINT8, 0); + Timber.d(String.format("requestMeasurement 0x0006 magic: 0x00")); + writeBytes(BluetoothGattUuidSBF77.SERVICE_CUSTOM_SBF77, + BluetoothGattUuidSBF77.CHARACTERISTIC_SBF77_TAKE_MEASUREMENT, parser.getValue()); + } + @Override protected void setNotifyVendorSpecificUserList() { if (setNotificationOn(BluetoothGattUuidSBF77.SERVICE_CUSTOM_SBF77,