GATT read long characteristic value fails

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

I am trying to use the wiced_bt_smartbridge_gatt_read_long_characteristic_value function to read a characteristic value and it is causing the system to crash. Reading the same characteristic with wiced_bt_smartbridge_gatt_read_characteristic_value does work but doesn't return the entire value of the characteristic.

Watching the transaction with a sniffer shows why it's failing. First an ATT Read Blob Request with offset 0 is sent and it gets bytes 0 through 21 of the value. Then, an ATT Read Blob Request with offset 22 is sent and it gets bytes 22 through 43 of the value. Up til this point everything is correct. But then, instead of sending an ATT Read Blob Request with offset 44, the stack goes into a loop sending the ATT Read Blob Request with offset 22 repeatedly until the system crashes. Maybe it overflowed a buffer or ran out of memory.

I have tested this from the bt_smartbridge_console demo and my own application and saw the same behavior in both. Is this a bug in the bt smart stack, and would an update to the stack be required to fix it?

Thanks,

Paolo

0 Likes
2 Replies
Anonymous
Not applicable

Hey,

Apologies for the late reply. Have you tried the latest SDK?

It may have been a bug in the previous release.

You can find it here.

Best Regards,

Ab

0 Likes

abirjepatil

Note that the WICED SmartBridge App is not supported in SDK 3.3.1, only BIG, or "Bluetooth Internet Gateway" is supported.

WICED Software Development Kit 3.1.2 was the last SDK to support SmartBridge.

0 Likes