API LoDi-Rektor

Einführung

Im folgenden werden die vom LoDi-Rektor verstandenen Kommandos aufgelistet. Die Kommunikation zum Gerät wird im Abschnitt Allgemeine API erklärt.


Basis-Kommandos

GetVersion

Dieses Kommando liefert die Gerätekennung sowie die FW-Version des Geräts.

Pakettyp Kommando Paketnummer
 0x20 0x0F 0x00 .. 0xFF

Von Steuersoftware zu senden

Pakettyp Kommando Paketnummer Gerätetyp Major Minor Patch
 0x21 0x0F 0x00 .. 0xFF 0x03      

Antwort vom Gerät

Der Gerätetyp ist beim LoDi-Rektor immer 0x03.

Die Firmware-Version setzt sich aus den drei Komponenten Major, Minor und Patch zusammen. Sie wird im Format "v<Major>.<Minor>.<Patch>" angezeigt. Beispiel: "v01.03.01"

Die Major-Version ändert sich nur, wenn eine komplett neue Hardware mit geänderten Eigenschaften und Funktionsumfang herausgebracht wird.

Die Minor-Version ändert sich, wenn Ergänzungen an der API erfolgen. Diese können bei einzelnen Kommandos auch inkompatibel sein.

Die Patch-Version ändert sich bei allgemeinen Fehlerbehebungen, die nicht die API betreffen.

DeviceConfigGet

Dieses Kommando liest die Einstellungen des LoDi-Rektors.

Pakettyp Kommando Paketnummer
 0x20 0x99 0x00 .. 0xFF

Von Steuersoftware zu senden

Pakettyp Kommando Paketnummer Fehlerreaktion StartStop CDE
 0x21 0x99 0x00 .. 0xFF 0 .. 1 0 .. 1  

Antwort vom Gerät

Das Feld Fehlerreaktion definiert, was bei einem Fehler am CDE-Anschluss passiert.

  • 0: Die Fehlerleitung am CDE-Ausgang wird nicht verändert
  • 1: Der Fehler wird an den CDE-Ausgang durchgereicht. Dort angeschlossene Booster schalten ab.

Im Feld StartStop wird das Verhalten des beim Start/Stop am LoDi-Rektor festegelegt. Dies betrifft sowohl den Knopf als auch das Kommando über die API-Schnittstelle.

  • 0: Die Zustände der Booster ändern sich nicht.
  • 1: Die Booster werden mit dem Start/Stop-Signal geschaltet.

Der Eintrag CDE legt das Verhalten des CDE-Anschlusses fest.

  • 0: Der CDE-Anschluss ist abgeschaltet. Er ist elektrisch ohne Funktion
  • 2: Der CDE-Anschluss ist als Eingang geschaltet. Das Gleis-Signal kommt über den CDE-Anschluss von einer anderen Zentrale.
  • 3: Der CDE-Anschluss ist als Ausgang geschaltet. Das Gleis-Signal wird vom LoDi-Rektor generiert. Es können weitere Booster am CDE-Anschluss angeschlossen werden.

SetWatchdog

Wurde der Watchdog-Befehl einmal empfangen, erwartet der LoDi-Rektor spätestens alle 2 Sekunden diesen Befehl erneut. Bleibt er aus, werden die Booster abgeschaltet.

Pakettyp Kommando Paketnummer Status
 0x20 0x9A 0x00 .. 0xFF 0 .. 1

Von Steuersoftware zu senden

Das Feld Status schaltet die Watchdos-Überwachung ein oder aus.

  • 0: Die Überwachung wird abgeschaltet.
  • 1: Die Überwachung wird eingeschaltet.
Pakettyp Kommando Paketnummer
 0x21 0x9A 0x00 .. 0xFF

Antwort vom Gerät

GetModules

Dieses Kommando liest den gesamten µCon-Bus aus.

Pakettyp Kommando Paketnummer
 0x20 0xA0 0x00 .. 0xFF

Von Steuersoftware zu senden

Pakettyp Kommando Paketnummer Anzahl Typ0 .. Typ63
 0x21 0xA0 0x00 .. 0xFF 64      

Antwort vom Gerät

Die 64 Typ-Felder sind aufsteigend mit allen µCon-Adressen beginnend mit 0 gefüllt. Die Werte entsprechen den Typen der vorhandenen Geräte.

  • 0: Kein Gerät auf Adresse vorhanden
  • 1: µCon-Booster
  • 2: Railspeed
  • 3: LoDi-Booster
  • 4: CDE-Anschluss
  • 5: LoDi-TrainSpeed

