Code: Alles auswählen
if (ebene == 4) {
if (dataGroup.i == 0x0005) { // Melder 1000 Hz
if (nutzdata.b[0] == 1) {digitalWrite(37, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(37, LOW);}
} else if (dataGroup.i == 0x0006) { // Melder U
if (nutzdata.b[0] == 1) {digitalWrite(27, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(27, LOW);}
} else if (dataGroup.i == 0x0007) { // Melder M
if (nutzdata.b[0] == 1) {digitalWrite(29, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(29, LOW);}
} else if (dataGroup.i == 0x0008) { // Melder O
if (nutzdata.b[0] == 1) {digitalWrite(31, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(31, LOW);}
} else if (dataGroup.i == 0x000A) { // Melder 500 Hz
if (nutzdata.b[0] == 1) {digitalWrite(35, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(35, LOW);}
} else if (dataGroup.i == 0x000B) { // Melder Befehl
if (nutzdata.b[0] == 1) {digitalWrite(33, HIGH);}
if (nutzdata.b[0] == 0) {digitalWrite(33, LOW);}
}
}
ich erweitere meinen Sketch so, dass er beide Protokolle kann.
Zusi2/Loksim geng ja schon. Das Zusi3 Protokoll lässt sich recht einfach einfügen. Danke an F. Schn.!
Mit dem Code-Schnipsel oben habe ich aber ein Problem, bzw. mit dem, was mir Übertragen wird. Und zwar erwarte ich, dass wenn ein Leuchtmelder blinkt, ich alle 500ms ein neues Paket bekomme, mit neuen Werten.
Neue Daten bekomme ich auch Zyklisch, jedoch ändern sie die LM-Zustände nicht oder nur sehr selten. Bekomme ich z.B. eine 1000er Beeinflussung, geht der blaue LM aus, anstatt, dass er anfängt zu blinken.
Hat jemand einen Tipp?
Gruß
Jens