Das Protokoll besteht aus 7 Bytes. Die Bytes werden als Zeichen übertragen und mit Carriage Return (13) abgeschlossen.
Zwei Zeichen stellen jeweis für ein Byte da, z.B. aus "3a" wird später das Datenbyte 0x3a. Für die Datensicherheit wird im
gleichen Verfahren ein Byte als Prüfsumme übertragen und als Synchronisation der einzelnen Packete dient das Carriage Return.
Für die Übertragung wird die UArt mit 9600 Baud, keine Parität und 1 Stopbit verwendet. Dies hat den Vorteil das auf
den meisten Mikrokontrollern ein Hardwarebaustein schon vorhanden ist und wir uns keine Gedanken mehr über die Übertragung
der einzelnen Bits machen müssen.
Aus diesen 7 Bytes werden werden also 3 Byte Daten kodiert, davon zwei Byte für die Lockinformationen und ein Byte Prüfsumme.
Ein Beispiel:
Lock 3, vorwärts Fahrt, Licht Eingeschaltet, Geschwindigkeit 11. Übertragen wird folgendes:
Es wird folgender Zeichenstring gesendet:
03cbce / Carriage Return
als Bytes:
0x30, 0x33, 0x43, 0x42, 0x43, 0x45, 0x0d
Daten (15 - 8) - Daten (7 - 0) - Prüfsumme
**Protokoll für Loks wenn Bit 15 = 0
| Bit 15 | Bit 14 | Bit 13 - 8 | Bit 7 | Bit 6 | Bit 5 | Bit 4 - 0 |
|---|---|---|---|---|---|---|
| Lok = 0 | Lernen | Loknummer | Richtung | Licht | Signal | Geschwindigkeit |
| 0 = aus | 0 = keine | Vorwärts = 1 | ein = 1 | ein = 1 | 0 - 15 | |
| 1 = aktiv | 1 - 63 | Rückwärts = 0 | aus = 0 | aus = 0 |
Daten (15 - 8) - Daten (7 - 0) - Prüfsumme
**Protokoll für Signale und Weichen wenn Bit 15 = 1
| Bit 15 | Bit 14 | Bit 13 - 8 | Bit 7 - 2 | Bit 1 - 0 |
|---|---|---|---|---|
| Signal = 1 | Lernen | Signalnummer | - | Schalter 1 - 2 |
| 0 = aus | 0 = kein | ein = 1 | ||
| 1 = aktiv | 1 - 63 | aus = 0 |