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

Can you specifically set the amount of packets per interval?

Hi!

I have an implementation running with a peripheral sending notifications to a central at 27.5 ms. They are both configured with HIGH BW. Sending of notifications is activated by pressing a button. I now see that when the button is pressed, the peripheral is able to put 7 packets into the buffer (and an 8th one overflowing it) in the first interval, but then it changes to 6 packets (+ a 7th that overflows the buffer) for the following intervals.

I actually want be able to achieve 6 packets per interval, for each interval, so also for the first one. So my question is, how is this possible?

The figure below illustrates once more the beginning of notification sending and thus the transitions from 7 to 6. Channel 2 is the radio. Channel 0 indicates putting a packet in the TX buffer and is thus first 8 times and then always 7 times. Channel 1 is I2C measurements of an accelerometer in between. image description

Kind regards

Mathias

EDIT 1

image description

Parents
  • I believe it actually transports 6 packets over the radio, note that Tx buffers inside SD aren't necessarily linked to number of packets transported over radio link. Do you have some confidence by looking into radio analyzer/sniffer trace that different numbers are going through the link in each interval? otherwise if you push 7 packets to the stack and then 6 of them are "cleaned" so you can push 6 more it indicates that 6 are going over the radio... can you make some GPIO counter on TX_COMPLETED event if their count corresponds to the numbers?

  • Actually there are 7 tx buffers so 7 will be sent in the first event. But because of the "lazy ack" scheme only 6 buffers will be freed, the last buffer will be acked by the master in the first packet in the next connection event.

Reply Children
No Data
Related