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

Best way to send larger chunks of data through BLE UART?

Right now i have based myself on the BLE UART example where it is UART over BLE.

So naturally I use ble_nus_string_send to send data. After some digging I saw that this takes max 20 bytes of data. Also there seems to be a fixed queue size, so anything after a filled queue will be disregarded with an error returned from this function. The qeue size by the looks of it is 6, right?

So, how do I send bigger chunks (all the data is one big chunk which is treated as one entity)? First I tried to just retry if ble_nus_string_send returned an error with a nrf_delay_ms(20) in a loop with 100 retries. It does work, but it can't be an elegant solution. Also on the 2nd chunk of data sent over, it seems to struggle a lot more when sent over. It comes in small portions of 3 chunks over time. I am testing on android with the NRF UART app.

Thanks!

Parents Reply Children
No Data
Related