How to prevent dropped packets?

I'm using 2 nRF52840 DK to run a data transfer test between a central and a peripheral.

The Central device uses ble_app_uart_c, The peripheral uses ble_app_uart. These examples are in SDK V17.

I ran a test where the peripheral keeps sending packets of 40 bytes to the Central. I looked at the results and I can tell the data were sent and received by the Central correctly. However I see a lot of dropped packets.

Up to 40% of packets were not received by the Central device. I wonder if it is a normal occurence. Is there a way I can reduce the number of dropped packets, assuming we have a normal environment.?

  • Hello,

    No messages is lost in the protocol, and so this is most likely a result of the application logic dropping the packets.

    Are you getting any error messages when this occurs?
    Please make sure that you have DEBUG enabled in your preprocessor defines.


    This will make your logger output a detailed error message whenever a non-NRF_SUCCESS error code is passed to an APP_ERROR_CHECK.

    Best regards,
    Karl

Related