Sensores internos
A Labrador conta com diferentes sensores internos nos chips de processador e de gerenciamento de energia. Todos estes sensores podem ser acessados no diretório /sys/kernel/auxadc
.
Sensores disponíveis
Os sensores disponíveis bem como suas unidades de medida são conforme abaixo:
- ictemp - Temperatura do controlador de energia - 10-3 oC
- batv - Tensão no conector de bateria - mV
- bati - Corrente no conector de bateria - mA
- vbusv - Tensão no bus USB 3 - mV
- vbusi - Corrente no bus USB 3 - mA
- syspwrv - Tensão interna do processador - mV
- wallv - Tensão da fonte de entrada - mV
- walli - Corrente da fonte de entrada - mA
- chgi - Corrente de carregamento da bateria pela fonte - mA *
* O carregamento da bateria ainda não está implementado na última versão do sistema, não recomendamos conectar bateria e fonte simultaneamente.
Leitura
O valor dos arquivos de cada sensor serão atualizados quando for realizada uma leitura. A leitura terá o timestamp do momento da mediçãop e o valor obtido, inclusive com sinal para casos negativos. Por exemplo através do comando abaixo:
$ cat /sys/kernel/auxadc/ictemp 102345 53000 mCelsius
No caso, mostrando 53oC no gerenciador de energia.
$ cat /sys/kernel/auxadc/ictemp 102348 -15000 mCelsius
No caso, mostrando -15oC no gerenciador de energia.
Leitura em programas
Os arquivos podem ser acessados também dentro de outros programas, e atualizarão a cada leitura, é necessário que o arquivo seja aberto, lido e fechado para que os dados continuem atualizados. Um exemplo seria:
fd= fopen("/sys/kernel/auxadc/ictemp") read(fd, buffer) close(fd)
Outra opção é utilizar a função open
do C para Linux, que utiliza um buffer intermediário e também atualiza os valores de leitura, sendo mais rápido do que abrir e fechar o arquivo em cada atualização.