Das oberste Bit zeigt bei einem LoDi-Booster an, ob sich das Gerät gerade im Programmiermodus befindet und auf eine neue Adresse wartet.

GetModulName

Liest den Namen eines µCon-Geräts am Bus. Die Namen werden anhand der µCon-Adresse im LoDi-Rektor gespeichert.

Pakettyp Kommando Paketnummer Booster-Adresse
 0x20 0xA3 0x00 .. 0xFF 1..63

Von Steuersoftware zu senden

Booster-Adresse enthält die µCon-Adresse des zu lesenden Geräts.

Pakettyp Kommando Paketnummer Länge Zeichen 1 .. Zeichen 16
 0x21 0xA3 0x00 .. 0xFF 0 .. 16      

Antwort vom Gerät

Im Feld Länge wird die Anzahl der Zeichen im Namen übergeben.

Die Felder Zeichen 1 bis Zeichen 16 enthalten die Zeichen des Gerätenamens.

SetModuleName

Setzt den Namen eines µCon-Geräts. Die Namen werden anhand der µCon-Adresse im LoDi-Rektor gespeichert.

Pakettyp Kommando Paketnummer Adresse Länge Zeichen 1 .. Zeichen 16
 0x20 0xA2 0x00 .. 0xFF 1 .. 63 0 .. 16      

Von der Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des Geräts.

Das Feld Länge bestimmt die Länge des zu setzenden Strings und damit auch die Länge des Pakets.

Die Einträge Zeichen 1 bis Zeichen 16 enthalten die einzelnen Zeichen des Strings. Der String wird nicht 0-terminiert.

Booster-Kommandos

BoosterOn

Dieses Kommando schaltet einen oder mehrere Booster ein.

Pakettyp Kommando Paketnummer Booster-Adresse Status A Status B
 0x20 0x90 0x00 .. 0xFF 1..63, 255 0x00 .. 0x01 0x00 .. 0x01

Von Steuersoftware zu senden

Über die Booster-Adresse kann entweder ein einzelner Booster (1 bis 63) oder alle Booster (255) angesprochen werden.

Die beiden Booster-Kanäle A und B werden über Status A und Status B geschaltet:

  • Status X = 0: Booster-Kanal aus
  • Status X = 1: Booster-Kanal ein

Das Gerät antwortet mit einem ACK-Paket, wenn das Kommando ausgeführt wurde oder mit einem NACK-Paket, wenn z.B. die angegebene Booster-Nummer nicht vorhanden ist.

BoosterStatus

Dieses Kommando erfragt den Status eines oder aller Booster.

Pakettyp Kommando Paketnummer Booster-Adresse Neu
 0x20 0x91 0,1 .. 0xFF 1..63, 255 0 .. 2

Von Steuersoftware zu senden

Über die Booster-Adresse kann entweder ein einzelner Booster (1 bis 63) oder alle Booster (255) angesprochen werden.

Das Feld Neu hat die folgenden Bedeutungen:

  • 0: alle Booster
  • 1: neue Booster
Pakettyp Kommando Paketnummer Anzahl Booster-Adresse Status A Status B
 0x21 0x91 0x00 .. 0xFF   1..63 0 .. 2  0 .. 2

Antwort vom Gerät

Das Feld Anzahl gibt die Anzahl der gelesenen Booster zurück jeder Booster belegt im Paket jeweils drei Bytes.

Booster-Adresse entspricht der µCon-Adresse des gefundenen Boosters. Status A und Status B enthalten die Statusinformation der beiden Booster-Kanäle nach dem folgenden Muster:

  • Status X = 0: Booster-Kanal aus
  • Status X = 1: Booster-Kanal ein
  • Status X = 2: Booster-Kanal Kurzschluss

BoosterDiagnostics

Dieses Kommando fragt Informationen zur Spannung, zu der Stromstärke beider Kanäle und zur Temperatur ab.

Pakettyp Kommando Paketnummer Booster-Adresse
 0x20 0x92 0x00 .. 0xFF 1..63, 255

Von Steuersoftware zu senden

Über die Booster-Adresse kann entweder ein einzelner Booster (1 bis 63) oder alle Booster (255) angesprochen werden.

Pakettyp Kommando Paketnummer Anzahl Booster-Adresse Spannung Strom A Strom B Temp.
 0x21 0x92 0x00 .. 0xFF   1..63 0..255  0..255 0..255 0..255

