I think a markdown that documents Apples ble-protocol would be nice for developers.
I don't know it well enough to do it my self, but I found something about the connection state by some testing:
Already known:
- 0x00: Disconnected
- 0x04: Idle
- 0x05: Media Playing
- 0x06: Call
- 0x07: Ringing
What I found:
- 0x08: Handover to another device while Idle
- 0x09: Handover to another device while media playing
- 0x0A: Handover to another device while in call
- 0x0B: Handover to another device while ringing
I don't know why there are different states. Perhaps something with closing the audio stream correctly.
Edit: The Reason is probably that single bits hold a specific Information:
bit: 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
│ │ └──┘
│ │ └── activity: 00=idle, 01=music, 10=call, 11=ringing
│ └────── connected to a device
└───────── handoff in progress
I am using the AirPods Pro 1.
Also 0x09 is labeled "HANGING_UP" in blemanager.h. Why is that? Hanging up a call was no state in my case. Just going from 0x06 to 0x04
I think a markdown that documents Apples ble-protocol would be nice for developers.
I don't know it well enough to do it my self, but I found something about the connection state by some testing:
Already known:
What I found:
I don't know why there are different states. Perhaps something with closing the audio stream correctly.
Edit: The Reason is probably that single bits hold a specific Information:
I am using the AirPods Pro 1.
Also 0x09 is labeled "HANGING_UP" in blemanager.h. Why is that? Hanging up a call was no state in my case. Just going from 0x06 to 0x04