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
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