pcolby/dokit

Pokit API Errata - Class GenericAccessService

Closed this issue · 1 comments

Not an issue, but thought I could provide some clarity regarding the Pokit API Errata Class GenericAccessService comments/notes.

The Generic Access Service (GAS) '0x1800' is a service that all Bluetooth devices MUST have to conform to the Bluetooth Core Specifications. It is a mandatory part of the Generic Access Profile (GAP). This service is standardized for device discovery and initial connection to maintain consistency for device identification across different manufactures and device types. This service MUST contain, Device Name and Appearance, and optionally Peripheral Preferred Connection Parameters (PPCP). The PPCP provides suggested connection parameters like minimum/maximum connection interval, slave latency, and connection supervision timeout multiplier. This service typically won't be seen in the Services Discovered as this is the service used for the initial connection. Then, during the discoverServices you might see something like, 'Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)', these parameters would be set by the PPCP of the GAS.

Hope this helps!
@pcolby

Thanks @NET-Code-Dev, I did not know that GAS was mandatory, and simply doesn't appear in the service discovery process (at least for Qt). This is really useful info! 😊 I'll update the project's Pokit API notes. Thank you! 😄