Status-LEDs steuern

Der RevPi Flat hat sechs LEDs zur Statusanzeige. Die LED links oben mit dem Power-Symbol zeigt an, ob die Spannungsversorgung angeschlossen ist. Alle anderen LEDs kannst Du für Dein Projekt frei belegen.

Farbpalette

Bei allen Statusanzeigen handelt es sich um zweifarbige LEDs, die auf grün und rot geschaltet werden können. Wenn bei den frei belegbaren LEDs A1- A5 gleichzeitig rot und grün eingeschaltet wird, leuchten sie orange.

Anders ist es bei der Power-LED: diese leuchtet im Normalbetrieb grün und kann wie die anderen LEDs auch zusätzlich auf rot geschaltet werden. Damit kannst Du z. B. irgendeine Art von Fehler anzeigen lassen. Wenn die rote Power-LED eingeschaltet wird, ist die grüne LED automatisch ausgeschaltet. Diese LED kann also nicht orange leuchten.

Das Licht ein- und ausschalten

Die LEDs werden in das sysfs-Verzeichnis „/sys/class/leds/“ exportiert, d. h. Du kannst die LEDs über die Dateien unter diesen Verzeichnissen steuern. Es gibt elf Unterverzeichnisse unter „sysfs“: a1_green, a1_red, a2_green, a2_red, …, a5_green, a5_red und power_red. Entsprechend der Kennzeichnung der LEDs auf dem Gehäuse gilt folgende Zuordnung der Verzeichnisse:

Kennzeichnung auf Gehäuse

sysfs Unterverzeichnisse (/sys/class/leds/)

power_red

A1

a1_green
a1_red

A2

a2_green
a2_red

A3

a3_green
a3_red

A4

a4_green
a4_red

A5

a5_green
a5_red

Direktansteuerung:
Du schaltest die LEDs ein bzw. aus, indem Du in der Datei „brightness“ unter dem entsprechenden Unterordner den Wert zwischen 0 und 255 setzt.
Beispiele:

  • Gib folgende Befehle ein, um die LED A1 auf grün zu schalten:
    echo 255 | sudo tee /sys/class/leds/a1_green/brightness
    echo 0 | sudo tee /sys/class/leds/a1_red/brightness
  • Gib folgende Befehle ein, um die LED A1 auf rot zu schalten:
    echo 0 | sudo tee /sys/class/leds/a1_green/brightness
    echo 255 | sudo tee /sys/class/leds/a1_red/brightness

Lass Dich daraus aber bitte nicht zu der Annahme verleiten, dass die LEDs gedimmt werden können. Jeder Wert >=1 schaltet die LED einfach nur ein.
Um eine LED orange leuchten zu lassen, musst Du entsprechend sowohl die rote als auch die grüne LED einschalten.

  • Gib folgende Befehle z. B. für LED A1 ein:
    echo 255 | sudo tee /sys/class/leds/a1_green/brightness
    echo 255 | sudo tee /sys/class/leds/a1_red/brightness

Ansteuerung mit piTest:
Der nachstehenden Tabelle kannst Du die Werte der RevPiLED Variablen entnehmen, mit denen Du die jeweilige LED über piTest steuerst.

LED

RevPiLED GREEN

RevPiLED RED

A1

0x0001

0x0002

A2

0x0004

0x0008

A3

0x0010

0x0020

A4

0x0040

0x0080

A5

0x0100

0x0200

Beispiel:

  • Gib den Wert 16 ein (d. h. 0x0010 in Hex) bei RevPiLED, um die LED A3 grün zu schalten.
    piTest -w RevPiLED,16