Das Verhalten des Systems kann sowohl über die Kommandozeile beim Start als auch über eine Konfigurationsdatei angepaßt werden. Wobei ein Parameter der Kommandozeile einen Parameter der Konfigurationsdatei überschreibt. Die Werte der Konfigurationsdatei können auch über ein Formular der Wegconfig gesetzt werden.
Die Konfiguration wird aus der Datei /etc/mrsystem von jedem Daemonen beim Programmstart eingelesen. Die Konfigurationsdatei enthält die nachfolgend aufgeführten Werte.
Name | Default | Beschreibung | ||||||
---|---|---|---|---|---|---|---|---|
zentrale | 1 |
Dieser Wert bestimmt das Verhalten der Software.
|
||||||
broadcast | 1 |
|
||||||
udpbc | "255.255.255.255" | Dies ist die Broadcast Adresse, an die die UDP Broadcasts verschickt werden. | ||||||
address | "0.0.0.0" | Dies ist die IP Adresse, über die die interne Kommunikation
stattfindet. Wenn der Wert |
||||||
port | 10234 | Dies ist die Portnummer, über die die interne Kommunikation stattfindet. Sollte einen andere Software diese Portnummer verwenden, kann hier der Wert auf eine andere Portnummer gesetzt werden. | ||||||
interface | "lo" | Dies ist das Interface, über die die interne Kommunikation
stattfindet. Wenn als Adresse der Wert |
||||||
can_interface | "can0" | Dies ist das CAN Interface zu Märklin Digital | ||||||
cs2_path | "/var/www/config" | Dies ist der Pfad zu den |
||||||
wakeup_s88 | "0" | Dies beschreibt, ob die Märklin S88 Module gestartet werden sollen.
Der Wert von "0" bedeutet nein. Ansonsten entspricht der Wert dem Parameter
"-c" des Programms "wake-up-links88" von Gerhard Bertelsmann:
-c <config_string> config string "B1=1,B2=3"Als Defaultwert kann "B3=1" benutzt werden. |
||||||
gpio_s88 | "" | Dies sind die Kommandozeilenparameter für den client_gpios88, so wie sie auch das Programm "s88udp-bpi" von Gerhard Bertelsmann erwartet. | ||||||
hide_ms2 | 0 |
Dieser Wert bestimmt, ob eine angeschlossene MS2 auf der Ethernet Seite
sichtbar ist.
| ||||||
emu_host_com | 7970 | Dies ist die Portnummer, auf welcher der client_cceth auf Anfragen des virtuellen COM Port Treiber von HW group wartet. | ||||||
serial_line | "tty0,500000" | Dies ist der Name des seriellen Interface, auf dem der client_tty auf Anfragen eines Computers wartet. Durch ein Komma getrennt wird die gewünschte Geschwindigkeit der Schnittstelle angegeben. Das Protokoll entspricht dem der CC-Schnitte. Jeweils 13 aufeinanderfolgende Bytes sind ein CAN Frame. | ||||||
num_lokfkt | 32 | Dies ist die Anzahl der Lokfunktionen, die in die lokomotive.cs2 geschrieben werden. Damit kann die Anzahl der Lokfunktionen von aktuell 32 auf 16 beschränkt werden, wenn Software nicht mit 32 Lokfunktionen zurecht kommt. |
Da das System einen Webserver für die Anfordergung der cs2 Dateien durch die Handy/Tablet Apps enthält, wurden auch Seiten zur Konfiguration angelegt. Die Startseite enthält ein Menü, von der die Doku des BBB, die Doku der Software und Konfigurationsseiten aufgerufen werden können.
Die Konfiguration enthält eine Seite mit Tabs für verschiedene Teile der Konfiguration. Die erste Seite enthält ein Formular für die Werte der Konfigurationsdatei /etc/mrsystem. Die Werte sind oben beschrieben.
Im zweiten Tab gibt es eine Seite, mit der ein Update eingespielt werden kann. Die Updates müssen per ftp als User developer in das Verzeichnis /home/developer/updates übertragen werden. Der Name des Update Files wird als Wert eingetragen.
Im dritten Tab gibt es eine Seite, mit der Netzwerkparameter des Linux konfiguriert werden können. Es kann zwischen DHCP und einer statischen IP Adresse gewählt werden.
Der vierte Tab erlaubt es festzulegen, welche Teile des Systems gestarte werden sollen. Das System besteht aus einem zentralen Teil, der für die Verteilung der internen Nachrichten zustä,ndig ist. Und aus Clients, die mit diesem zentralen Daemon kommunizieren und ein bestimmtes Protokoll bzw. Bus unterstützen.
Name | Default | Beschreibung |
---|---|---|
client_cc | disable | Dieser Client kommuniziert mittels der CC-Schnitte mit einer MS2 (ungetestet!) |
client_cs2eth | enable | Dieser Client stellt auf der Ethernet Schnittstelle einen CS2 kompatiblen Server zur Verfügung |
client_cs2sl | disable | Dieser Client kommuniziert über Ethernet mit einer CS2 oder einem anderen Server,, der das CS2 Protokoll spricht |
client_ms1 | disable | Dieser Client kommuniziert mittels socketCAN mit einer MS1. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN socketCAN unterst¨tzt und dieser Client compiliert wurde. (unvollständig!) |
client_ms2 | enable | Dieser Client kommuniziert mittels socketCAN mit einer MS2. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN socketCAN unterst¨tzt und dieser Client compiliert wurde. |
client_ms24l | disable | Dieser Client kommuniziert mittels can4linux mit einer MS2. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN can4linux unterst¨tzt und dieser Client compiliert wurde. (ungetestet!) |
client_slcan | disable | Dieser Client kommuniziert mittels eines CAN-USB Adapters, der serial line CAN spricht, mit einer MS2 (ungetestet!) |
client_zentrale | enable | Dieser Client enthät die Logik für die Verwaltung der *.cs2 Dateien und der Statusdateien. Dieser Teil ist nötig, um z.B. die z-lib gepackten Dateien (lokomotive.cs2, ...) an Netzwerclients wie die cs2.exe zu übertragen. Oder die Loks der MS2 auszulesen, abhängig vom eingestellten Modus. |
drehscheibe | enable | Dies ist das zentrale Element zur Verteilung der internen Nachrichten zwischen den Clients. Dieser Teil muß immer gestartet werden. |
client_gpios88 | disable | Dieser Client kommuniziert per GPIO über den S88 Bus mit Rückmeldemodulen. Da die GPIOs nicht konfiguriert werden können, kann dieser Client nur mit dem BPi und der von Gerhard Bertelsmann erstellter Platine benutzt werden. |
client_cceth | disable | Dieser Client ist ein Server für den virtuellen COM Port Treiber von HW group. Der COM Port Treiber setzt die Daten auf Ethernet um. Damit kann z.B. Software eingesetzt werden, die eine CC-Schnitte erwartet. |
Der fünfte Tab erlaubt es, das System zu booten. Wenn die Netzwerkeinstellungen geändert wurden, muß das komplette BBB neu gestarte werden, Wenn die Konfigurationsdatei /etc/mrsystem geändert wird, muß die Software neu gestartet werden, damit die geänderte Konfiguration neu eingelesen wird. Zusätzlich kann hier auch das System angehalten werden.
Die Datei /etc/mrstart beschreibt, welche Daemons des mrsystem gestartet werden. Damit kann das Startscript /etc/init.d/mrsystem generisch arbeiten und muß nicht für jede Änderung der zu startenden Programme geändert werden.
Jede Zeile der Datei enthält einen Eintrag mit dem Namen des Daemons und durch ein Leerzeichen getrennt das Schlüsselwort start oder stop. Daemons mit dem Schlüsselwort start werden vom Startscipt gestartet. Die anderen Einträge werden übersprungen. Ein Beispiel sieht wie folgt aus:
drehscheibe start mrcc stop mrcs2eth start mrcs2sl stop startmrgpios88 stop mrcceth stop mrms1 stop mrms2 start mrms24l stop mrslcan stop mrsrcp stop mrzentrale start mrtty stop
Wenn der Minicomputer nicht permanet läuft, können die Logfiles in eine Ramdisk gelegt werden. Damit beanspruchen sie RAM und stehen nach einem Crash bzw. Reboot nicht mehr zur Verfügung. Aber es wird die SD-Karte weniger mit Schreibzugriffen belastet.
Um die Logfiles in eine Ramdisk zu legen, muß in der Datei /etc/fstab der folgende Eintrag hinzugefügt werden:
tmpfs /var/log tmpfs defaults 0 0Danach kann der Inhalt des Verzeichnis /var/log gelöscht werden und der Computer neu gestartet werden.