1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-19 23:12:12 +02:00

Use DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION

This commit is contained in:
Erik Johansson
2018-11-15 21:42:02 +01:00
parent 439ade356e
commit a2eb34b11a
13 changed files with 44 additions and 43 deletions

View File

@@ -61,7 +61,6 @@ public class BluetoothBeurerSanitas extends BluetoothCommunication {
UUID.fromString("00002A2A-0000-1000-8000-00805F9B34FB"); UUID.fromString("00002A2A-0000-1000-8000-00805F9B34FB");
private static final UUID PNP_ID = private static final UUID PNP_ID =
UUID.fromString("00002A50-0000-1000-8000-00805F9B34FB"); UUID.fromString("00002A50-0000-1000-8000-00805F9B34FB");
private static final UUID DEVICE_NAME = private static final UUID DEVICE_NAME =
UUID.fromString("00002A00-0000-1000-8000-00805F9B34FB"); UUID.fromString("00002A00-0000-1000-8000-00805F9B34FB");
private static final UUID APPEARANCE = private static final UUID APPEARANCE =
@@ -78,9 +77,6 @@ public class BluetoothBeurerSanitas extends BluetoothCommunication {
private static final UUID SERVICE_CHANGED = private static final UUID SERVICE_CHANGED =
UUID.fromString("00002A05-0000-1000-8000-00805F9B34FB"); UUID.fromString("00002A05-0000-1000-8000-00805F9B34FB");
private static final UUID CLIENT_CHARACTERISTICS_CONFIGURATION =
UUID.fromString("00002902-0000-1000-8000-00805F9B34FB");
private static final UUID CUSTOM_SERVICE_1 = private static final UUID CUSTOM_SERVICE_1 =
UUID.fromString("0000FFE0-0000-1000-8000-00805F9B34FB"); UUID.fromString("0000FFE0-0000-1000-8000-00805F9B34FB");
private static final UUID CUSTOM_CHARACTERISTIC_1 = // read-write private static final UUID CUSTOM_CHARACTERISTIC_1 = // read-write
@@ -154,7 +150,8 @@ public class BluetoothBeurerSanitas extends BluetoothCommunication {
seenUsers = new TreeSet<>(); seenUsers = new TreeSet<>();
// Setup notification // Setup notification
setNotificationOn(CUSTOM_SERVICE_1, CUSTOM_CHARACTERISTIC_WEIGHT, CLIENT_CHARACTERISTICS_CONFIGURATION); setNotificationOn(CUSTOM_SERVICE_1, CUSTOM_CHARACTERISTIC_WEIGHT,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
// Say "Hello" to the scale // Say "Hello" to the scale

View File

@@ -32,7 +32,6 @@ import timber.log.Timber;
public class BluetoothCustomOpenScale extends BluetoothCommunication { public class BluetoothCustomOpenScale extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000ffe0-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000ffe0-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000ffe1-0000-1000-8000-00805f9b34fb"); // Bluetooth Modul HM-10 private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000ffe1-0000-1000-8000-00805f9b34fb"); // Bluetooth Modul HM-10
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private String string_data = new String(); private String string_data = new String();
@@ -49,7 +48,8 @@ public class BluetoothCustomOpenScale extends BluetoothCommunication {
protected boolean nextInitCmd(int stateNr) { protected boolean nextInitCmd(int stateNr) {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();

View File

@@ -33,7 +33,7 @@ public class BluetoothDigooDGSO38H extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb");
private final UUID EXTRA_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff2-0000-1000-8000-00805f9b34fb"); private final UUID EXTRA_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff2-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_DESCRIPTOR = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
public BluetoothDigooDGSO38H(Context context) { public BluetoothDigooDGSO38H(Context context) {
super(context); super(context);
} }
@@ -61,7 +61,8 @@ public class BluetoothDigooDGSO38H extends BluetoothCommunication {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
//Tell device to send us weight measurements //Tell device to send us weight measurements
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_DESCRIPTOR); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
return false; return false;
} }

View File

@@ -32,7 +32,6 @@ public class BluetoothExcelvanCF36xBLE extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000FFF0-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000FFF0-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000FFF1-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000FFF1-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_CUSTOM0_CHARACTERISTIC = UUID.fromString("0000FFF4-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_CUSTOM0_CHARACTERISTIC = UUID.fromString("0000FFF4-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private byte[] receivedData = new byte[]{}; private byte[] receivedData = new byte[]{};
@@ -96,7 +95,8 @@ public class BluetoothExcelvanCF36xBLE extends BluetoothCommunication {
writeBytes(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, configBytes); writeBytes(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, configBytes);
break; break;
case 1: case 1:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_CUSTOM0_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_CUSTOM0_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
default: default:
return false; return false;

View File

@@ -32,7 +32,6 @@ public class BluetoothExingtechY1 extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("f433bd80-75b8-11e2-97d9-0002a5d5c51b"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("f433bd80-75b8-11e2-97d9-0002a5d5c51b");
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("1a2ea400-75b9-11e2-be05-0002a5d5c51b"); // read, notify private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("1a2ea400-75b9-11e2-be05-0002a5d5c51b"); // read, notify
private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("29f11080-75b9-11e2-8bf6-0002a5d5c51b"); // write only private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("29f11080-75b9-11e2-8bf6-0002a5d5c51b"); // write only
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
public BluetoothExingtechY1(Context context) { public BluetoothExingtechY1(Context context) {
super(context); super(context);
@@ -47,7 +46,8 @@ public class BluetoothExingtechY1 extends BluetoothCommunication {
protected boolean nextInitCmd(int stateNr) { protected boolean nextInitCmd(int stateNr) {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
final ScaleUser selectedUser = OpenScale.getInstance().getSelectedScaleUser(); final ScaleUser selectedUser = OpenScale.getInstance().getSelectedScaleUser();

View File

@@ -29,7 +29,6 @@ public class BluetoothHesley extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000fff0-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff4-0000-1000-8000-00805f9b34fb"); // read, notify private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff4-0000-1000-8000-00805f9b34fb"); // read, notify
private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb"); // write only private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb"); // write only
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
public BluetoothHesley(Context context) { public BluetoothHesley(Context context) {
super(context); super(context);
@@ -44,7 +43,8 @@ public class BluetoothHesley extends BluetoothCommunication {
protected boolean nextInitCmd(int stateNr) { protected boolean nextInitCmd(int stateNr) {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
byte[] magicBytes = {(byte)0xa5, (byte)0x01, (byte)0x2c, (byte)0xab, (byte)0x50, (byte)0x5a, (byte)0x29}; byte[] magicBytes = {(byte)0xa5, (byte)0x01, (byte)0x2c, (byte)0xab, (byte)0x50, (byte)0x5a, (byte)0x29};

View File

@@ -36,7 +36,6 @@ public class BluetoothMGB extends BluetoothCommunication {
private static final UUID uuid_service = UUID.fromString("0000ffb0-0000-1000-8000-00805f9b34fb"); private static final UUID uuid_service = UUID.fromString("0000ffb0-0000-1000-8000-00805f9b34fb");
private static final UUID uuid_char_cfg = UUID.fromString("0000ffb1-0000-1000-8000-00805f9b34fb"); private static final UUID uuid_char_cfg = UUID.fromString("0000ffb1-0000-1000-8000-00805f9b34fb");
private static final UUID uuid_char_ctrl = UUID.fromString("0000ffb2-0000-1000-8000-00805f9b34fb"); private static final UUID uuid_char_ctrl = UUID.fromString("0000ffb2-0000-1000-8000-00805f9b34fb");
private static final UUID uuid_desc_ctrl = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private Calendar now; private Calendar now;
@@ -87,7 +86,8 @@ public class BluetoothMGB extends BluetoothCommunication {
protected boolean nextInitCmd(int stateNr) { protected boolean nextInitCmd(int stateNr) {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
setNotificationOn(uuid_service, uuid_char_ctrl, uuid_desc_ctrl); setNotificationOn(uuid_service, uuid_char_ctrl,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
now = Calendar.getInstance(); now = Calendar.getInstance();
user = OpenScale.getInstance().getSelectedScaleUser(); user = OpenScale.getInstance().getSelectedScaleUser();
break; break;

View File

@@ -32,7 +32,6 @@ public class BluetoothMedisanaBS44x extends BluetoothCommunication {
private final UUID CUSTOM3_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a20-0000-1000-8000-00805f9b34fb"); // read-only private final UUID CUSTOM3_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a20-0000-1000-8000-00805f9b34fb"); // read-only
private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a81-0000-1000-8000-00805f9b34fb"); // write-only private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a81-0000-1000-8000-00805f9b34fb"); // write-only
private final UUID CUSTOM5_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a82-0000-1000-8000-00805f9b34fb"); // indication, read-only private final UUID CUSTOM5_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00008a82-0000-1000-8000-00805f9b34fb"); // indication, read-only
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private ScaleMeasurement btScaleMeasurement; private ScaleMeasurement btScaleMeasurement;
@@ -59,15 +58,18 @@ public class BluetoothMedisanaBS44x extends BluetoothCommunication {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
// set indication on for feature characteristic // set indication on for feature characteristic
setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, FEATURE_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, FEATURE_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
// set indication on for weight measurement // set indication on for weight measurement
setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 2: case 2:
// set indication on for custom5 measurement // set indication on for custom5 measurement
setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, CUSTOM5_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setIndicationOn(WEIGHT_MEASUREMENT_SERVICE, CUSTOM5_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 3: case 3:
// send magic number to receive weight data // send magic number to receive weight data

View File

@@ -44,7 +44,6 @@ public class BluetoothMiScale extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00002a9d-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC = UUID.fromString("00002a9d-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC = UUID.fromString("00002a2f-0000-3512-2118-0009af100700"); private final UUID WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC = UUID.fromString("00002a2f-0000-3512-2118-0009af100700");
private final UUID WEIGHT_MEASUREMENT_TIME_CHARACTERISTIC = UUID.fromString("00002a2b-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_TIME_CHARACTERISTIC = UUID.fromString("00002a2b-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
public BluetoothMiScale(Context context) { public BluetoothMiScale(Context context) {
super(context); super(context);
@@ -122,7 +121,8 @@ public class BluetoothMiScale extends BluetoothCommunication {
break; break;
case 2: case 2:
// set notification on for weight measurement history // set notification on for weight measurement history
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 3: case 3:
// Set on history weight measurement // Set on history weight measurement
@@ -142,11 +142,13 @@ public class BluetoothMiScale extends BluetoothCommunication {
switch (stateNr) { switch (stateNr) {
case 0: case 0:
// set notification on for weight measurement history // set notification on for weight measurement history
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
// set notification on for weight measurement // set notification on for weight measurement
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 2: case 2:
// configure scale to get only last measurements // configure scale to get only last measurements
@@ -157,11 +159,13 @@ public class BluetoothMiScale extends BluetoothCommunication {
break; break;
case 3: case 3:
// set notification off for weight measurement history // set notification off for weight measurement history
setNotificationOff(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOff(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 4: case 4:
// set notification on for weight measurement history // set notification on for weight measurement history
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 5: case 5:
// invoke receiving history data // invoke receiving history data

View File

@@ -50,7 +50,6 @@ public class BluetoothMiScale2 extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000181b-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_SERVICE = UUID.fromString("0000181b-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC = UUID.fromString("00002a2f-0000-3512-2118-0009af100700"); private final UUID WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC = UUID.fromString("00002a2f-0000-3512-2118-0009af100700");
private final UUID WEIGHT_MEASUREMENT_TIME_CHARACTERISTIC = UUID.fromString("00002a2b-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_TIME_CHARACTERISTIC = UUID.fromString("00002a2b-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_BODY_COMPOSITION_FEATURE = UUID.fromString("00002a9b-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_BODY_COMPOSITION_FEATURE = UUID.fromString("00002a9b-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_BODY_COMPOSITION_MEASUREMENT = UUID.fromString("00002a9c-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_MEASUREMENT_BODY_COMPOSITION_MEASUREMENT = UUID.fromString("00002a9c-0000-1000-8000-00805f9b34fb");
@@ -118,7 +117,8 @@ public class BluetoothMiScale2 extends BluetoothCommunication {
break; break;
case 2: case 2:
// set notification on for weight measurement history // set notification on for weight measurement history
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
default: default:
return false; return false;
@@ -139,11 +139,13 @@ public class BluetoothMiScale2 extends BluetoothCommunication {
break; break;
case 1: case 1:
// set notification off for weight measurement history // set notification off for weight measurement history
setNotificationOff(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOff(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 2: case 2:
// set notification on for weight measurement history // set notification on for weight measurement history
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_HISTORY_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 3: case 3:
// invoke receiving history data // invoke receiving history data
@@ -173,7 +175,8 @@ public class BluetoothMiScale2 extends BluetoothCommunication {
break; break;
case 2: case 2:
// set notification on for body composition measurement // set notification on for body composition measurement
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_BODY_COMPOSITION_MEASUREMENT, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_BODY_COMPOSITION_MEASUREMENT,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
default: default:
return false; return false;

View File

@@ -36,7 +36,6 @@ public class BluetoothOneByone extends BluetoothCommunication {
private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC_BODY_COMPOSITION = UUID.fromString("0000fff4-0000-1000-8000-00805f9b34fb"); // notify private final UUID WEIGHT_MEASUREMENT_CHARACTERISTIC_BODY_COMPOSITION = UUID.fromString("0000fff4-0000-1000-8000-00805f9b34fb"); // notify
private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb"); // write only private final UUID CMD_MEASUREMENT_CHARACTERISTIC = UUID.fromString("0000fff1-0000-1000-8000-00805f9b34fb"); // write only
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
public BluetoothOneByone(Context context) { public BluetoothOneByone(Context context) {
@@ -54,7 +53,7 @@ public class BluetoothOneByone extends BluetoothCommunication {
case 0: case 0:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, setNotificationOn(WEIGHT_MEASUREMENT_SERVICE,
WEIGHT_MEASUREMENT_CHARACTERISTIC_BODY_COMPOSITION, WEIGHT_MEASUREMENT_CHARACTERISTIC_BODY_COMPOSITION,
WEIGHT_MEASUREMENT_CONFIG); BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 1: case 1:
ScaleUser currentUser = OpenScale.getInstance().getSelectedScaleUser(); ScaleUser currentUser = OpenScale.getInstance().getSelectedScaleUser();

View File

@@ -46,10 +46,6 @@ public class BluetoothTrisaBodyAnalyze extends BluetoothCommunication {
private static final UUID WEIGHT_SCALE_SERVICE_UUID = private static final UUID WEIGHT_SCALE_SERVICE_UUID =
UUID.fromString("00007802-0000-1000-8000-00805f9b34fb"); UUID.fromString("00007802-0000-1000-8000-00805f9b34fb");
// GATT descriptor.
private static final UUID CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_UUID =
UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
// GATT service characteristics. // GATT service characteristics.
private static final UUID MEASUREMENT_CHARACTERISTIC_UUID = private static final UUID MEASUREMENT_CHARACTERISTIC_UUID =
UUID.fromString("00008a21-0000-1000-8000-00805f9b34fb"); UUID.fromString("00008a21-0000-1000-8000-00805f9b34fb");
@@ -135,7 +131,7 @@ public class BluetoothTrisaBodyAnalyze extends BluetoothCommunication {
setIndicationOn( setIndicationOn(
WEIGHT_SCALE_SERVICE_UUID, WEIGHT_SCALE_SERVICE_UUID,
MEASUREMENT_CHARACTERISTIC_UUID, MEASUREMENT_CHARACTERISTIC_UUID,
CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_UUID); BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
return true; // more commands follow return true; // more commands follow
case 1: case 1:
// Register for notifications of the command upload characteristic. // Register for notifications of the command upload characteristic.
@@ -146,7 +142,7 @@ public class BluetoothTrisaBodyAnalyze extends BluetoothCommunication {
setIndicationOn( setIndicationOn(
WEIGHT_SCALE_SERVICE_UUID, WEIGHT_SCALE_SERVICE_UUID,
UPLOAD_COMMAND_CHARACTERISTIC_UUID, UPLOAD_COMMAND_CHARACTERISTIC_UUID,
CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_UUID); BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
// falls through // falls through
default: default:
return false; // no more commands return false; // no more commands

View File

@@ -40,8 +40,6 @@ public class BluetoothYunmaiSE_Mini extends BluetoothCommunication {
private final UUID WEIGHT_CMD_SERVICE = UUID.fromString("0000ffe5-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_CMD_SERVICE = UUID.fromString("0000ffe5-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_CMD_CHARACTERISTIC = UUID.fromString("0000ffe9-0000-1000-8000-00805f9b34fb"); private final UUID WEIGHT_CMD_CHARACTERISTIC = UUID.fromString("0000ffe9-0000-1000-8000-00805f9b34fb");
private final UUID WEIGHT_MEASUREMENT_CONFIG = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");
private boolean isMini; private boolean isMini;
public BluetoothYunmaiSE_Mini(Context context, boolean isMini) { public BluetoothYunmaiSE_Mini(Context context, boolean isMini) {
@@ -85,7 +83,8 @@ public class BluetoothYunmaiSE_Mini extends BluetoothCommunication {
writeBytes(WEIGHT_CMD_SERVICE, WEIGHT_CMD_CHARACTERISTIC, set_time); writeBytes(WEIGHT_CMD_SERVICE, WEIGHT_CMD_CHARACTERISTIC, set_time);
break; break;
case 2: case 2:
setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC, WEIGHT_MEASUREMENT_CONFIG); setNotificationOn(WEIGHT_MEASUREMENT_SERVICE, WEIGHT_MEASUREMENT_CHARACTERISTIC,
BluetoothGattUuid.DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION);
break; break;
case 3: case 3:
byte[] magic_bytes = new byte[]{(byte)0x0d, (byte)0x05, (byte)0x13, (byte)0x00, (byte)0x16}; byte[] magic_bytes = new byte[]{(byte)0x0d, (byte)0x05, (byte)0x13, (byte)0x00, (byte)0x16};