Testes de GPIO no MITT
Os módulos de teste do GPIO incluídos no pacote de software MITT podem ser usados para testar os seguintes botões de volume para cima, diminuir volume, energia e bloqueio de rotação. Você pode usar esses testes para detectar problemas com os drivers e microcontroladores gpio e determinar se a resposta dos sistemas a um push curto ou longo é a resposta desejada. As linhas anexadas aos botões são fisicamente puxadas para baixo pela placa MITT.
Antes de começar
- Obtenha uma placa MITT e uma placa de adaptador GPIO. Consulte Comprar hardware para usar o MITT.
- Baixe o pacote de software MITT. Instale-o no sistema em teste.
- Instale o firmware mitt no quadro MITT. Confira Introdução ao MITT.
Configuração de hardware
Interface do barramento | Pin-out | ACPI e esquemas | Solução de conexão |
---|---|---|---|
Botões gpio | Linhas de botão e indicador: Volume para cima/para baixo, Energia, bloqueio de rotação, indicador laptop/slate, indicador de encaixe | Esquemas | Bloco masculino simples (no quadro de depuração) |
Controlador GPIO | Pin-out e índice do controlador GPIO usados |
|
Bloco masculino simples (no quadro de depuração) |
No quadro MITT, identifique o conector GPIO. Ele usa o cabeçalho mais à esquerda de 12 pinos, rotulado como JA1, conforme mostrado nesta imagem.
Conecte a placa do adaptador GPIO ao cabeçalho JA1 .
Conecte o power jumper na placa MITT a 3V3.
Empurre o controle deslizante para cima na opção ao lado do cabeçalho GPIO para ligar a placa.
Conecte as linhas volume up (volu), volume down (vold), dock/undock (dock) e slate/laptop (modo) da placa do adaptador GPIO (conectada ao MITT) aos pinos correspondentes no sistema em teste.
O cabeçalho de 12 pinos é conectado a linhas gpio individuais, conforme mostrado nesta imagem.
Esquema de um pino de saída na placa GPIO. O pino deve ser colocado em paralelo com um comutador para que o FET possa efetuar pull da linha baixa, como se a opção fosse enviada por push.
Opcional. Se você quiser executar os testes de GPIO do MITT em volume ou indicadores, mas não em ambos, poderá ignorar os testes relacionados na automação gpio definindo essas entradas do Registro. Cada entrada é um DWORD e o valor de 1 habilita o teste; 0 o desabilita.
Volume
HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunVolumeTest
Indicadores
HKEY_CURRENT_USER\Software\Microsoft\MITT\GPIO\RunIndicatorsTest
Executar testes de automação gpio
Para executar testes gpio manualmente usando o WDTF, execute estas tarefas:
- Copie mittsimpleioaction.dll do pacote de software MITT para %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions\SimpleIO
- Execute %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\UnRegisterWDTF.exe.
- Execute %ProgramFiles(x86)%\Windows Kits\8.1\Testing\Runtimes\WDTF\RunTime\Actions .. \RegisterWDTF.exe /nogacinstall
- Inicie testes de automação gpio executando SimpleIO_MITT_ gpio _Sample.vbs incluídos no pacote de software MITT.
Exemplo: injeção de entrada de GPIO personalizada
Este exemplo usa um arquivo, Example.txt, que contém a sequência para pressionar o botão de energia por dois segundos e, em seguida, liberar o botão. Este é o conteúdo do arquivo:
'h001E8480
'b0000000000011111
'b0000000100011111
'b0000000000011111
Execute estes comandos:
Muttutil.exe -SetChannel 00
Muttutil.exe -WriteData 0000
Muttutill.exe –SetChannel 01
Muttutil.exe –WriteDataFromFile Example.txt
Muttutil.exe –SetChannel 00
Muttutil.exe –Writedata 0001
- SetChannel com 00 indica que o canal de controle receberá dados.
- WriteData com 0000 pausa todos os módulos de teste.
- Opção SetChannel especificando 01 para indicar que o canal GPIO receberá dados.
- WriteDataFromFile com o nome do arquivo para enviar o conteúdo do arquivo de entrada de exemplo para o módulo GPIO.
- SetChannel com 00 para voltar para o canal de controle receberá os dados.
- WriteData com 0001 no canal de controle para ativar o sequenciador GPIO. O módulo GPIO iniciará o sequenciamento.
Gerar sequências de entrada
Para gerar uma sequência, você precisa desses valores:
Valor do intervalo
O valor do intervalo é uma máscara de bits que indica qual botão é pressionado durante o intervalo. Um valor zero na máscara de bits indica que o botão não é pressionado durante o intervalo de tempo. Aqui estão os valores possíveis de índice de bits de valores:
Índice de bits em valor de 16 bits Uso no sistema em teste 0 Habilitação do botão de energia ("1" habilita a saída) 1 Habilitação do indicador de encaixe ("1" habilita a saída) 2 Habilitação de aumento de volume ("1" habilita a saída) 3 Habilitação de bloqueio de rotação ("1" habilita a saída) 4 Habilitação de diminuição de volume ("1" habilita a saída) 5 Ativação de alternância Slate/Laptop ("1" habilita a saída) 6-7 Não usado 8 O valor do botão Ligar/Desligar ("1" pressiona a opção) 9 Valor do indicador de encaixe ("1" pressiona a opção) 10 Valor de aumento de volume ("1" pressiona a opção) 11 Valor do bloqueio de rotação ("1" pressiona a opção) 12 Valor de diminuição de volume ("1" pressiona a opção) 13 Valor de alternância Slate/Laptop ("1" pressiona a opção) 14-15 Não usado Multiplicador de Relógio
O multiplicador de relógio é o tempo de retenção do botão (em incrementos de microssegundos) para cada padrão de dados antes de passar para o próximo padrão de dados. O módulo de teste gpio mantém o último padrão de dados até que o circuito seja redefinido.
Há uma compensação para usar um multiplicador de relógio pequeno versus grande. Valores menores para o multiplicador permitem mais precisão, o que exige que você crie mais linhas nos padrões de dados para cobrir um período de tempo. Você precisará decidir o equilíbrio certo entre os pacotes de dados necessários e o valor do multiplicador de relógio ao criar os arquivos de padrão de dados.
Usando o exemplo anterior, você pode criar arquivos de injeção de entrada. Para gerar sequências de entrada, você precisa do protocolo de comunicação. Os dados enviados do quadro MITT para o sistema em teste são organizados nesse padrão:
Não há nenhuma verificação de erro no nível do protocolo no circuito de teste do GPIO. Se houver um erro de protocolo, o MITT exibirá um erro desconhecido.
Esquema do adaptador GPIO