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

Questions regarding BLE throughput

Hi. I've seen many questions here regarding BLE throughput, I've been trying to get something better than the 200 B/s I'm getting.

I am using a nrf52832 as a GATT server.

So, I now that if I have write commands instead of write requests, it should improve it a lot. So one of my questions is:

* Does write commands translate to BLE_GATTS_EVT_WRITE events and write requests to BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST event with type BLE_GATTS_AUTHORIZE_TYPE_WRITE? It's not really clear.

I have observed that inse the write request struct there is an OPCODE, could an event be triggered with opcode == BLE_GATTS_OP_WRITE_CMD? If so, wouldn't I still need to send a reply?

Another way to improve the data rate is through a higher MTU, I have managed to send commands from the client side and set it to a higher value (243 ATT MTU size), so that leaves 240 bytes of application data right? But I still can't send more than 52 application data bytes per packet, otherwise the MCU gets stuck somewhere before reaching the evt handler. So, my other question is:

* How do I make use of the higher MTU data size I managed to set? Do I need to enable DLE, is that what makes it possible to use more than the 23 byte default size?

Also, regarding long write and reliable write:

* Is long write the same thing as reliable write? If not, what is the difference between each one?

I need to transfer rather large packets to the GATT server, but I have been only able to do so by breaking it apart in chunks of 52 usable bytes per characteristic write (on Android). I have checked the nRF-Toolbox code for sending long writes if the characteristic supports it, I have been able to make my characteristic with the same conditions that lead to the conclusion that we can send a long write, I tried simply sending a long packet from Android, but the MCU crashes at receiving it. I had a MEM_REQUEST evt being handled, but I didn't know what to do beyond replying it.

I needed at least 5kB/s,

Thanks.

Parents Reply Children
No Data
Related