Antwort vom Gerät

Das Feld Anzahl gibt die Anzahl der gelesenen Booster zurück jeder Booster belegt im Paket jeweils fünf Bytes.

Booster-Adresse entspricht der µCon-Adresse des gefundenen Boosters.

Das Feld Spannung enthält die am Booster gemessene Ausgangsspannung. Sie lässt sich nach der folgenden Formel ermitteln: Spannung*17.0/146.0.

Die Felder Strom A und Strom B enthalten den am jeweiligen Booster-Kanal gemessenen Strom. Er lässt sich nach der folgenden Formel ermitteln: Strom*2.5/127.0.

Das Feld Temperatur wird zur Zeit nicht verwendet und ist immer 0.

GetBoosterConfig

Dieses Kommando liest die Einstellungen eines Boosters.

Pakettyp Kommando Paketnummer Booster-Adresse
 0x20 0x93 0x00 .. 0xFF 1 .. 63

Von Steuersoftware zu senden

Die Booster-Adresse gibt den zu lesenden Booster (1 bis 63) an.

Pakettyp Kommando Paketnummer Booster-Adresse Empfindlichkeit Ausschaltzeit Startmodus Railcom
 0x21 0x93 0x00 .. 0xFF 1 .. 63 10 .. 50  0 .. 15 0 .. 1 0 .. 1

Antwort vom Gerät

Die Booster-Adresse gibt den Booster an, dessen Einstellungen gelesen wurden.

Die Empfindlichkeit stellt die Zeitdauer ein, bis ein Kurzschluss ausgelöst wird. Die folgenden Einstellungen sind möglich:

  • 10: 50ms "sehr schnell"
  • 20: 100ms "schnell"
  • 30: 300ms "normal"
  • 40: 500ms "langsam"
  • 50: 700ms "sehr langsam"

Die Ausschaltzeit gibt an, wie lange der Booster nach einem Kurzschluss ausgeschaltet bleiben soll, bevor er automatisch wieder einschaltet. Dieser Wert wird in Sekunden angegeben.

Mit dem Startmodus wird das Verhalten nach einem Kurzschluss eingestellt.

  • 0: Nach einem Kurzschluss wird der Booster nach Ablauf der in Empfindlichkeit eingestellten Zeit wieder eingeschaltet.
  • 1: Der Booster bleibt nach einem Kurzschluss ausgeschaltet.

Das Feld Railcom gibt an, ob der Booster einen Railcom-Cutout generiert.

  • 0: Der Booster generiert keinen Railcom-Cutout.
  • 1: Der Booster generiert einen Railcom-Cutout.

Railspeed-Kommandos

GetRailspeedConfig

Liest die Einstellungen eines Railspeed-Sensors.

Pakettyp Kommando Paketnummer Adresse
 0x20 0x9E 0x00 .. 0xFF 1 .. 63

Von Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des einzustellenden Railspeed-Sensors.

Pakettyp Kommando Paketnummer Adresse ScaleHigh ScaleLow Sprache LenAktiv TolAktiv
 0x21 0x9E 0x00 .. 0xFF 1 .. 63     0 .. 1 0 .. 1 0 .. 1

Von Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des einzustellenden Railspeed-Sensors.

Die beiden Feldern ScaleHigh und ScaleLow den Maßstab 1:n für die Messung an. Wobei sich n wie folgt berechnet: n = (ScaleHigh*256 + ScaleLow) / 10.

Das Feld Sprache legt die Sprache für das Display des Railspeed-Sensors fest.

  • 0: Deutsch
  • 1: Englisch

Die Einstellung LenAktiv aktiviert die Längenmessung.

  • 0: Längenmessung inaktiv
  • 1: Längenmessung aktiv

Mit TolAktiv wird die Toleranzmessung aktiviert.

  • 0: Die Toleranzmessung der Geschwindigkeit ist inaktiv
  • 1: Die Toleranzmessung der Geschwindigkeit ist aktiv.

RailspeedSetConfig

Setzt die Einstellungen eines angeschlossenen Railspeed-Sensors.

Pakettyp Kommando Paketnummer Adresse ScaleHigh ScaleLow Sprache LenAktiv TolAktiv
 0x20 0x9B 0x00 .. 0xFF 1 .. 63     0 .. 1 0 .. 1 0 .. 1

Von Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des einzustellenden Railspeed-Sensors.

