I am trying to understand better the Bluetooth communication based on some data logs.
Master connection params:
int_min: 1000ms int_max: 1005ms lat: 0 timeout: 4000ms
Slave is calling function bt_gatt_notify every 20ms with new values provided. Master is subscribed to the notifications.
Here is the view from Wireshark in particular moment:
What I find strange:
- Whenever the slave should transmit the new data, its actually Master who is sending the request first, then the slave responds.
- No ACKs from the master after that
- In single connection event there are 3 new values that are being sent to Master(you can understand by looking the log times). After 3 are sent, the Master is waiting for the beginning of the next connection interval.
I was expecting that there will be asynchronous data transmission initiated by the Slave as soon as the data is updated. Also what I found strange is that for some reason in one connection event there are 3 new values. How can we clarify this?
Best,