Write to custom characteristic (uint8 array) fails when data length >= 70

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

I made a simple project to show this (attached).

   

I have a couple of custom characteristics. They are of type uint8 array and of length 78 (except one which is of length 300).

   

In this project, I don't do anything but simply respond to the write. Using CySmart, I try to write to those characteristics. If I write data with length less than 70, I get a response. If I write anything of length >= 70, the write gets timed out, and from then on even reading doesn't work. The return value from the CyBle_GattsWriteRsp() function is 3 (CYBLE_ERROR_MEMORY_ALLOCATION_FAILED).

   

Why is that? Is there a hard limit on how large the uint8 array characteristic can get? If so, why doesn't the configuration dialog for the component not warn against this? Is this a stack limitation? A bug?

0 Likes
5 Replies