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

central stops receiving after sometime

Hi,

Central: nrf52840

peripheral: nrf52840

Connection interval (both min & max) = 10ms

ATT_MTU size: 52 bytes

Dle: 52+4 bytes

Connection event extension: enabled

Slave latency: 0

Connection supervision timeout: 4s

PHY: 1MBps

softdevice: 140

I'm transmitting 10 samples wrapped to 48 bytes as notification and hence set the ATT_MTU size to 52 bytes considering the overhead for notification to 3 bytes + 1 extra safe side. The issue is suddenly after 30 mins there is a disconnection and I get to see only EMPTY DATA PDU through nrf sniffer. However, I didn't notice anything as Connection Disconnection timeout or so. It's just after the last notification, I get to see only EMPTY DATA PDU and no samples at the UART(which is logged at the central) This is for a medical application. So I need to maintain this throughput with very low/0 latency and no potential disconnection. Your valuable suggestions will help me fix the problem.

J Link viewer logs

LOG

Thanks, Nivetha

Parents
  • Yes, please try that. It can also be worth playing with the NRF_LOG_DEFERRED option. If you enable it, messages are buffered and only printed when you call NRF_LOG_FLUSH(), typically when the system is idle. If you disable it, each message is printed when the logging line of code is actually hit. So hence, if you use deferred logging, and of some reason never print the messages in the buffers, you might get an overflow.

Reply
  • Yes, please try that. It can also be worth playing with the NRF_LOG_DEFERRED option. If you enable it, messages are buffered and only printed when you call NRF_LOG_FLUSH(), typically when the system is idle. If you disable it, each message is printed when the logging line of code is actually hit. So hence, if you use deferred logging, and of some reason never print the messages in the buffers, you might get an overflow.

Children
No Data
Related