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

Data loss while sending large data by notifications

log1.pcapHi, I am developing a peripheral application that can send around 68k of data in the notifications to the central Notifications are send at the frequency of 284 notifications per sec, but number of notifications are loss after sometime, At the central, only around 61k bytes are received. I have set min connection interval as 36ms and max connection interval as 75ms, slave latency is set 3 and connection supervision timeout is 4 sec.

I have increased number of bytes that are send only after NRF_SUCCESS is received in sd_ble_gatts_hvx, if BLE_ERROR_NO_TX_PACKETS is received as return code then notification will be send again on receiving BLE_EVT_TX_COMPLETE

Large chunk is loss almost after some time, I am attaching the sniffer log with it

I am using s132 v2.0 soft device

Parents
  • FormerMember
    0 FormerMember

    What do you mean by notifications are missing? Is some data lost, or is the transfer slower than expected? This blog post contains the number of packets per connection interval that various phones can handle.

    How do you handle the other error codes that can be returned from sd_ble_gatts_hvx(..)? The error codes NRF_ERROR_INVALID_STATE and NRF_ERROR_BUSY do also indicate that the system is busy or the system is currently in an invalid state.

    Update 06.12.2016: Could you use ble_app_uart_test_throughput.zip (SDK 12) to check if any data is lost with that example?

  • pcap file I attached shows that data are not received completely, and I also used nrf logger app to check the loss of data on the central side. According to nrf logger only 61k data is received, other data are loss and even it shows in pcap I attached that large amount of data is loss in between

    I validated the last bytes of the buffer, last bytes of the buffer is received but data is loss in between

Reply
  • pcap file I attached shows that data are not received completely, and I also used nrf logger app to check the loss of data on the central side. According to nrf logger only 61k data is received, other data are loss and even it shows in pcap I attached that large amount of data is loss in between

    I validated the last bytes of the buffer, last bytes of the buffer is received but data is loss in between

Children
No Data
Related