This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Sending multiple notify packets per connection interval

Hi,

Device: NRF53

I'm trying to send 3 notify packets in a 15ms connection internal but I can send 2.

I'm using Nrf connect and Zephyr.  is there a limit or a define to set this.

Thank you for any guidance and help

Regards

  • Hi Neil, 
     I suspect that the central was not able to handle more than 2 packets per connection event. A sniffer trace would be very helpful to reveal this. 

  • Hi,

    I will try to get you a sniifer trace but I do remember the more data flag being set to false on the second packet.

    I also thought that Simon had tried this test with two nrf dk's.  Could you do a sniifer trace of it working with an nrf dk central please. If it's a limitation of the central then I can explain this to my customer.

    Thanks

  • There is a chance that it's hitting the limit of the stack. But we do need a sniffer trace to really understand the situation. 
    Please also look at the throughput example. As far as I know you can reach around 700kbps at 1Mbps.given that the ATT_MTU is configured correctly and Data length extension is applied.

  • I've created the same issue that i've been having with a basic hr example using NCS 1.6.1.  in the 1st example I loop round 3 packets then sleep 5ms the other I sleep 30ms. See attached 2 sniffer traces. You can see in the 4ms trace it sends two packets per connection interval to one with 30ms sleep it sends 3 per con interval.hr_example_3packetLoop30ms_sleep.pcapnghr_example_3packetLoop5ms_sleep.pcapng

  • Hi Neil, 

    Attached you can find my example of sending 25 notifications in a 15ms interval connection. 

    It's not the maximum limit I believe. If you increase CONFIG_BT_CONN_TX_MAX you should have more but the CONFIG_BT_CTLR_RX_BUFFERS is limited to 18. 
    I found that what slowing down the rate in the original centralhr example was the printk inside notify_func() that causing the central to NACK the packet from the peripheral. 

    In my test with my Galaxy S10 it achieved similar number of packets.


    Please try the example I provided here and if it works please follow the configuration in my projects.

    3264.hr_mp.zip

    4745.sniffertrace2.pcapng

Related