In den beiden Feldern ScaleHigh und ScaleLow wird der Maßstab 1:n für die Messung eingestellt. Wobei sich n wie folgt berechnet: n = (ScaleHigh*256 + ScaleLow) / 10. Für den Maßstab H0 (n=87) ist also ScaleHigh auf 3 und ScaleLow auf 102 zu setzen.

Das Feld Sprache legt die Sprache für das Display des Railspeed-Sensors fest.

  • 0: Deutsch
  • 1: Englisch

Die Einstellung LenAktiv aktiviert die Längenmessung.

  • 0: Längenmessung inaktiv
  • 1: Längenmessung aktiv

Mit TolAktiv wird die Toleranzmessung aktiviert.

  • 0: Die Toleranzmessung der Geschwindigkeit ist inaktiv
  • 1: Die Toleranzmessung der Geschwindigkeit ist aktiv.
Pakettyp Kommando Paketnummer
 0x21 0x9B 0x00 .. 0xFF

Antwort vom Gerät

RailspeedSetText

Ändert den im Railspeed-Sensor angezeigten Text.

Pakettyp Kommando Paketnummer Adresse Typ Länge Zeichen 1 .. Zeichen 16
 0x20 0x9F 0x00 .. 0xFF 1 .. 63 0 0 .. 16      

Von der Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des Railspeed-Sensors.

Das Feld Typ wird weiter nicht verwendet, es sollte 0 mitgesendet werden.

Das Feld Länge bestimmt die Länge des anzuzeigenden Strings und damit auch die Länge des Pakets.

Die Einträge Zeichen 1 bis Zeichen 16 enthalten die einzelnen Zeichen des Strings. Der String wird nicht 0-terminiert. 

RailspeedSetActive

Aktiviert und deaktiviert die Events von Railspeed-Sensoren.

Pakettyp Kommando Paketnummer Adresse Aktiv
 0x20 0x9C 0x00 .. 0xFF 1 .. 63, 255 0 .. 1

Von der Steuersoftware zu senden

Das Feld Adresse enthält die µCon-Adresse des zu aktivierenden Railspeed-Sensors. Wird 255 angegeben, werden die Events aller am Bus vorhandenen Railspeed-Sensoren aktiviert oder deaktiviert.

Der Eintrag Aktiv gibt an, ob die Events des Sensor aktiviert oder deaktiviert werden sollen.

  • 0: Events deaktivieren
  • 1: Events aktivieren

RailspeedEvent

Dieser Event wird automatisch vom Gerät gesendet, wenn Railspeed-Events eingeschaltet sind.

Pakettyp Kommando Paketnummer Adresse Typ WertHi WertLo Status Valid SensorL SensorR
 0x22 0x9D 0x00 .. 0xFF 1 .. 63 1, 2, 4     0 .. 1 0 .. 1 0 .. 1 0 .. 1

Event vom Gerät

Das Feld Adresse enthält die µCon-Adresse des auslösenden Railspeed-Sensors.

Typ bestimmt, die Art des Events.

  • 1: Geschwindigkeitsmessung
  • 2: Längenmessung
  • 3: Toleranz der Geschwindigkeit

Die Einträge WertHi und WertLo geben den Messwert an. Bei Geschwindigkeits- und Toleranzmessung ist die Einheit mm/s, bei Längenmessung mm. Sind WertHi und WertLo 0, so ist die Messung ungültig.

Der Messwert wird dabei wie folgt ermittelt: Wert = WertHi*256 + Wert Low.

Das Feld Status zeigt an, ob die Messung beendet ist.

  • 0: Messung beendet, bereit für nächste Messung
  • 1: Messung läuft noch

Valid gibt an, ob der in WertHi und WertLo angezeigt Wert gültig ist.

  • 0: WertLo und WertHi sind ungültig.
  • 1: WertLo und WertHi sind gültig.

Die Einträge SensorL und SensorR zeigen die aktuelle Verdeckung des linken und rechten Sensors an.

  • 0: Sensor frei
  • 1: Sensor verdeckt

Zentrale

Die Zentrale kann das DCC- und Motorola-Gleissignale erzeugen. Sie ist nur aktiv, wenn der CDE-Anschluss entweder abgeschaltet ist oder auf Ausgang steht.

Track-Commander

Die Track-Commands sind optional für den LoDi-Rektor und müssen zuerst initialisiert werden. Sie müssen nicht wieder geschlossen werden.

Alle Befehle werden quittiert (0x21),  ohne zusätzlichen Daten zurückzugeben, es sei den, es ist anders definiert. 

 Type Cmd  SeqNr
