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.

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:

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)
Auf alle verarbeiteten Befehle erhält man ein „ACK“ (0x08), auf unbekannte Befehle ein „NAK“ (0x15).
1)
eventuell für weitere Blinkenlights in einer Matrix, …
2)
0|0 Ausgangspunkt LED1, dreht im Uhrzeigersinn