Closed vliedel closed 7 years ago
Just to make sure: you're talking about GATT notifications, not radio-notifications, right?
What is your connection interval for this? Typically, you wouldn't be able to send more than one notification per connection event, and the mesh will be sending quite a few. You can monitor the mesh GATT activity over here, but I don't have any quick fixes except shrinking your connection interval. You could disable acks for the commands, but that would only help you if you are pushing commands from the master. You could also choose to stop the mesh notifications all togheter, and poll instead, but you'll reduce functionality dramatically.
I do not understand how we miss a Handle Value Notification on the softdevice, since the BTLE connected link layer is a reliable link. Please clarify. I am assuming "radio-notifications".
I meant GATT notifications, but I just found out I might be doing something wrong, so I'll first test a bit more. Thanks for the feedback.
So, I now check if a notification is sent, before sending the next. Then, instead of missing notifications, my send buffer overflows quickly with mesh enabled, without meshing this doesn't happen.
You can try reducing the mesh GATT traffic, as I described above, or increase the size of your send buffer. Reducing the connection interval should improve your notification throughput, but stay above 15ms to give the mesh some room to breathe! These are the only options you have at this point, as the limit you're hitting now is a hard one - there simply isn't enough bandwidth in GATT to support your traffic rates.
Ok thanks, it's always good to know the limits :)
Are you waiting for the BLE_EVT_TX_COMPLETE for the Notification before sending the next one ?
Yep
Hi, I'm sending out 11 notifications per second and saw that when I enable meshing, I'm missing a notification pretty regularly (every 6th or 7th notification or so). Is this simply due to the increased radio activity or could it be a bug?
Btw, when I send 22 notifications per second, without meshing, I get this:![sample-num-diff-no-mesh-200hz](https://cloud.githubusercontent.com/assets/2011969/15069500/5091631e-137e-11e6-88c5-c4c022e80524.png)