Shift settings to be 0 based; and add reset command
This commit is contained in:
@@ -48,43 +48,44 @@
|
||||
|
||||
// Settings
|
||||
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE BT_UUID_DECLARE_16(0)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_1 BT_UUID_DECLARE_16(1)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_2 BT_UUID_DECLARE_16(2)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_3 BT_UUID_DECLARE_16(3)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_4 BT_UUID_DECLARE_16(4)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_5 BT_UUID_DECLARE_16(5)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_6 BT_UUID_DECLARE_16(6)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_7 BT_UUID_DECLARE_16(7)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_8 BT_UUID_DECLARE_16(8)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_9 BT_UUID_DECLARE_16(9)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_10 BT_UUID_DECLARE_16(10)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_11 BT_UUID_DECLARE_16(11)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_12 BT_UUID_DECLARE_16(12)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_13 BT_UUID_DECLARE_16(13)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_14 BT_UUID_DECLARE_16(14)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_15 BT_UUID_DECLARE_16(15)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_16 BT_UUID_DECLARE_16(16)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_17 BT_UUID_DECLARE_16(17)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_18 BT_UUID_DECLARE_16(18)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_19 BT_UUID_DECLARE_16(19)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_20 BT_UUID_DECLARE_16(20)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_21 BT_UUID_DECLARE_16(21)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_22 BT_UUID_DECLARE_16(22)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_23 BT_UUID_DECLARE_16(23)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_24 BT_UUID_DECLARE_16(24)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_25 BT_UUID_DECLARE_16(25)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_26 BT_UUID_DECLARE_16(26)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_27 BT_UUID_DECLARE_16(27)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_28 BT_UUID_DECLARE_16(28)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_29 BT_UUID_DECLARE_16(29)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_30 BT_UUID_DECLARE_16(30)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_31 BT_UUID_DECLARE_16(31)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_32 BT_UUID_DECLARE_16(32)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_33 BT_UUID_DECLARE_16(33)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_34 BT_UUID_DECLARE_16(34)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_35 BT_UUID_DECLARE_16(35)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_36 BT_UUID_DECLARE_16(36)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_37 BT_UUID_DECLARE_16(37)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE BT_UUID_DECLARE_16(0xFFFF)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_RESET BT_UUID_DECLARE_16(0xFFFE)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_1 BT_UUID_DECLARE_16(0)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_2 BT_UUID_DECLARE_16(1)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_3 BT_UUID_DECLARE_16(2)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_4 BT_UUID_DECLARE_16(3)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_5 BT_UUID_DECLARE_16(4)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_6 BT_UUID_DECLARE_16(5)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_7 BT_UUID_DECLARE_16(6)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_8 BT_UUID_DECLARE_16(7)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_9 BT_UUID_DECLARE_16(8)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_10 BT_UUID_DECLARE_16(9)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_11 BT_UUID_DECLARE_16(10)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_12 BT_UUID_DECLARE_16(11)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_13 BT_UUID_DECLARE_16(12)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_14 BT_UUID_DECLARE_16(13)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_15 BT_UUID_DECLARE_16(14)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_16 BT_UUID_DECLARE_16(15)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_17 BT_UUID_DECLARE_16(16)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_18 BT_UUID_DECLARE_16(17)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_19 BT_UUID_DECLARE_16(18)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_20 BT_UUID_DECLARE_16(19)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_21 BT_UUID_DECLARE_16(20)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_22 BT_UUID_DECLARE_16(21)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_23 BT_UUID_DECLARE_16(22)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_24 BT_UUID_DECLARE_16(23)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_25 BT_UUID_DECLARE_16(24)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_26 BT_UUID_DECLARE_16(25)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_27 BT_UUID_DECLARE_16(26)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_28 BT_UUID_DECLARE_16(27)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_29 BT_UUID_DECLARE_16(28)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_30 BT_UUID_DECLARE_16(29)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_31 BT_UUID_DECLARE_16(30)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_32 BT_UUID_DECLARE_16(31)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_33 BT_UUID_DECLARE_16(32)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_34 BT_UUID_DECLARE_16(33)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_35 BT_UUID_DECLARE_16(34)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_36 BT_UUID_DECLARE_16(35)
|
||||
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_37 BT_UUID_DECLARE_16(36)
|
||||
|
||||
#endif
|
||||
@@ -194,12 +194,12 @@ int ble_char_read_setting_value_callback(struct bt_conn *conn, const struct bt_g
|
||||
return 0;
|
||||
}
|
||||
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val;
|
||||
uint16_t temp = 0;
|
||||
if (uuid_value == 0) {
|
||||
uint16_t temp = 0xFFFF;
|
||||
if (uuid_value <= SettingsOptions::SettingsOptionsLength) {
|
||||
temp = getSettingValue((SettingsOptions)(uuid_value));
|
||||
memcpy(buf, &temp, sizeof(temp));
|
||||
return sizeof(temp);
|
||||
} else if (uuid_value <= SettingsOptions::SettingsOptionsLength) {
|
||||
temp = getSettingValue((SettingsOptions)(uuid_value - 1));
|
||||
} else {
|
||||
memcpy(buf, &temp, sizeof(temp));
|
||||
return sizeof(temp);
|
||||
}
|
||||
@@ -230,13 +230,18 @@ int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_
|
||||
if (len == 2) {
|
||||
uint16_t new_value = 0;
|
||||
memcpy(&new_value, buf, sizeof(new_value));
|
||||
if (uuid_value == 0) {
|
||||
if (uuid_value == 0xFFFF) {
|
||||
if (new_value == 1) {
|
||||
saveSettings();
|
||||
return len;
|
||||
}
|
||||
} else if (uuid_value == 0xFFFE) {
|
||||
if (new_value == 1) {
|
||||
resetSettings();
|
||||
return len;
|
||||
}
|
||||
} else if (uuid_value < SettingsOptions::SettingsOptionsLength) {
|
||||
setSettingValue((SettingsOptions)(uuid_value - 1), new_value);
|
||||
setSettingValue((SettingsOptions)(uuid_value), new_value);
|
||||
return len;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user