Ative a entrada ADC no Beaglebone com o kernel 4.x

1

Estou executando o Ubuntu 16.04 em um Beaglebone Black, seguindo as instruções do instruções do site eLinux . Eu tenho instalado e funcionando a partir do eMMC.

No entanto, estou com dificuldades para que os pinos de entrada do ADC funcionem. Exemplos que tenho visto (por exemplo, este ) sugerem que executar echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots deve fazer o truque - mas isso não funciona para mim, esse arquivo não existe.

Isso costumava funcionar em 14.04, mas agora não funciona em 16.04. Como posso obter a entrada do ADC para o trabalho?

    
por seanlano 12.02.2017 / 02:47

1 resposta

2

O sistema de sobreposição da árvore de dispositivos mudou um pouco com o kernel 4.x. De acordo com esta página , a localização é agora /sys/devices/platform/bone_capemgr/slots . Eu também encontrei em este relatório de bug que o nome da sobreposição da árvore de dispositivos não é cape-bone-iio , agora é BB-ADC .

Portanto, o comando para rodar em um sistema Ubuntu com o kernel 4.x é:

sudo sh -c "echo 'BB-ADC' > /sys/devices/platform/bone_capemgr/slots"

Você deve então poder ler os valores analógicos com um comando como este:

cat "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"

Para tornar isso permanente durante uma reinicialização, você pode modificar as opções de linha de comando do uBoot, no arquivo /boot/uEnv.txt . Inserir uma linha como esta:

cape_enable=bone_capemgr.enable_partno=BB-ADC

Note que (eu acho) você só pode ter uma linha "enable" no arquivo, se você tem outros módulos para habilitar aqui, coloque-os em uma linha separada por vírgulas.

Agora, na reinicialização, o Beaglebone ativará a entrada do ADC.

    
por seanlano 12.02.2017 / 02:47