I use two nRF52840 to send notifications every second. Analysis using a logic analyzer revealed that the reception interval had strange variations. What is causing this? Why is there a gap at 1 second from the reception?
connection interval 10ms.
I use two nRF52840 to send notifications every second. Analysis using a logic analyzer revealed that the reception interval had strange variations. What is causing this? Why is there a gap at 1 second from the reception?
connection interval 10ms.
Hi
GAP_EVENT_LENGTH decides how much time you can use per connection event (unless you enable connection event length extension). By increasing this, the connection event can last longer and you'll get more TX buffers. To utilize this to send data as fast as possible you need to check the BLE_GATTS_EVT_HVN_TX_COMPLETE. You can set a flag to tell the application to send more packets, and have a function in the main loop that fills the buffers. As long as you are able to fill the TX buffers you can send packets continuously until the next connection event (either by matching the gap event length to the conn. interval or using the conn. event length extension option.
Best regards,
Simon
Thank you.
but, I don't need to send a lot of packets.
I want to receive transmitted packets with as little delay as possible.
If GAP_EVENT_LENGTH is equal to the connection interval, can RX always receive packets?
I want to be able to receive anytime without waiting for the connection interval.
And which value is GAP_EVENT_LENGTH set to? Central and peripheral.
Should both be set to the same value in config.h?
Thank you.
but, I don't need to send a lot of packets.
I want to receive transmitted packets with as little delay as possible.
If GAP_EVENT_LENGTH is equal to the connection interval, can RX always receive packets?
I want to be able to receive anytime without waiting for the connection interval.
And which value is GAP_EVENT_LENGTH set to? Central and peripheral.
Should both be set to the same value in config.h?