This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Reading vendor specific characteristics from Thingy52

Hi,

I'm using an nRF52840 dongle with pc-ble-driver on Linux. It has connectivity 6.0.0 with S140. I tried the heart rate collector/monitor example pair (I have two dongles) and it works fine.

I modified the example to try to read the temperature sensor on the Thingy (which is unmodified):

#define BLE_UUID_HEART_RATE_SERVICE 0x0200
#define BLE_UUID_HEART_RATE_MEASUREMENT_CHAR 0x0201
and I added the following in main() just before the start_scan() call to add the base UUID that the Thingy uses:
ble_uuid128_t base_uuid = {{0x42,0x00,0x74,0xa9,0xff,0x52,0x10,0x9b,0x33,0x49,0x35,0x9b,0x00,0x00,0x68,0xef}};
ble_uuid_t test = {
.uuid = 0x0000,
.type = BLE_UUID_TYPE_BLE
};
error_code = sd_ble_uuid_vs_add(m_adapter, &base_uuid, &test.type);
if (error_code != NRF_SUCCESS)
{
printf("Failed to add custom uuid.");
return error_code;
}

No other modifications to the source code were done. It compiles with no warnings or errors. Once the Thingy is found and connected to, I get this message:

Discovering primary services
Received service discovery response
Service discovery failed. Error code 0x10A

Any idea what I'm doing wrong? Thanks.

Parents Reply Children
No Data
Related