Write to custom characteristic (uint8 array) fails when data length >= 70 | Cypress Semiconductor
Write to custom characteristic (uint8 array) fails when data length >= 70
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?