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:
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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();
|
||||||
|
@@ -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};
|
||||||
|
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
@@ -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();
|
||||||
|
@@ -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
|
||||||
|
@@ -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};
|
||||||
|
Reference in New Issue
Block a user