Hello,
I am currently optimizing the throughput for my mesh network and I am wondering whether I've hit the limit of what's currently possible. I have two methods for sending data, reliable (write_req) and unreliable (write_cmd).
- As far as I remember, the current S130 implementation does not support multiple packets per connection event. Are there any news on when this will be implemented?
reliable writes from one side
- I'm curious if it's possible to receive the package acknowledgement in the same connection event. Because currently, the softdevice takes until the next connection event to acknowledge the packet. I've found this blog post: devzone.nordicsemi.com/.../ which states that this behaviour is indeed correct, but I am wondering whether that would be possible. I haven't found anything in the BLE speq. It's not a big timeframe, but there's still some CPU cycles inbetween.
unreliable writes from slave to master
- After some testing, I've got this sniffer output. The slave does clearly say that it has more data after sending one block, but he does not send it to the master immediately. Why would that be?
Some explanation: The Master is connected to two devices. Both slaves are only connected to this master. Sometimes, this delayed transmission happens but at other times, everything is fine and every connection event is used. It appears to me that when I send a few reliable packets, the issue is fixed for some time. Afterwards, packets are sent at every connection event.
- Oh, and one more question: If I fill the WRITE_REQ buffer and the WRITE_CMD at the same time, is there any priority. Are they sent in the order that I've queued them?
Marius