Skip to content

Apple Ble Protocol Documentation wanted #579

@lgoette

Description

@lgoette

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions