Softwareseitige Front LED Steuerung mit Thomas-Krenn Edge 4L
Beim Thomas-Krenn Edge 4L besteht die Möglichkeit auf Softwareseite die rechte Front LED zweifarbig (Grün/Rot) zu steuern. Damit können Betriebszustände Dienste wie auch evtl. Alarmierungen zusätzlich visuell angezeigt werden. In diesem Artikel zeigen wir, wie Sie diese LED unter Linux steuern.
Beispielsetup
- Thomas-Krenn Edge 4L
- Ubuntu 22.04 LTS mit Kernel Version 5.15.0-71-generic
Vorbereitung der Umgebung
I2C-Tools installieren
Das Toolset ic2tools ist zum Ansteuern der LED erforderlich. Dieses wird wie folgt installiert:
sudo apt install i2c-tools
Gerätedatei für SMBus ermitteln
Der genaue Gerätedateiname des SMBus (in der Form /dev/ic2-X) kann beispielweise mittels ls /dev/i2c* ermittelt werden:
root@custom-hw-image:/dev# ls -lh /dev/i2c* crw-rw---- 1 root i2c 89, 0 Aug 30 10:32 /dev/i2c-0
Alternativ kann auch der Befehl i2cdetect -l verwendet werden:
root@custom-hw-image:/dev# i2cdetect -l i2c-0 smbus SMBus I801 adapter at f040 SMBus adapter
Geräteadressen am SMBus ermitteln
Um fortzufahren muss der SMBus nach Geräteadressen gescannt werden um die Adresse des SMBus I/O Expander zu ermitteln. Er liegt hier beim Thomas-Krenn Edge 4L auf Adresse 0x20 (7Bit Addresse):
root@custom-hw-image:/# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: UU -- -- -- -- -- 56 -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
PINs in den Output Mode versetzen (bei jedem Neustart)
Dann muss der IO-Expander / Pins für die Ansteuerung der LEDs (GPIO Pin 0/1) in den Output Mode gesetzt werden. Hier ist zu beachten das als dieses bei jedem Neustart des Systems gesetzt werden muss:
- Schema: ic2set -y SMBUSNR IOEXPANDERADDRESSE OFFSET VALUE
- Pins auf OUTPUT Mode schalten:
sudo i2cset -y 0 0x20 0x03 0xfc
LEDs ansteuern
Um die LEDs zu schalten werden folgende Einstellungen verwendet:
Farbe | Befehl | Beispielbild |
---|---|---|
Grün | i2cset -y 0 0x20 0x01 0xfd | |
Rot | i2cset -y 0 0x20 0x01 0xfe | |
Off (Aus) | i2cset -y 0 0x20 0x01 0xff |
Autor: Wilfried Seifert Wilfried Seifert, tätig in der Abteilung Systems Engineering bei Thomas-Krenn, ist in seinem Arbeitsbereich für die System-/Prototypenentwicklung sowie Softwaredeployment / Rollout zuständig. LPIC 3 zertifiziert, beschäftigt sich u.a. mit Aufbau / Programmierung Embedded Systemen.
|