Das System legt den Schwerpunkt auf Flexibilität. Dafür wurde der Overhead von Netzwerk Kommunikation und Konvertierung der Nachrichten in ein Zwischenformat in Kauf genommen. Dabei bleiben die einzelnen Programme recht klein und können auch getrennt entwickelt werden. Um das System um ein neues Protokoll zu erweitern, genügt es, einen entsprechenden Client zu entwickeln und zu starten.
Das System besteht aus einzelnen Daemonen, die per sockets miteinander kommunizieren. Die Kommunikation erfolgt sternförmig. Der Daemon drehscheibe ist dafür zuständig, die Nachrichten eines Clients an sämtliche anderen Clients weiterzuleiten. Wie bei dem CAN Bus des Märklin Digital Systems ist dabei jeder Client immer über alles informiert und kann entsprechend reagieren.
Skizze Netzwerkverbindungen Clients - Drehscheibe
Die Clients erfüllen unterschiedliche Aufgaben. Zum einen gibt es für jedes unterstützte Protokoll einen Client, der zwischen diesem Protokoll und dem interenen Protokoll vermittelt. Daneben können Clients die Aufgabe einer Zentrale erfüllen und z.B. eine Lokliste verwalten oder auch ein Steuerpult zur Verfügung stellen.
Daemon | Beschreibung |
---|---|
Drehscheibe | Weiterleitung der Nachrichten an die Clients |
Client_INJECT | Nachrichten in das System einschleusen |
Client_LOG | Nachrichten des System protokollieren |
Client_ZENTRALE | Zentrale, z.B. Lokliste verwalten |
Client_MS1 | Bearbeitung der MS1 CAN Nachrichten |
Client_MS2 | Bearbeitung der MS2 CAN Nachrichten |
Client_CS2ETH | Bearbeitung der CS2 Ethernet Nachrichten |
Der Quellcode enthält zusätzlich noch ein Verzeichnis libs, das einige mitbenutzte Bibliotheken enthält.
Dateiname | Beschreibung |
---|---|
lokomotive.cs2 | Lokliste der CS2 |