Hello, when I run the subject example and connect to it, I see the RX and TX characteristics like I'd expect.
However, I see a descriptor on the TX characteristic which I didn't expect.
I've studied the code and can't see where this is added. There certainly is no call to descriptor_add or to sd_ble_gatts_descriptor_add.
What is the single descriptor, and is it added automatically and why? And if not, where is it added?
Thank you.
Edit:
Here is all the service initialization code
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Add the RX Characteristic.
memset(&add_char_params, 0, sizeof(add_char_params));
add_char_params.uuid = BLE_UUID_NUS_RX_CHARACTERISTIC;
add_char_params.uuid_type = service_uuid.type;
add_char_params.max_len = 244;
add_char_params.init_len = sizeof(uint8_t);
add_char_params.is_var_len = true;
add_char_params.char_props.write = 1;
add_char_params.char_props.write_wo_resp = 1;
add_char_params.read_access = SEC_OPEN;
add_char_params.write_access = SEC_OPEN;
err_code = characteristic_add(p_our_service->service_handle, &add_char_params,&(p_our_service->characteristic1_handles));
if (err_code != NRF_SUCCESS) { RETURN_FAULT(18,err_code) }
//////////////////////////////////////////
// * Service
// * RX characteristic
Here is one screen shot from a phone sniffer, you can see "Descriptors: 1" even though no code creating it above
And here is another screenshot from my custom tool, you can see the UUID of the mystery descriptor