how to limit the number of packet in each connection event?

Now I'm using nrf52840 as a master and some other ble chips as multi peripherals.

As I know, in ble link layer data header, there is a tag: MD(More Data) , by which, every peripheral can indicate the master : I has more data or not can be sent.

On the master side, I need nrf52840 to ignore the MD tag, just keep the way one packet one connection event, so each peripheral will under an "equal speed".

Because I can not enforce the peripherals to keep only one packet in their TX queue, this leads to nrf52840 always receive different number of packets from each peripheral in one connection event.

I'd searched here and found some tips on how to limit the packets sent from peripheral, but not receive by master.

So my question: is there any API or MACRO to let nrf52840(as a master) ignore the MD tag? or limit the number of packets to 1 in one connection event?

Thanks!

Parents
  • Hi,

    There is no API for limiting this explicitly. What you can do however, is to configure a short event length. It is only possible/allowed to send more packets within the connection event, and if you make the event short enough to only fit one packet then that should do the trick (though if you need to fit one large packet it may be possible to get e.g. two very small packets through in the same event length).

Reply
  • Hi,

    There is no API for limiting this explicitly. What you can do however, is to configure a short event length. It is only possible/allowed to send more packets within the connection event, and if you make the event short enough to only fit one packet then that should do the trick (though if you need to fit one large packet it may be possible to get e.g. two very small packets through in the same event length).

Children
Related