haduino (Hades + Arduino) bezeichnet eine Hardwarekomponente, die in der Löschstation verbaut ist. Auf einem Display im Frontpanel der Löschstation werden die Prozentangaben der Löschvorgänge dargestellt.
Der Haduino besteht aus folgenden Teilen:
Das Display wird vom Arduino über den I²C-Bus angesprochen.
Pin Arduino | Pin Display | Funktion |
---|---|---|
GND | GND | Masse (Ground) |
Vcc | Vcc | 5V Spannung |
2 | SDA | I²C Datenleitung |
3 | SCL | I²C Takt (Clock) |
Solltest du für den Aufbau einen anderen Arduino verwenden, solltest du die SDA und SCL Pins entsprechend anpassen. Der Arduino Micro ist mit dem Arduino Leonardo verwandt und benutzt daher die Digitalpins 2 und 3 für I²C. Siehe auch: https://www.arduino.cc/en/Reference/Wire
Die Löschstation kommuniziert mit dem Arduino über ein serielles Protokoll. Dabei werden dem Arduino die Prozentangaben der jeweiligen Festplatten mitgeteilt, die auf dem Display dargestellt werden sollen.
Kommando | Code | Beschreibung | Signatur |
---|---|---|---|
STATUS | 0x01 | return status and clear errors | int status(void) |
HDD | 0x02 | update hard drive progress | void hdd(int N, int* progress) |
Das Kommando HDD bekommt eine Liste mit bytes, die jeweils die Fortschrittsangaben (in %) kodieren. Der erste Parameter des Kommandos ist die Länge der Liste.
Name | Code | Bedeutung |
---|---|---|
OK | 0x00 | alles ok |
ERROR | 0x01 | flag, das bei kritischen Fehlern gesetzt wird |
BAD CMD | 0x02 | unbekanntes Kommando |
OVERFLOW | 0x04 | Überlauf (durch Angabe von mehr als 16 HDDs) |
NOT IMPL | 0x08 | Zugriff auf nicht implementiertes Kommando |
BAD PROG | 0x0F | HDD progress außerhalb Intervall [0,100] |