0x21 0xC0-0xCF 0-255

InitProtocols

Dieses Kommando startet das Generieren des Gleissignals.

 Type Cmd  SeqNr Default protocol
0x20 0xCE 0-255 1..2

Das optionale Feld "Default protocol" definiert welches Protokoll generiert wird. 

1 = DCC

2 = Motorola

Ist kein Protokoll spezifiziert wird DCC gewählt.

CloseProtocols

Dieses Kommando stoppt die Generation des Gleisprotokolls und sollte vor der Verbindungstrennung gesendet werden.

 Type Cmd  SeqNr
0x20 0xCF 0-255

Decoder commands

Alle Kommandos starten im selben Feld wie beschrieben und werden nicht wiederholt. 

 Type Cmd  SeqNr Protocol AddL AddrH
0x20 0xC0-0xC6 0-255 Sub bit 7..4 / Main bit 3..0 bit 7..0 bit 15..8

Das Feld "Protocol" teilt in zwei Parts. Der erst Teil (Sub) ist das Protokoll, der zweite (Main) spezifiziert die Details des Protokolls.

 

DCC, Main = 1;

Sub 1 =14 Stufen

Sub 2 = 27 Stufen ( nicht supported, nur vorbehalten )

Sub 3 = 28 Stufen

Sub 4 = 126 Stufen.

 

Motorola, Main = 2;

Sub 1 = 14 Stufen (offizielle Nummer der Fahrstufen).

Sub 2 = 27 Stufen 2 Pakete hintereinander müssen gesendet werden (27A) ist nicht unterstützt. 

Sub 3 = 27 Stufen in einem Paket (27B) für neuer MFX Lokomotiven.

Sub 4 = 28 Stufen in einem Paket für ältere MFX Lokomotiven. 

Sub 6 = Motorola Funktionsdecoder (old)

 

Wenn der Sub Part einmal gesendet wurde, muss dieser nicht immer und immer wieder gesendet werden. Verwenden Sie Zero wenn keine Änderungen anliegen. Ein Non-Zero Wert updated die benutze Nummer der Fahrstufen. 

 

Das Adressefeld wird als niedrigeres Byte decodiert und hängt vom Protokoll ab. 

DCC

Kurze Adressen (1-127) können in AddrL. spezifiziert werden. AddrH muss null sein.

Lange Adressen (1-9999) müssen in AddrL und AddrH spezifiziert werden. 

 

Motrola

Bei Motorola können Adressen (1-255) in AdrrL. gesetzt werden. AddrH muss zero bleiben, 

 

Release

Um eine Adresse aus dem Refresh zu nehmen, wenn die Lok nicht mehr auf dem Gleis steht. 

 Type Cmd  SeqNr Protocol AddL AddrH
0x20

0xC0

0-255 Sub / Main bit 7..0 bit 15..8

SetSpeed

Um die Decoder-Stufen und Richtung zu setzen. 

 Type Cmd  SeqNr Protocol AddL AddrH Mask Speed
0x20

0xC1

0-255 Sub / Main bit 7..0 bit 15..8 bit 7..6 0-255

Das Feld Mask nutzt nur das aktuelle höhere Bit:

Bit 7, 1 = vorwärts, 0 = rückwärts

Bit 6, 1 = emergency stop (Speed muss zero sein),0 normale Speed step.

 

