Genau dafür ist die Routingtabelle in der PC-Software zutändig!
Mal ein Beispiel wie ich es umsetzen werde "Lichtschalter":
am Arduino:
Schalter für Licht hängt an Klemme 46, Klemme 46 wird in Kanal 46 umgewandelt
Senden vom Arduino/Einlesen von PC-Software:
Kanal 1,2,3,...,46,47,....
Routing in PC-Software:
Kanal 46 ist ein Schalter -> kann ein/aus -> soll in Trainz der Lichtschalter sein -> Sende Taste "L" an Trainz und merke dir den Zustand
Demzufolge die Daten (mal mit 8 Bit) beim 1. Durchgang (Variable a für Licht ist false):
0 auf 255 -> false auf true -> neu"a" ungleich alt "a" -> sende Taste L und merke dir neu"a" als alt"a"