Browse Source

update

master
zwsd 3 years ago
parent
commit
31573e7917
  1. 31
      main/ble_spp_server_demo.c

31
main/ble_spp_server_demo.c

@ -498,26 +498,27 @@ static void gatts_profile_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_
esp_ble_gatts_create_attr_tab(spp_gatt_db, gatts_if, SPP_IDX_NB, SPP_SVC_INST_ID);
break;
case ESP_GATTS_READ_EVT:
res = find_char_and_desr_index(p_data->read.handle);
if (res == SPP_IDX_SPP_STATUS_VAL) {
// TODO:client read the status characteristic
}
// res = find_char_and_desr_index(p_data->read.handle);
// if (res == SPP_IDX_SPP_STATUS_VAL) {
// // TODO:client read the status characteristic
// }
break;
case ESP_GATTS_WRITE_EVT: {
res = find_char_and_desr_index(p_data->write.handle);
if (p_data->write.is_prep == false) {
ESP_LOGI(GATTS_TABLE_TAG, "ESP_GATTS_WRITE_EVT : handle = %d\n", res);
if (res == SPP_IDX_SPP_COMMAND_VAL) {
uint8_t *spp_cmd_buff = NULL;
spp_cmd_buff = (uint8_t *)malloc((spp_mtu_size - 3) * sizeof(uint8_t));
if (spp_cmd_buff == NULL) {
ESP_LOGE(GATTS_TABLE_TAG, "%s malloc failed\n", __func__);
break;
}
memset(spp_cmd_buff, 0x0, (spp_mtu_size - 3));
memcpy(spp_cmd_buff, p_data->write.value, p_data->write.len);
xQueueSend(cmd_cmd_queue, &spp_cmd_buff, 10 / portTICK_PERIOD_MS);
} else if (res == SPP_IDX_SPP_DATA_NTF_CFG) {
// if (res == SPP_IDX_SPP_COMMAND_VAL) {
// uint8_t *spp_cmd_buff = NULL;
// spp_cmd_buff = (uint8_t *)malloc((spp_mtu_size - 3) * sizeof(uint8_t));
// if (spp_cmd_buff == NULL) {
// ESP_LOGE(GATTS_TABLE_TAG, "%s malloc failed\n", __func__);
// break;
// }
// memset(spp_cmd_buff, 0x0, (spp_mtu_size - 3));
// memcpy(spp_cmd_buff, p_data->write.value, p_data->write.len);
// xQueueSend(cmd_cmd_queue, &spp_cmd_buff, 10 / portTICK_PERIOD_MS);
// } else if (res == SPP_IDX_SPP_DATA_NTF_CFG) {
if (res == SPP_IDX_SPP_DATA_NTF_CFG) {
if ((p_data->write.len == 2) && (p_data->write.value[0] == 0x01) && (p_data->write.value[1] == 0x00)) {
enable_data_ntf = true;
} else if ((p_data->write.len == 2) && (p_data->write.value[0] == 0x00) && (p_data->write.value[1] == 0x00)) {

Loading…
Cancel
Save