Dies ist eine alte Version des Dokuments!
Blinkenlights-Syntax serielle Ansteuerung
Das Blinkenlights kann mit dem SerialMatrix-Code direkt über USB angesteuert werden, hierfür gilt folgende Syntax:
1 Byte wird übertragen und dient als kompletter Steuer-Frame.
Das MSB gibt an, ob es sich um einen Steuer oder Schaltbefehl handelt.
Schaltbefehl
Ein Schaltbefehl hat MSB = 0 und sieht wie folgt aus:
0 | x | x | x | y | y | y | 1/0 (Ein, Aus) |
xxx gibt die Koordinate in x-Postion an, yyy die Koordinate in y-Position. Das letzte Bit gibt an, ob die LED ein- oder ausgeschaltet werden soll.
Soll zum Beispiel die erste LED in der Matrix eingeschalten werden, lautet das zu übertragende Byte: 0b00000001 (0x01)
Der Nullpunkt der Koordinaten kann über den „Ecke wählen“ Befehl eingestellt werden:
Steuerbefehl
Steuerbefehle sind Befehle zum Steuern und Abfragen von Zuständen der Matrix. Diese sind wie folgt aufgebaut:
1 | A | # | # | # | # | # | # |
Mit A = 1 kann der Zustand der LED abgefragt werden, der Befehl sieht wie folgt aus:
1 | 1 | x | x | x | y | y | y |
Als Antwort erhält man
1 | x | x | x | y | y | y | 1/0 (Ein, Aus) |
Die übrigen Steuerbefehle sind:
Verwendung | ||||||||
---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Erweiterter Befehlssatz (noch nicht implementiert)1) |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Clear Screen |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Invert Screen |
1 | 0 | 0 | 0 | 0 | 1 | A | B | Ecke wählen 2) |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | LED-Matrizen durchnummerieren |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | Anzahl der LED Matrizen ausgeben (funktioniert nur wenn rückgekoppelt wird) |