|
@ -171,13 +171,13 @@ static const uint8_t spp_data_notify_val[20] = {0x00}; |
|
|
static const uint8_t spp_data_notify_ccc[2] = {0x00, 0x00}; |
|
|
static const uint8_t spp_data_notify_ccc[2] = {0x00, 0x00}; |
|
|
|
|
|
|
|
|
/// SPP Service - command characteristic, read&write without response |
|
|
/// SPP Service - command characteristic, read&write without response |
|
|
static const uint16_t spp_command_uuid = ESP_GATT_UUID_SPP_COMMAND_RECEIVE; |
|
|
|
|
|
static const uint8_t spp_command_val[10] = {0x00}; |
|
|
|
|
|
|
|
|
// static const uint16_t spp_command_uuid = ESP_GATT_UUID_SPP_COMMAND_RECEIVE; |
|
|
|
|
|
// static const uint8_t spp_command_val[10] = {0x00}; |
|
|
|
|
|
|
|
|
/// SPP Service - status characteristic, notify&read |
|
|
/// SPP Service - status characteristic, notify&read |
|
|
static const uint16_t spp_status_uuid = ESP_GATT_UUID_SPP_COMMAND_NOTIFY; |
|
|
|
|
|
static const uint8_t spp_status_val[10] = {0x00}; |
|
|
|
|
|
static const uint8_t spp_status_ccc[2] = {0x00, 0x00}; |
|
|
|
|
|
|
|
|
// static const uint16_t spp_status_uuid = ESP_GATT_UUID_SPP_COMMAND_NOTIFY; |
|
|
|
|
|
// static const uint8_t spp_status_val[10] = {0x00}; |
|
|
|
|
|
// static const uint8_t spp_status_ccc[2] = {0x00, 0x00}; |
|
|
|
|
|
|
|
|
#ifdef SUPPORT_HEARTBEAT |
|
|
#ifdef SUPPORT_HEARTBEAT |
|
|
/// SPP Server - Heart beat characteristic, notify&write&read |
|
|
/// SPP Server - Heart beat characteristic, notify&write&read |
|
@ -214,25 +214,25 @@ static const esp_gatts_attr_db_t spp_gatt_db[SPP_IDX_NB] = { |
|
|
{ESP_UUID_LEN_128, (uint8_t *)&spp_char_uuid128_tx, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, SPP_DATA_MAX_LEN, sizeof(spp_data_receive_val), |
|
|
{ESP_UUID_LEN_128, (uint8_t *)&spp_char_uuid128_tx, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, SPP_DATA_MAX_LEN, sizeof(spp_data_receive_val), |
|
|
(uint8_t *)spp_data_receive_val}}, |
|
|
(uint8_t *)spp_data_receive_val}}, |
|
|
|
|
|
|
|
|
// SPP - command characteristic Declaration |
|
|
|
|
|
[SPP_IDX_SPP_COMMAND_CHAR] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
{ESP_UUID_LEN_16, (uint8_t *)&character_declaration_uuid, ESP_GATT_PERM_READ, CHAR_DECLARATION_SIZE, CHAR_DECLARATION_SIZE, (uint8_t *)&char_prop_read_write}}, |
|
|
|
|
|
|
|
|
// // SPP - command characteristic Declaration |
|
|
|
|
|
// [SPP_IDX_SPP_COMMAND_CHAR] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
// {ESP_UUID_LEN_16, (uint8_t *)&character_declaration_uuid, ESP_GATT_PERM_READ, CHAR_DECLARATION_SIZE, CHAR_DECLARATION_SIZE, (uint8_t *)&char_prop_read_write}}, |
|
|
|
|
|
|
|
|
// SPP - command characteristic Value |
|
|
|
|
|
[SPP_IDX_SPP_COMMAND_VAL] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
{ESP_UUID_LEN_16, (uint8_t *)&spp_command_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, SPP_CMD_MAX_LEN, sizeof(spp_command_val), (uint8_t *)spp_command_val}}, |
|
|
|
|
|
|
|
|
// // SPP - command characteristic Value |
|
|
|
|
|
// [SPP_IDX_SPP_COMMAND_VAL] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
// {ESP_UUID_LEN_16, (uint8_t *)&spp_command_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, SPP_CMD_MAX_LEN, sizeof(spp_command_val), (uint8_t *)spp_command_val}}, |
|
|
|
|
|
|
|
|
// SPP - status characteristic Declaration |
|
|
|
|
|
[SPP_IDX_SPP_STATUS_CHAR] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
{ESP_UUID_LEN_16, (uint8_t *)&character_declaration_uuid, ESP_GATT_PERM_READ, CHAR_DECLARATION_SIZE, CHAR_DECLARATION_SIZE, (uint8_t *)&char_prop_read_notify}}, |
|
|
|
|
|
|
|
|
// // SPP - status characteristic Declaration |
|
|
|
|
|
// [SPP_IDX_SPP_STATUS_CHAR] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
// {ESP_UUID_LEN_16, (uint8_t *)&character_declaration_uuid, ESP_GATT_PERM_READ, CHAR_DECLARATION_SIZE, CHAR_DECLARATION_SIZE, (uint8_t *)&char_prop_read_notify}}, |
|
|
|
|
|
|
|
|
// SPP - status characteristic Value |
|
|
|
|
|
[SPP_IDX_SPP_STATUS_VAL] = {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_16, (uint8_t *)&spp_status_uuid, ESP_GATT_PERM_READ, SPP_STATUS_MAX_LEN, sizeof(spp_status_val), (uint8_t *)spp_status_val}}, |
|
|
|
|
|
|
|
|
// // SPP - status characteristic Value |
|
|
|
|
|
// [SPP_IDX_SPP_STATUS_VAL] = {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_16, (uint8_t *)&spp_status_uuid, ESP_GATT_PERM_READ, SPP_STATUS_MAX_LEN, sizeof(spp_status_val), (uint8_t *)spp_status_val}}, |
|
|
|
|
|
|
|
|
// SPP - status characteristic - Client Characteristic Configuration Descriptor |
|
|
|
|
|
[SPP_IDX_SPP_STATUS_CFG] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
{ESP_UUID_LEN_16, (uint8_t *)&character_client_config_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, sizeof(uint16_t), sizeof(spp_status_ccc), |
|
|
|
|
|
(uint8_t *)spp_status_ccc}}, |
|
|
|
|
|
|
|
|
// // SPP - status characteristic - Client Characteristic Configuration Descriptor |
|
|
|
|
|
// [SPP_IDX_SPP_STATUS_CFG] = {{ESP_GATT_AUTO_RSP}, |
|
|
|
|
|
// {ESP_UUID_LEN_16, (uint8_t *)&character_client_config_uuid, ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE, sizeof(uint16_t), sizeof(spp_status_ccc), |
|
|
|
|
|
// (uint8_t *)spp_status_ccc}}, |
|
|
|
|
|
|
|
|
#ifdef SUPPORT_HEARTBEAT |
|
|
#ifdef SUPPORT_HEARTBEAT |
|
|
// SPP - Heart beat characteristic Declaration |
|
|
// SPP - Heart beat characteristic Declaration |
|
|