Seit geraumer Zeit wird die Steuerungs-Software der Modelleisenbahn neu implementiert. Die Anmutung ist am originalen ESTW orientiert. Statt Eclipse/Java wird C++/Qt verwendet. Sogar der Biermodus ist inzwischen implementiert und funktioniert einwandfrei. Ein weiterer Vorteil ist die direkte Ansteuerung des CAN-Bus über USB-Adapter. Dadurch entfällt die Tunnelung durch die serielle Schnittstelle. Das Modell wird direkt geladen, sodass kein Plugin mehr generiert und kompiliert werden muss. Ein Edit-Modus ermöglicht die Anpassung des Gleisbild-Layouts.
Die neue Steuerung ist auf Anwendungsebene komplett neu in C++17 entwickelt worden. Die Hardware wird durch Qt abstrahiert. Software-technisch werden konsequent Statecharts unter Benutzung der Yakindu Statechart Tools benutzt. Es werden Unit Tests, SCT-Units sowie Code Coverage genutzt, um die Software-Qualität auf höchstem Niveau zu halten.
Die Software auf den ATmega32 Mikrocontrollern bleibt unangetastet.
Das Projekt ist auf github unter der MIT-Lizenz gehostet. Die Software ist fertig paketiert über ein APT-Repository für Ubuntu oder Debian verfügbar. Die unterstützte Architektur ist x86_64 und arm64. Eine Anleitung zur Einrichtung der Installation findet sich auf den github Projektseiten.
Da die Steuerung auf elektrischer Ebene funktioniert, muss die Steuer-Software ausgiebig getestet werden. Dabei hat sich gezeigt, dass der Einsatz von Multi-Threading sich komplizierter darstellt, als erst vermutet. Grund sind die relativ hohen Echtzeit-Anforderungen, denn auf eingehende Meldungen muss schnell reagiert werden, ohne dass andere Teile der Software blockiert werden.
Nachdem die Fahrstraßen-Steuerung einwandfrei funktioniert, kann der sog. Biermodus entwickelt werden. Hierbei werden Züge aus dem Schattenbahnhof automatisch und zufällig ausgewählt, die durch ebenfalls zufällige Gleise im Hauptbahnhof fahren sollen. Das soll der Entspannung bei einem leckeren Glas Bier dienen. Der Biermodus funktioniert schon ganz gut, allerdings muss die Software noch ein wenig getestet werden.
Heute wurden die Prototypen für die Module der Lichtsignale fertig gelötet. Die Module werden über ein 10-poliges Kabel kaskadiert mit einem Mikrocontroller verbunden. Darüber laufen Spannungsversorgung und die Datenleitung. Auf den Modulen sind Schieberegister (74HC595) samt Leistungstreiber (ULN 2803) für die Lichtsignale vorhanden. Es können bis zu vier Module kaskadiert werden. Die Controller sind in der Lage, die korrekten Signalbilder der Deutschen Bahn anzuzeigen. Es wird also nur das Kommando gegeben, dass z.B. das Signal P3 auf Hp2 geschaltet werden soll. Es werden Vorsignale, Blocksignale, Einfahrsignale, Ausfahrsignale und Gleissperrsignale auseinandergehelten. Dabei könnten in Zukunft noch weitere Signale - wie z.B. die neuen Ks-Signale - der Controller-Firmware hinzugefügt werden, denn es ist ein In-System-Programming der Firmware über CAN-Bus möglich.