Das Feld Speed spezifiziert die Decoder steps (0 = stop, 1 erster step bis zum Maximum step abhängig vom gewählten Protokoll und dessen max Fahrstufen ( step ).

SetFunctions

Um Funktionen zu setzen die mit im Refresh sind.

 Type Cmd  SeqNr Protocol AddL AddrH Index Data
0x20

0xC2

0-255 Sub / Main bit 7..0 bit 15..8 0-255 0..1

Das Feld Index spezifiziert die Funktionen die geändert werden:

Index 0-127 können individuell gesetzt werden (0 = f0, 1 = f1). Data muss 0 oder 1 sein. 

 

Um die Funktionen effektiver zu setzen, können Funktionsgruppen im höheren Bit vom Feld Index ( bit 7 ) gesetzt werden. 

 

DCC (f0-f28)

Gruppe 1: Index = 0x81, Data = 0 0 0 f0 f4 f3 f2 f1

Gruppe 2: Index = 0x82, Data = 0 0 0 0 f8 f7 f6 f5

Gruppe 3: Index = 0x83, Data = 0 0 0 0 f12 f11 f10 f9

Gruppe 4: Index = 0x84, Data = f20 f19 f18 f17 f16 f15 f14 f13

Gruppe 5: Index = 0x85, Data = f28 f27 f26 f25 f24 f23 f22 f21

Diese Gruppen sind die gleichen original DCC Pakete die gesendet werden müssen. 

 

Motorola (f0-f4)

Diese Funktionen können individuell gesetzt werden , da jede Funktion ein individuelles Paket an das Gleis sendet. Sollten Sie aber alle Funktionen gleichzeitig setzen wollen, dann machen sie folgendes:

Index = 0x81, Data = 0 0 0 f0 f4 f3 f2 f1

 

Für Motorola Funktionsdecoder ist es effizienter Index 0x81 mit f1-f4 zu setzen. Alle Funktionen werden auf einmal gesetzt.  

SetBinary

Um die Binärfunktionen zu setzen ( nur in DCC möglich ).

 Type Cmd  SeqNr Protocol AddL AddrH Data Extra
0x20

0xC3

0-255 Sub / Main bit 7..0 bit 15..8 on/off    /   indexL indexH

 

Das Feld Extra ist optional und wird nur für Binärfunktionen verwendet, die mit dem Index 128 beginnen.

Das Feld kann für denselben Effekt auch auf Null gesetzt werden.

SetState

Um den State für alle Funktionsdecoder zu setzen.

 Type Cmd  SeqNr Protocol AddL AddrH Data
0x20

0xC4

0-255 Sub / Main bit 7..0 bit 15..8 basic / extended / aspect

Das Addressfeld für die Zubehörartikel spezifiziert die individuelle Adresse, nicht die Decoder Adresse für einen Decoder mit 4 doppelten Ausgängen.

 

Es gibt zwei Einstellungen. Es gibt eine Grund und eine erweitere Zubehöreinstellung. In der Grundeinstellung verfügt der Zubehörartikel über zwei Status (Value0 und 1) und wird unterstützt von DCC und Motorola.

In der erweiterten Einstellung für DCC können 32 Aspekte gesetzt werden. (Value 0-31)

 

DCC

Abhängig von der Interpretation der Adressen sollten Sie der Adressen normalerweise eine 4 hinzufügen, um dem allgemeinen Standard zu entsprechen. Die Adressen 0-3 sind eine Art Schattenadressen, die nur von einigen Systemen (zB Roco) verwendet werden. 

 

Wenn der höchste Bit im Feld Data (Bit7) gesetzt wird, sind Grundeinstellungen im Zubehörartikel gesetzt. In dem Fall gibt der langsamste Bit des Feldes Data( Bit0) den Status vor und muss 0 oder 1 sein. Ob der Ausgang aktiviert ist oder nicht, wird durch den Bit3 indiziert. Normalerweise wird der Befehl zweimal gesendet, um es zu aktivieren und zu deaktivieren, da es normalerweise pulsiert.

 

Motorola

Unterstützt nur Basis Zubehör mit Bit 0 für State (1 = Grün, 0 = Red) und Bit 3, um anzuzeigen, ob der Ausgang aktiviert ist oder nicht.

CV

Um die Konfigurations-Variablen für Fahrzeuge (0xC5) und für Zubehör (0xC6) zu setzen. 

 Type Cmd  SeqNr Protocol AddL AddrH Mask Index Data
0x20

0xC5-0xC6

0-255 Sub / Main bit 7..0 bit 15..8 ih  / action 0-255 0-255

Neben dem Protokoll und der Adresse, die bereits für Fahrzeuge und Zubehör beschrieben wurden, gibt es drei zusätzliche Felder.

 

Das Feld Maske enthält die Aktion im untersten Nibble (Bit 3..0):

0 = Wirt Byte, das Daten Feld enthält den Byte-Wert

1 = Write Bit, das Feld Data hat den Bit-Wert im höheren Bit (Bit 7) und im Index der anderen Bits. 

2 = Read Byte, das Data Feld kann ignoriert werden und kann auf Zero gesetzt werden.

 

Das Feld Index enthält den CV-Index (beginnend bei Null) mit den Werten 0-255. Für höhere Indizes wird das obere Nibble (Bit 7..4) des Feldes Mask (ih genannt) als Bit 11.8 des Indexes verwendet.

 

Momentan werden Konfigurationsvariablen nur für DCC mit Indizes von 0-1023 unterstützt.