Die Kommandoverarbeitung in der Firmware der CAN-Knoten war ein unschönes Stück Spaghetti-Code. Es dient trotzdem als Referenzimplementierung für die modellbasierte Firmware-Entwicklung. Zuerst wurde ein Zustandsdiagramm gefertigt, das die Betriebszustände enthält. Die eingehenden Kommandos sind die Zustandsübergänge enthalten. Aus diesem Diagramm wird mit Hilfe von openArchitectureWare der Code für die Kommandoauswertung generiert. Der Code enthält relativ viele Callbacks und switch/case-Anweisungen und bläht den Binärcode um ca. 1,5 KByte auf. Das ist aber nicht weiter schlimm, da jetzt noch Platz für ca. 18 KByte im Flash des ATmega32 vorhanden ist.
Auf dem heutigen Yakindu -Tag wurde die itemis AG für ihre innovativen Leistungen im Bereich der modellbasierten Software-Enwicklung im Embedded Umfeld ausgezeichnet. Bei dieser Gelegenheit wurde die Vorführanlage gezeigt. Das Bild zeigt die itemis-Vorstände nach der Preisverleihung.
Dieses Bild zeigt schon einen Vorgeschmack auf die bevorstehende Elektrifizierung. Es zeigt die rechtsseitige Weichenstraße macht die Komplexität deutlich: Jedes Ausfahrsignal hat sechs LEDs. Mit ihren Schutzwiderständen baumeln sie noch unmotiviert aus der Platte. Zusätzlich kann man die Weichenanschlüsse erkennen und die provisorische Verdrahtung der Gleisabschnitte. Alle Anschlüsse werden an Mikrocontroller der Firma Atmel angeschlossen, die dann zentral von einem PC gesteuert werden. Einige kleine Details zur Stellwerkssteuerung habe ich in einem gesondertem Artikel beschrieben.