🛠 Comprendre les triggers en pilotant les 4 LED utilisateur

BeagleBone Black (TI Sitara AM3358) · debutant · Schéma : IMG-beaglebone-black-debutant-2-leds-user-sysfs-triggers.svg — BeagleBone Black vue de dessus avec les 4 LED utilisateur (heartbeat, mmc0, usr2, usr3) surlignées près du connecteur Ethernet, liste des triggers sysfs en médaillon.

Objectives

Discover the Linux LED subsystem without soldering anything: the BeagleBone Black has 4 user LEDs defined in the mainline device tree (am335x-bone-common.dtsi) under the names beaglebone:green:heartbeat, mmc0, usr2, and usr3. Each LED exposes a "trigger": an activation source managed by the kernel (heartbeat, SD card activity, timer...). This is the gateway to hardware control under Debian.

Hardware

Complete code

# Lister les LED exposées par le device tree
ls /sys/class/leds/
# beaglebone:green:heartbeat  beaglebone:green:mmc0
# beaglebone:green:usr2       beaglebone:green:usr3

# Voir les triggers disponibles ; l'actif est entre crochets [ ]
cat /sys/class/leds/beaglebone:green:usr2/trigger

# Chaque LED prend son rôle métier :
echo heartbeat > /sys/class/leds/beaglebone:green:heartbeat/trigger
echo mmc0      > /sys/class/leds/beaglebone:green:mmc0/trigger

# usr2 en minuteur 250 ms allumée / 500 ms éteinte
echo timer > /sys/class/leds/beaglebone:green:usr2/trigger
echo 250 > /sys/class/leds/beaglebone:green:usr2/delay_on
echo 500 > /sys/class/leds/beaglebone:green:usr2/delay_off

# Reprise la main : retirer le trigger puis piloter la luminosité
echo none > /sys/class/leds/beaglebone:green:usr3/trigger
echo 255 > /sys/class/leds/beaglebone:green:usr3/brightness
echo 0   > /sys/class/leds/beaglebone:green:usr3/brightness

Expected verification

The heartbeat LED pulses at the kernel's rhythm, mmc0 blinks during writes to the SD card (test with dd if a microSD is inserted), usr2 blinks at the configured rate. With the none trigger, usr3 instantly obeys echo commands.

Common errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials