🛠 Apprivoiser les LED et la touche ADC du carrier CM4IO

Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4) · debutant · Schéma : IMG-bananapi-cm4-debutant-2-leds-et-cle-adc-cm4io.svg — gros plan du carrier BPI-CM4IO : LED bleue (GPIOAO_7), LED verte (GPIOAO_2), bouton « Function » relié au SARADC, header 26 broches en bas d'image.

Objetivos

El device tree mainline (meson-g12b-bananapi-cm4-cm4io.dts, Linux ≥ 6.4) ya registra los dos LED del carrier (azul = GPIOAO_7, verde = GPIOAO_2) y el botón «AD-Key» del carrier, una tecla de resistencia en el canal 2 del SARADC. No se necesita ninguna biblioteca GPIO: controlará los LED mediante la API LED class de /sys y leerá el botón con evtest.

Hardware

Código completo

sudo apt update && sudo apt install -y gpiod evtest

# Les deux LED sont des périphériques LED class
ls /sys/class/leds/
cat /sys/class/leds/blue:status/trigger   # la liste des triggers, default=heartbeat

# LED bleue = activité CPU, LED verte = allumée manuellement
echo cpu  | sudo tee /sys/class/leds/blue:status/trigger
echo none | sudo tee /sys/class/leds/green:status/trigger
echo 255  | sudo tee /sys/class/leds/green:status/brightness

# Faire monter la charge pour voir le trigger « cpu » réagir
sudo apt install -y stress-ng && stress-ng --matrix 0 --timeout 30s &

# Le bouton AD-Key (SARADC ch2, seuil 1,71 V) arrive comme périphérique evdev
sudo evtest    # choisir le périphérique adc-keys, appuyer : événement KEY_FN

Verificación esperada

El LED azul parpadea según la carga de la CPU (mucho más rápido durante stress-ng); el LED verde permanece encendido después del echo 255; evtest muestra eventos EV_KEY / KEY_FN en cada pulsación de la tecla Function del carrier.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales