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

Notification frequency

Hi

I'm using nrf51 to notify some data to an andriod device. I set the connection interval of my nrf51 program to 7.5ms. And I need to send 100 packets per second (20 bytes per packet). However, sometimes there are packets loss and I cannot receive 100 packets per second. So what could I do wrong to cause the packets loss? Thank you!

  • Hi Eric,

    There is no such term as "packet loss" with BLE. Packet if not ACKed will be re-transmitted until it's ACKed or the connection will time out.

    What you described as packet loss here could be that the call to sd_ble_gatts_hvx() wasn't successful. Meaning the packet is not queued to be sent. You should always check for the return code of any API call. For example if the TX buffer is full you will receive BLE_ERROR_NO_TX_PACKETS and you will have to recall the hvx api again later (you can wait till TX_COMPLETE return to retransmit)

Related