Hallo,
und BiDiB.org schreibt dazu:
MSG_BM_DYN_STATE:
Zustands-Meldung eines Dekoders, es folgen fünf oder mehr Bytes beginnend mit MNUM, ADDRL, ADDRH, DYN_NUM.
MSG_BM_DYN_STATE Parameter
Parameter Beschreibung
MNUM Lokale Nummer des Belegtmelders, Wertebereich 0…127; 255
ADDR[2] Adresse des meldenden Dekoders, kodiert wie oben beschrieben
DYN_NUM Kennzeichnung des übertragenen Zustand.
0: reserviert
1: Signalqualität
2: Temperatur
3: Behälter 1
4: Behälter 2
5: Behälter 3
6: Distanz
7-255: reserviert
VALUE[1…N] Zustandswert, ein Byte sofern nicht anders angegeben.
Dyn-Num Kodierung des Zustandswertes
0: reserviert
1: Signalqualität, Wertebereich 0…100
Übertragen wird das Verhältnis fehlerhaft empfangener Pakete zu Gesamtpaketen in Prozent.
Ein Wert von 0 bedeutet fehlerfreien Empfang (seitens des Dekoders).
2: Temperatur (signed char).
Wert Bedeutung
0…127 Temperatur in der Einheit Grad Celsius.
128…225 reserviert.
226…255 negative Temperatur (-30°C…-1°C).
3: (Betriebs-) Energievorrat, Wertebereich 0…100
Angabe des Füllstandes des Behälters 1; Antriebsenergie (z. B. Akkustand)
4: Behälter 2
5: Behälter 3
6: Distanz, bestehend aus 4 Byte: DISTANCEL, DISTANCEH, TIMEL, TIMEH.
DISTANCE kodiert die gemessene, zurückgelegte Wegstrecke eines Fahrzeuges in mm. Die Wegstrecke wird dabei als zyklisch durchlaufender 16-Bit Wert erfasst (Überlauf 65535-0). Der Zähler inkrementiert, wenn das Fahrzeug vorwärts fährt (in Richtung Führerstand 1).
TIME ist ein Systemzeitstempel für den Zeitpunkt des Empfangs der Nachricht vom Dekoder.
7-255: reserviert
FEATURE_BM_DYN_STATE_INTERVAL legt fest (in Einheiten von 100ms), wie oft die Übertragung erfolgt. Empfohlen ist eine Einstellung von mind. 1s. FEATURE_BM_DYN_STATE_INTERVAL = 0 schaltet die Übertragung ab. Der Detektor soll Zustandmeldungen der Lok nicht übermitteln, wenn diese vor Ablauf von eines FEATURE_BM_DYN_STATE_INTERVAL vom Lokdekoder eintreffen.
Die MSG_BM_DYN_STATE soll nur einmal je (Lok-)Dekoder erfolgen, auch wenn dieser Dekoder aktuell verschiedene Abschnitte überbrückt und daher zugleich in mehreren Abschnitten erfasst wird.
MSG_BM_DYN_STATE wird nur spontan gemeldet und kann nicht abgefragt werden. Durch Setzen oder Löschen des Features FEATURE_BM_DYN_STATE_INTERVAL kann die Übertragung zu- oder abgeschaltet werden.
Hintergrund-Information zur DYN_NUM = 1: Entsprechende Lokdekoder vorausgesetzt (diese müssen railcom ID7, Sub-ID7 bedienen) kann damit eine Art Quality-of-Service Anzeige realisiert werden. Der Lokdekoder führt eine Statistik über alle empfangenen DCC-Pakete (Zahl fehlerhafter Pakete / Gesamtzahl). Diese Statistik wird an den Detektor übertragen und von BiDiB weitergeleitet. Das Hostprogramm entscheidet dann über die Auswertung: korreliert der Fehler mit der Lok, kann ein Hinweis über verschmutzte Radkontakte ausgegeben werden, korreliert der Fehler mit dem Gleisabschnitt, kann auf verschmutztes Gleis geschlossen werden.
Hintergrund-Information zur DYN_NUM = 6: Diese Meldung dient zum genauen Rangieren bzw. zum genauen Vermessen einer Modellanlage. Die Daten werden aus der Rückmeldung des Dekoders gewonnen (Railcom ID07, DV22 und DV23). Die Informationen unterliegen einer Streuung hinsichtlich des Erfassungszeitpunktes abhängig von der DCC-Wiederholrate. Für die Auswertung relevant sind daher sowohl die Belegtmeldungen des Abschnitts als auch die DISTANCE-Meldungen des Dekoders. Beide sind daher - bei gesetztem FEATURE_BM_TIMESTAMP_ON - mit millisekundengenauen BiDiB-Systemzeitstempeln gekennzeichnet, womit ein sehr guter Näherungswert für die exakte Fahrzeugposition durch Interpolation errechnet werden kann.