Controles de dispositivos vestíveis

Os controles de dispositivos vestíveis no pareamento rápido têm como objetivo oferecer melhores controles de acesso para recursos importantes de dispositivos vestíveis no Android. Para isso, um novo grupo de mensagens de controles de dispositivos vestíveis foi adicionado ao fluxo de mensagens.

Nome do grupo de mensagens Valor
Controle de dispositivos vestíveis 0x08

Controle ativo de ruído

O controle ativo de ruído está se tornando um recurso importante para fones de ouvido premium. No lado do Seeker, o Pareamento Rápido terá a interface e a lógica para definir, receber e salvar o estado, que será armazenado no lado do provedor. É obrigatório que o provedor envie o nonce da sessão quando o fluxo de eventos estiver conectado. Para isso, os códigos de mensagem abaixo são definidos:

Nome do código da mensagem Valor Remetente Participante MAC CONF
Receber o estado do ANC 0x11 Seeker Provedor N N
Definir o estado do ANC 0x12 Seeker Provedor S S
Notificar o estado do ANC 0x13 Provedor Seeker N N

Quando um Seeker se conecta a um provedor ou quando um provedor recebe uma mensagem "Receber o estado do ANC", ele pode notificar o estado do ANC para informar ao Seeker a capacidade e o estado armazenado do ANC. A mensagem é a seguinte:

Byte Tipo de dados Descrição Valor
0 uint8 Controle de dispositivos vestíveis 0x08
1 uint8 Notificar o estado do ANC 0x13
2 a 3 uint16 Comprimento de dados adicionais 0x04
4 a 7 Dados de controle do ANC varia
Dados de controle do ANC
Byte Tipo de dados Descrição Valor
0 uint8 Código da versão varia, 0x02 para esta versão
1 Sinalizações Alternâncias da interface
Cada modo é ativado (1) ou desativado (0) de acordo com o valor do bit de flag, da seguinte maneira:
Bit 0 (MSB): transparente
Bit 1: adaptável (ou 0 se for indisponível)
Bit 2: desativado
Bit 3: reservado (defina o bit como 0)
Bit 4: ANC
varia
2 Sinalizações Alternâncias configuráveis
Qualquer um ou todos os bits de alternância da interface acima também podem ser definidos aqui para indicar quais estão ativados no momento.
varia
3 Sinalizações Estado atual
Apenas um bit pode ser definido, e o valor desse byte precisa ser diferente de zero.
varia

O Seeker vai mostrar a interface de alternância de acordo com os dados de controle do ANC.

Exemplo 1: o provedor oferece suporte ao ANC de três vias: transparente, desativado e ANC. Os fones de ouvido estão na cabeça, todos os modos podem ser definidos e o estado atual está desativado:

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x02
1 Sinalizações Alternâncias da interface 0b10101000
2 Sinalizações Alternâncias configuráveis 0b10101000
3 Sinalizações Estado atual 0b00100000

Exemplo 2: o provedor oferece suporte ao ANC de três vias: transparente, desativado e ANC. Apenas um fone de ouvido está na cabeça ou nenhum deles está, então nenhum modo pode ser definido, e o estado atual está desativado:

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x02
1 Sinalizações Alternância da interface 0b10101000
2 Sinalizações Alternância configurável 0b00000000
3 Sinalizações Estado atual 0b00100000

Se o usuário mudar a alternância, o Seeker vai definir o estado atual para o provedor da seguinte maneira:

Byte Tipo de dados Descrição Valor
0 uint8 Controle de dispositivos vestíveis 0x08
1 uint8 Definir o estado do ANC 0x12
2 a 3 uint16 Comprimento de dados adicionais varia, 0x04 ou 0x14
4 uint8 Código da versão do Seeker varia, 0x01 ou 0x02
5 Sinalizações Modos configuráveis do ANC (alternância da interface) varia
6 Sinalizações Modos ativados do ANC (alternância configurável) varia
7 Sinalizações Novo índice do modo ANC (novo estado) varia
8 a 23 Reservado varia

Os bytes 4 a 7 são dados de controle do ANC enviados do lado do Seeker. Se o valor de comprimento adicional for definido como 0x14, os bytes reservados de 8 a 23 estarão presentes e, ao receber esses bytes, o provedor deverá ignorá-los. Se o valor de comprimento adicional for definido como 0x04, não haverá bytes reservados.

Quando um provedor recebe uma mensagem "Definir o estado do ANC", ele precisa confirmar, e notificar o estado do ANC a todos os Seekers conectados. Se o usuário mudar a configuração por um gesto do fone de ouvido ou pelo app complementar, o provedor também precisará enviar uma notificação a todos os Seekers conectados.

Exemplo 3: o provedor oferece suporte ao ANC de quatro vias: transparente, adaptável, desativado e ANC. Os fones de ouvido estão na cabeça, todos os modos podem ser definidos e o estado atual é adaptável:

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x02
1 Sinalizações Alternância da interface 0b11101000
2 Sinalizações Alternância configurável 0b11101000
3 Sinalizações Estado atual 0b01000000