STM32WB BLE performance with sequencer, android
We're working with the STM32WB developer board and we've encountered "slow BLE writes" with android.
While trying to make our BLE writes faster, we determined that if we remove the "GATT_NOTIFY_WRITE_REQ_AND_WAIT_FOR_APPL_RESP | GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP" event flags-- when we add a service characteristic, the BLE write speeds increases from approximately 10KB to 120KB per second.
Can anyone provide any insight into the link between sequencer latencies and expected throughput? like, most importantly, I think: what sort of latencies stop Android from writing several packets during a connection interval because we really need to reenable those events to get at the incoming data.
Our EVT_BLUE_GATT_WRITE_PERMIT_REQ handler seems to be really simple; it's just memcpy plus some basic C data processing plus the code from STM's framework.
Perhaps we shouldn't be using the ST sequencer?
New Note Added:
Please note, we came across these community posts and they seem to indicate that the read and write events come with performance issues:
https://community.st.com/s/question/0D53W00000Diwl2SAB/bleota-for-large-files-keeps-failing
Moreover, we haven't found any documentation-- yet, about how to ensure that these write events will let us reliably send data quickly. To the contrary, the community posts have led us to believe that-- since the communication core was losing data, read and write events were added to the API but there was also a performance hit.
Is this analysis correct?
If yes, can someone from ST help us manage our performance expectations?
Thanks,
-M