Controlli per dispositivi indossabili
I controlli per dispositivi indossabili su Accoppiamento rapido mirano a fornire controlli di accesso migliori per le funzionalità importanti dei dispositivi indossabili su Android. A questo scopo, è stato aggiunto un nuovo gruppo di messaggi Controlli per dispositivi indossabili all'interno di Flusso di messaggi.
| Nome del gruppo di messaggi | Valore |
|---|---|
| Controllo per dispositivi indossabili | 0x08 |
Controllo attivo del rumore
Il controllo attivo del rumore sta diventando una funzionalità di spicco per le cuffie premium. Dal lato del Seeker, Accoppiamento rapido avrà l'UI e la logica per impostare, recuperare e salvare lo stato, che verrà memorizzato sul lato del Provider. È obbligatorio che il provider invii il nonce di sessione quando il flusso di eventi è connesso. A questo scopo, sono stati definiti i seguenti codici di messaggio:
| Nome del codice del messaggio | Valore | Mittente | Intervistato | MAC | ACK |
|---|---|---|---|---|---|
| Recupera lo stato di ANC | 0x11 | Seeker | Provider | No | No |
| Imposta lo stato di ANC | 0x12 | Seeker | Provider | Sì | Sì |
| Notifica lo stato di ANC | 0x13 | Provider | Seeker | No | No |
Quando un Seeker si connette a un Provider o quando un Provider riceve un messaggio "Recupera lo stato di ANC", il Provider può notificare lo stato di ANC per informare il Seeker della sua capacità di ANC e dello stato memorizzato. Il messaggio è il seguente:
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Controllo per dispositivi indossabili | 0x08 |
| 1 | uint8 | Notifica lo stato di ANC | 0x13 |
| 2 - 3 | uint16 | Lunghezza dati aggiuntivi | 0x04 |
| 4 - 7 | Dati di controllo ANC | varia |
Dati di controllo ANC
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Codice versione | varia, 0x02 per questa versione |
| 1 | Bandiere | Attivazione/disattivazione dell'UI Ogni modalità è attivata (1) o disattivata (0) in base al valore del bit del flag, come segue: Bit 0 (MSB): trasparente Bit 1: adattivo (o 0 se non è supportato) Bit 2: off Bit 3: riservato (imposta il bit su 0) Bit 4: ANC |
varia |
| 2 | Bandiere | Attivazione/disattivazione impostabile Qui possono essere impostati anche tutti o alcuni dei bit di attivazione/disattivazione dell'UI sopra indicati, per indicare quali sono attualmente attivati. |
varia |
| 3 | Bandiere | Stato attuale È possibile impostare un solo bit e il valore di questo byte deve essere diverso da zero. |
varia |
Il Seeker mostrerà l'UI di attivazione/disattivazione in base ai dati di controllo ANC.
Esempio 1: il Provider supporta l'ANC a 3 vie: trasparente - off - ANC e gli auricolari sono indossati, tutte le modalità sono ora impostabili e lo stato attuale è off:
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Codice versione | 0x02 |
| 1 | Bandiere | Attivazione/disattivazione dell'UI | 0b10101000 |
| 2 | Bandiere | Attivazione/disattivazione impostabile | 0b10101000 |
| 3 | Bandiere | Stato attuale | 0b00100000 |
Esempio 2: il Provider supporta l'ANC a 3 vie: trasparente - off - ANC, al momento è indossato un solo auricolare o nessuno, quindi nessuna modalità è impostabile e lo stato attuale è off:
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Codice versione | 0x02 |
| 1 | Bandiere | Attivazione/disattivazione dell'UI | 0b10101000 |
| 2 | Bandiere | Attivazione/disattivazione impostabile | 0b00000000 |
| 3 | Bandiere | Stato attuale | 0b00100000 |
Se l'utente attiva/disattiva l'opzione, il Seeker imposterà lo stato attuale sul Provider come segue:
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Controllo per dispositivi indossabili | 0x08 |
| 1 | uint8 | Imposta lo stato di ANC | 0x12 |
| 2 - 3 | uint16 | Lunghezza dati aggiuntivi | varia, 0x04 o 0x14 |
| 4 | uint8 | Codice versione Seeker | varia, 0x01 o 0x02 |
| 5 | Bandiere | Modalità ANC impostabili (attivazione/disattivazione dell'UI) | varia |
| 6 | Bandiere | Modalità ANC attivate (attivazione/disattivazione impostabile) | varia |
| 7 | Bandiere | Indice della nuova modalità ANC (nuovo stato) | varia |
| 8 - 23 | Riservato | varia |
I byte da 4 a 7 sono in realtà dati di controllo ANC inviati dal lato del Seeker. Se il valore della lunghezza aggiuntiva è impostato su 0x14, i byte riservati da 8 a 23 saranno presenti e, alla ricezione di questi byte, il provider dovrà ignorarli. Se il valore della lunghezza aggiuntiva è impostato su 0x04, non sono presenti byte riservati.
Quando un Provider riceve un messaggio "Imposta lo stato di ANC", deve inviare un ACK, e notificare lo stato di ANC a tutti i Seeker connessi. Se l'utente modifica l'impostazione tramite un gesto delle cuffie o un'applicazione complementare, il Provider deve inviare una notifica anche a tutti i Seeker connessi.
Esempio 3: il Provider supporta l'ANC a 4 vie: trasparente - adattivo - off - ANC, gli auricolari sono indossati, tutte le modalità sono ora impostabili e lo stato attuale è adattivo:
| Byte | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Codice versione | 0x02 |
| 1 | Bandiere | Attivazione/disattivazione dell'UI | 0b11101000 |
| 2 | Bandiere | Attivazione/disattivazione impostabile | 0b11101000 |
| 3 | Bandiere | Stato attuale | 0b01000000 |