Hook Settings to being exposed
This commit is contained in:
@@ -30,4 +30,45 @@
|
|||||||
#define BT_UUID_CHAR_BLE_LIVE_POWER_LEVEL BT_UUID_DECLARE_16(0x0005)
|
#define BT_UUID_CHAR_BLE_LIVE_POWER_LEVEL BT_UUID_DECLARE_16(0x0005)
|
||||||
#define BT_UUID_CHAR_BLE_LIVE_POWER_SRC BT_UUID_DECLARE_16(0x0006)
|
#define BT_UUID_CHAR_BLE_LIVE_POWER_SRC BT_UUID_DECLARE_16(0x0006)
|
||||||
|
|
||||||
|
// 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)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@@ -68,15 +68,35 @@ int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_att
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ble_tp_recv_wr(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags) {
|
int ble_char_read_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) {
|
||||||
BT_WARN("recv data len=%d, offset=%d, flag=%d\n", len, offset, flags);
|
if (attr == NULL || attr->uuid == NULL) {
|
||||||
BT_WARN("recv data:%s\n", bt_hex(buf, len));
|
return 0;
|
||||||
|
}
|
||||||
|
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val;
|
||||||
|
uint16_t temp = 0;
|
||||||
|
if (uuid_value == 0) {
|
||||||
|
memcpy(buf, &temp, sizeof(temp));
|
||||||
|
return sizeof(temp);
|
||||||
|
} else if (uuid_value <= SettingsOptions::SettingsOptionsLength) {
|
||||||
|
temp = getSettingValue((SettingsOptions)(uuid_value - 1));
|
||||||
|
memcpy(buf, &temp, sizeof(temp));
|
||||||
|
return sizeof(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
MSG("Unhandled attr read %d | %d\n", (uint32_t)attr->uuid, uuid_value);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags) {
|
||||||
|
|
||||||
if (flags & BT_GATT_WRITE_FLAG_PREPARE) {
|
if (flags & BT_GATT_WRITE_FLAG_PREPARE) {
|
||||||
// Don't use prepare write data, execute write will upload data again.
|
// Don't use prepare write data, execute write will upload data again.
|
||||||
BT_WARN("recv prepare write request\n");
|
BT_WARN("recv prepare write request\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (attr == NULL || attr->uuid == NULL) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & BT_GATT_WRITE_FLAG_CMD) {
|
if (flags & BT_GATT_WRITE_FLAG_CMD) {
|
||||||
// Use write command data.
|
// Use write command data.
|
||||||
@@ -85,6 +105,20 @@ int ble_tp_recv_wr(struct bt_conn *conn, const struct bt_gatt_attr *attr, const
|
|||||||
// Use write request / execute write data.
|
// Use write request / execute write data.
|
||||||
BT_WARN("recv write request / exce write\n");
|
BT_WARN("recv write request / exce write\n");
|
||||||
}
|
}
|
||||||
|
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val;
|
||||||
|
if (len == 2) {
|
||||||
|
uint16_t new_value = 0;
|
||||||
|
memcpy(&new_value, buf, sizeof(new_value));
|
||||||
|
if (uuid_value == 0) {
|
||||||
|
if (new_value == 1) {
|
||||||
|
saveSettings();
|
||||||
return len;
|
return len;
|
||||||
|
}
|
||||||
|
} else if (uuid_value < SettingsOptions::SettingsOptionsLength) {
|
||||||
|
setSettingValue((SettingsOptions)(uuid_value - 1), new_value);
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MSG("Unhandled attr write %d | %d\n", (uint32_t)attr->uuid, uuid_value);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,9 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset);
|
int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset);
|
||||||
int ble_tp_recv_wr(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags);
|
int ble_char_read_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset);
|
||||||
|
|
||||||
|
int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -153,6 +153,83 @@ static struct bt_gatt_attr attrs[] = {
|
|||||||
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_POWER_SRC, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_status_callback, NULL, NULL),
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_POWER_SRC, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_status_callback, NULL, NULL),
|
||||||
|
|
||||||
BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_SETTINGS_DATA),
|
BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_SETTINGS_DATA),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_1, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_2, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_3, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_4, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_5, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_6, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_7, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_8, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_9, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_10, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_11, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_12, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_13, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_14, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_15, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_16, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_17, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_18, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_19, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_20, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_21, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_22, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_23, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_24, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_25, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_26, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_27, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_28, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_29, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_30, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_31, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_32, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_33, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_34, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_35, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_36, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_37, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
|
||||||
|
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
|
|||||||
Reference in New Issue
Block a user