Die Konfigurationsdatei wird im XML-Format abgespeichert. Da es
sich bei XML-Dateien um ein reines Textformat handelt, kann ein erfahrener
Benutzer solche Dateien mit einem beliebigen Texteditor bearbeiten. Weniger
erfahrenen Benutzern sei empfohlen, Veränderungen in der Datei mit
einem speziellen Programm vorzunehmen, damit der Inhalt der Datei stets
korrektes XML enthält.
Treten beim Lesen der Konfigurationsdatei Fehler auf, sendet
srcpd entsprechende Fehlermeldungen an den syslog-Daemon. Diese
können über die Datei /var/log/messages oder
/var/log/syslog verfolgt werden. Der srcpd benutzt die syslog
facility user.info, die auf einigen System möglicherweise erst
konfiguriert werden muss.
user.info /var/adm/user-info.log
Aktuell gibt es keine Dokumententypspezifikation (DTD), mit der
der Inhalt der Konfigurationsdatei auf seine Gültigkeit hin
überprüft werden kann.
Jede Konfigurationsdatei muss die folgende Grundstruktur
enthalten:
<?xml version="1.0"?>
<srcpd>
...
</srcpd>
Innerhalb dieser Struktur (...) werden die verwendeten Busse
angelegt, für die es jeweils wieder eine eigene Grundstruktur
gibt:
<bus>
...
</bus>
<bus>
...
</bus>
Der erste konfigurierte Bus muss der für den Server selbst
sein. Die Reihenfolge und die Anzahl der weiteren Busse sind beliebig. Die
Nummerierung der einzelnen Busse erfolgt abhängig von ihrer in dieser
Konfigurationsdatei benutzten Reihenfolge. Der Server selbst bekommt die
Nummer 0, die weiteren werden kontinuerlich mit 1 beginnend hoch
gezählt, bis zum Maximalwert von 20.
Es sollten nur Busse konfiguriert werden, die auch
tatsächlich beim Betrieb des Daemons Verwendung finden. Nicht
benötigte Busse können beispielsweise über
Kommentarzeichen ausgeklammert werden:
<!--
<bus>
...
</bus>
-->
Hierbei ist zu beachten, dass die Nummern der nachfolgenden Busse
sich entsprechend verschieben.
Die folgenden Konfigurationsoptionen lassen sich für alle
Busse jeweils individuell festlegen. Es ist zu beachten, dass diese hinter
den busspezifischen Optionen einzutragen sind.
- verbosity
- Abhängig von diesem Zahlenwert (0..5) erzeugt srcpd
während des Betriebs mehr oder weniger ausführliche
Protokollmeldungen zum aktuellen Geschehen. Mit dem Wert 0 erfolgt nur
eine minimale Ausgabe, mit höheren Werten steigt auch die
Ausführlichkeit dieser Meldetätigkeit. Für die
Fehlersuche sollte der Wert möglichst hoch, bei
störungsfreiem Betrieb möglichst niedrig gewählt
werden. Die Meldungen lassen sich über die Log-Datei des
Syslog-Daemons /var/log/messages oder /var/log/syslog
verfolgen; nähere Informationen hierzu befinden sich im Handbuch
srcpd(8). Der voreingestellte Wert ist 4.
- use_watchdog
- Einige Busse bieten die Möglichkeit, die Aktivität des
Busses zu überwachen und einen blockierten Bus wieder zu
aktivieren. Gültige Werte sind yes oder no. Der
voreingestellte Wert ist no.
- restore_device_settings
- Einige Busse bieten die Möglichkeit, die Einstellungen der
seriellen Schnittstelle wieder auf den Ausgangswert zurück zu
stellen. Gültige Werte sind yes oder no. Der
voreingestellte Wert ist no.
- device
- Hiermit wird der Name der angesteuerten Schnittstelle (z.B. /dev/ttyS0)
festgelegt. Die Busse server und loopback benötigen
diesen Eintrag nicht. Der voreingestellte Wert ist /dev/null.
- speed
- Bei Bussen, die eine serielle Schnittstelle nutzen, ist es möglich,
die Schnittstellengeschwindigkeit zu wählen, soweit diese nicht
fest eingestellt ist. Mögliche Zahlenwerte sind folgende: 2400,
4800, 9600, 19200, 38400, 57600 und 115200 Baud. Bei Bussen mit
variabler Schnittstellengeschwindigkeit ist 2400 Baud
voreingestellt.
- auto_power_on
- Hiermit wird festgelegt, ob beim Start des Daemons automatisch der
Digitalstrom des Busses eingeschaltet wird. Gültige Werte sind
yes oder no. Die Busse server und loopback
benötigen diesen Eintrag nicht. Der voreingestellte Wert ist
no.
Dieser Bus darf in keiner Konfigurationsdatei fehlen. Er
verfügt über die folgenden Einstellmöglichkeiten:
- tcp-port
- Mit diesem Wert wird die Netzwerkportnummer für die
TCP/IP-Kommunikation zwischen srcpd und den SRCP-Clients
festgelegt. Die Voreinstellung hierfür ist der von der IANA
festgelegte Wert 4303.
- pid-file
- Name der Datei, in der srcpd die Prozess-ID abspeichert. Der
gemäß FHS voreingestellte Wert hierfür ist
/var/run/srcpd.pid.
- username
- Benutzerkennung, unter der srcpd auf dem System läuft.
Voreingestellt ist nobody.
- groupname
- Gruppenkennung unter der srcpd auf dem System läuft.
Voreingestellt ist nogroup.
Dieser Bus ist für den Betriebsmodus
DC-Car Infrarot Fernsteuerung. In diesem Modus kann ein
Straßenfahrzeug (z.B. Faller Car-System), das mit einem DC-Car- oder
Infracar-Dekoder ausgestattet ist, aus der Ferne gesteuert werden. Der
dazugehörige Sender muss an eine serielle Schnittstelle des PCs
angeschlossen werden. Es funktionieren auch einige USB/Seriell-Konverter,
z.B. Geräte mit dem Chipsatz PL 2302 von Profilic.
Eine Beschreibung samt Bauplan für den Wandler finden sich
unter: http://www.dc-car.de/pc-sender.html
- mode
- Diese Option gibt an, ob Fahrzeuge mit DC-Car-Dekoder oder Infracar-
Dekoder gesteuert werden sollen. Ein gemischter Betrieb ist derzeit nicht
möglich. Die erlaubten Werte sind dccar und infracar.
- number_gl
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest. Gültig sind Werte von 1 bis 1024 (4096 bei
Infracar). Der voreingestellte Wert beträgt 1024 (4096 im Modus
infracar).
- pause_between_commands
- Mit diesem Wert wird die Verzögerungszeit in Millisekunden
eingestellt, nach der ein weiterer Befehl gesendet wird. Der
voreingestellte Wert beträgt 10 ms.
- Beispiel
-
<bus>
<dccar>
<mode>dccar</mode>
<number_gl>1024</number_gl>
<pause_between_commands>10</pause_between_commands>
</dccar>
<auto_power_on>yes</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyUSB0</device>
</bus>
Dieser Bus ist für den Betriebsmodus
Digital Direct für Linux. In diesem Modus
übernimmt der PC die Erzeugung der Digitalsignale direkt durch
Verwendung der Hardware der seriellen Schnittstelle (RS232). Es wird keine
Digitalzentrale zusätzlich benötigt. Benutzt werden die
Leitungen TxD und GND der seriellen Schnittstelle, die geeignet mit den
Eingängen eines Digitalboosters verbunden werden müssen.
Der DDL-Modus setzt besondere Rechte des Benutzers voraus, unter
dem das Programm srcpd betrieben wird. Es wird empfohlen, den
Benutzer srcpd und die Gruppe srcpd wie folgt
einzurichten:
$ addgroup --system srcpd
$ adduser --system --no-create-home --ingroup srcpd srcpd
Um die Echtzeitpriorität für diesen Benutzer zu
erhöhen, ist in der Datei /etc/security/limits.conf folgende
Zeile einzutragen:
srcpd - rtprio 99
Die Konfiguration des Server-Busses ist wie folgt anzupassen:
<server>
...
<username>srcpd</username>
<groupname>srcpd</groupname>
...
</server>
- number_ga
- Anzahl der Schaltdecoderadressen, die benötigt werden. Beispiel:
Bei vier Weichen und drei Signalen deren Decoder die Digitaladressen 1 bis
7 nutzen, muss dieser Wert mindestens auf 7 gesetzt werden. Auf
herkömmlichen Rechnern mit genügend Arbeitsspeicher kann
dieser Wert von vornherein auf 100 gesetzt werden. Der voreingestellte
Wert ist 324.
- number_gl
- Anzahl der Lok-Decoderadressen die benötigt werden. Bei drei
digitalisierten Lokomotiven muss dieser Wert mindestens auf 3 gesetzt
sein. Auf herkömmlichen Rechnern mit genügend
Arbeitsspeicher kann dieser Wert von vornherein auf 100 gesetzt werden.
Der voreingestellte Wert ist 81.
- enable_ringindicator_checking
- Der Ringindikator (RI) ist eine Leitung der seriellen Schnittstelle. Wird
dieser Wert auf yes gesetzt, so schaltet der srcpd den
Digitalstrom genau dann ab, wenn die Spannung der Leitung RI von -12V
(-5V) auf +12V (+5V) wechselt. Die Leitung RI muss natürlich von
einer entsprechenden Hardware sinnvoll bedient werden. Denkbar wäre
etwa ein Notausschalter. Verwendet man die Leitung RI nicht, muss dieser
Wert auf no gesetzt werden. Der voreingestellte Wert ist
no.
- enable_checkshort_checking
- Die Leitung DSR der seriellen Schnittstelle kann zur Kurzschlusserkennung
verwendet werden. Falls der verwendete Booster eine Kurzschlusserkennung
unterstützt und die Leitung DSR korrekt verkabelt ist, sollte
dieser Wert auf yes gesetzt werden, sonst auf no. Der
voreingestellte Wert ist no.
Der Vollständigkeit wegen sei angemerkt, dass die
Leitung DTR der seriellen Schnittstelle nach dem Start vom srcpd
zunächst inaktiv (-12V) ist und erst dann aktiv (+12V) gesetzt
wird, wenn der Digitalstrom eingeschaltet wird. Wird der Digitalstrom
ausgeschaltet, wird DTR wieder auf inaktiv (-12V) gesetzt. Diese
Steuerleitung lässt sich also zum Ein-/Ausschalten eines Boosters
nutzen, der über dieses Feature verfügt.
- inverse_dsr_handling
- Bei manchen Boostern muss die serielle Leitung DSR invers behandelt
werden, damit die Kurzschlusserkennung funktioniert. Wenn ein solcher
Booster im Einsatz ist, muss dieser Wert auf yes gesetzt werden,
sonst auf no. Der voreingestellte Wert ist no.
- enable_maerklin
- Dieser Wert ist auf yes zu setzen, falls Decoder des alten
Märklin Digitalsystems (MM) gesteuert werden sollen, sonst auf
no. Der voreingestellte Wert ist yes.
- enable_nmradcc
- Dieser Wert ist auf yes zu setzen, falls Decoder
gemäß NMRA-DCC gesteuert werden sollen, sonst auf no.
Der voreingestellte Wert ist yes.
Es können auch beide Werte auf yes gesetzt werden.
Dann läuft srcpd im Multiprotokollbetrieb, d.h. im gleichen
Digitalstromkreis können sowohl MM- wie auch NMRA-DCC-Decoder
angesteuert werden. Zur Minimierung der CPU-Last ist das nicht
benötigte Protokoll abzuschalten.
- improve_nmradcc_timing
- Dieser Wert sollte im reinen NMRA-DCC-Betrieb auf yes gesetzt
werden. In allen anderen Situation - also falls enable_marklin auf
yes gesetzt ist - muss(!) dieser Wert auf no gesetzt werden.
Der voreingestellte Wert ist no.
- nmra_ga_offset
- Es gibt zwei verschiedene Möglichkeiten, wie bei NMRA-DCC die
Adressen von Schaltdecodern interpretiert werden können. Dieser
Parameter trägt dem Rechnung und erlaubt die Erhöhung des
verarbeiteten Adresswertes um den übergebenen Betrag. Setzt man
diesen Wert auf 1, verhält sich die Adressierung der
Schaltdecoder wie beim erddcd, dem ursprünglichen
SRCP-Server aus dem DDL-Projekt. Der voreingestellte Wert ist
0.
- shortcut_failure_delay
- Anzahl der Mikrosekunden (usec), die im Falle eines erkannten
Kurzschlusses gewartet werden soll, bis der Digitalstrom abgeschaltet
wird. Der voreingestellte Wert ist 0.
- nmradcc_translation_routine
- Aus historischen Gründen kennt das Programm drei verschiedene
Routinen, die die Pakete für NMRA-DCC berechnen können. Die
Dritte ist die aktuellste und wird zur standardmäßigen
Verwendung empfohlen. Dem entsprechend ist der voreingestellte Wert
3. Nur wenn es damit Probleme gibt, sollte man die Werte 1
oder 2 ausprobieren.
- enable_usleep_patch
- Im reinen Märklin-Betrieb verursacht das Programm srcpd
durch die Signalberechnung einiges an CPU-Last. Mit diesem Parameter kann
man dieser Erscheinung sehr gut entgegen wirken. Er erlaubt der
Signalerzeugung anstelle aktiven Wartens (busy waiting) für einen
kurzen Zeitraum eine inaktive Pause einzulegen. Da bisher keine Probleme
damit bekannt geworden sind, sollte er immer auf yes stehen. Sollte
es dennoch Probleme geben, kann man versuchsweise den Wert auf no
setzen oder den usleep_usec Wert optimieren. Der voreingestellte
Wert ist yes.
- usleep_usec
- Anzahl der Mikrosekunden (usec), die die im vorausgehenden Parameter
beschriebene Signalgenerierung pausiert. Der Wert sollte so klein wie
möglich gewählt werden, da ein zu großer Wert dazu
führen kann, dass die Digitalsignale nicht korrekt erzeugt werden.
Bei größeren Werten wird andererseits die CPU stärker
entlastet. Als brauchbar haben sich Werte zwischen 100 und 250 erwiesen.
Der voreingestellte Wert ist 100.
- program_track
- Dieser Parameter erlaubt das Unterdrücken von Befehlen, die nur auf
einem Programmiergleis sinnvoll anwendbar sind. Der Parameterwert
yes ist also nur für den Betrieb des Hauptgleises nutzbar.
Gültige Werte sind yes oder no. Der voreingestellte
Wert ist no, was bedeutet, dass Prpgrammierbefehle
standardmäßig ans Gleis weitergeleitet werden.
- Beispiel Märklin/Motorola
-
<bus>
<ddl>
<number_ga>200</number_ga>
<number_gl>81</number_gl>
<enable_maerklin>yes</enable_maerklin>
<enable_nmradcc>no</enable_nmradcc>
<enable_usleep_patch>yes</enable_usleep_patch>
<usleep_usec>200</usleep_usec>
</ddl>
<auto_power_on>no</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyS0</device>
</bus>
- Beispiel NMRA/DCC
-
<bus>
<ddl>
<number_ga>160</number_ga>
<number_gl>60</number_gl>
<enable_maerklin>no</enable_maerklin>
<enable_nmradcc>yes</enable_nmradcc>
<nmradcc_translation_routine>3</nmradcc_translation_routine>
</ddl>
<auto_power_on>no</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyS0</device>
</bus>
Dieser Treiber unterstützt das direkte Auslesen von
S88-Rückmeldemodulen über die parallele Schnittstelle (IEEE
1284). Der Betrieb eines Stranges ist ohne größeren Aufwand
möglich, für umfangreichere Installationen können bis
zu vier S88-Stränge gleichzeitig angeschlossen werden. Das
dafür notwendige Anschlussschema entspricht dem des DDL Daemons
(http://www.vogt-it.com/OpenSource/DDL) gemäß der Schaltung
von Martin Wolf. Die Anschlussstränge werden als jeweils separate
Busse geführt.
Die Anzahl der pro Strang angeschlossenen Module (mit jeweils 16
Kontakten) darf maximal 31 betragen, was einem Maximum von 496 Kontakten pro
Strang entspricht. Bei der Verwendung von Modulen mit 8 Kontakten
zählen 2 Module wie eines mit 16 Kontakten.
Für jeden Strang wird ein separater Bus initialisiert, bei
dem die Rückmeldekontakte der Module in der Reihenfolge ihres
Anschlusses am Strang jeweils separat aufsteigend nummeriert sind. Sind an
einem Strang keine Module angeschlossen, ist der jeweilige Wert von
number_fb_x auf 0 zu setzen. Der zugehörige Bus wird trotzdem
initialisiert, d.h. auch wenn nur ein Bus angeschlossen ist, werden immer 4
Busse belegt.
Dieses Modul erzeugt eine signifikante Systemlast, die weitgehend
durch den Parameter refresh eingestellt werden kann.
- ioport
- Eingabe/Ausgabe-Adresse des Druckeranschlusses. Der voreingestellte Wert
ist 0x0378. Der »ioport« ist im Hexadezimalformat
anzugeben (mit führendem 0x). Gültige Werte sind bei einem
typischen Linux-System folgende: 0x0378, 0x0278 und 0x03BC.
Der richtige Wert lässt sich leicht durch Suche in den
Meldungen ermitteln, die der Betriebssystemkern beim Hochfahren
erzeugt:
dmesg | grep parport
- clockscale
- Parameter zur Einstellung der Taktrate beim Auslesen der Module. Bei dem
voreingestellten Wert von 35 wird die originale S88-Taktrate von ca.
8 kHz erreicht. Kleinere Wert erhöhen die Taktrate, werden
ggf. jedoch nicht von jedem Modul verarbeitet. Maximal sind ca.
125 kHz möglich.
- refresh
- Wartezeit in Millisekunden nach der die Rückmeldungen des
Geräts erneut eingelesen werden. Bei dem voreingestellten Wert 100
werden die Daten alle 100 ms aufgefrischt.
Je höher dieser Wert ist, um so seltener werden die
angeschlossenen Bausteine abgefragt und um so geringer ist die erzeugte
Systemlast. Als brauchbar haben sich Werte zwischen 100 und 250
erwiesen.
- fb_delay_time_0
- Dieser Wert in Millisekunden legt fest, wie lange ein
Rückmeldekontakt auf Null liegen muss, bevor er als gültiger
Wert weitergeleitet wird. Hiermit lassen sich schlechte
Rückmeldungen (Wackler) in begrenztem Umfang entprellen. Der
voreingestellte Wert beträgt 0 ms.
- number_fb_1
- Diese Angabe legt die Anzahl der am Strang 1 angeschlossenen
Rückmeldemodule fest.
- number_fb_2
- Diese Angabe legt die Anzahl der am Strang 2 angeschlossenen
Rückmeldemodule fest.
- number_fb_3
- Diese Angabe legt die Anzahl der am Strang 3 angeschlossenen
Rückmeldemodule fest.
- number_fb_4
- Diese Angabe legt die Anzahl der am Strang 4 angeschlossenen
Rückmeldemodule fest.
In der Konfiguration sollten die allgemeinen Werte vor den
busspezifischen Werten stehen.
- Beispiel
-
<bus>
<auto_power_on>yes</auto_power_on>
<verbosity>4</verbosity>
<ddl-s88>
<ioport>0x378</ioport>
<number_fb_1>9</number_fb_1>
<number_fb_2>0</number_fb_2>
<number_fb_3>0</number_fb_3>
<number_fb_4>0</number_fb_4>
</ddl-s88>
</bus>
Dieses Modul unterstützt den Betrieb eines Littfinski
HSI-88, das an eine serielle Schnittstelle angeschlossen ist. Auch der
Anschluss über einen USB/Seriell-Konverter sollte problemlos
möglich sein. Die Geschwindigkeitseinstellung für die serielle
Schnittstelle ist fest auf 9600 Baud vorkonfiguriert und kann nicht
verändert werden.
Das HSI-88 verfügt über drei Kanäle zum
Anschluss von S88-Rückmeldemodulen. Die Summe der pro Kanal
angeschlossenen Module (mit 16 Kontakten) darf maximal 31 betragen, sonst
erfolgt die Ausgabe einer Fehlermeldung. Bei der Verwendung von Modulen mit
8 Kontakten zählen 2 Module wie eines mit 16 Kontakten.
- number_fb_left
- Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung links
angeschlossenen Rückmeldemodule fest.
- number_fb_center
- Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung mitte
angeschlossenen Rückmeldemodule fest.
- number_fb_right
- Diese Angabe legt die Anzahl der am Kanal mit der Bezeichnung
rechts angeschlossenen Rückmeldemodule fest.
- fb_delay_time_0
- Dieser Wert in Millisekunden legt fest, wie lange ein
Rückmeldekontakt auf Null liegen muss, bevor er als gültiger
Wert weitergeleitet wird. Hiermit lassen sich schlechte
Rückmeldungen (Wackler) in begrenztem Umfang entprellen. Der
voreingestellte Wert beträgt 0 ms.
- refresh
- Wartezeit in Mikrosekunden nach der die Rückmeldungen des
Geräts erneut eingelesen werden. Der voreingestellte Wert
beträgt 10.000 µs.
- Beispiel
-
<bus>
<hsi-88>
<number_fb_left>8</number_fb_left>
<number_fb_center>5</number_fb_center>
<number_fb_right>0</number_fb_right>
<refresh>10000</refresh>
</hsi-88>
<auto_power_on>yes</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyS0</device>
</bus>
Dieses Modul unterstützt den Betrieb mit einer Uhlenbrock
Intellibox (IB), die über eine serielle Schnittstelle angeschlossen
ist. Die Ansteuerung der IB erfolgt über das P50X-Protokoll, zum
geringeren Teil mit der analogen und zum größeren Teil mit der
binären Variante. Beim Betrieb mit protokollkompatiblen Zentralen
anderer Hersteller (z.B. OpenDCC, DiCoStation, EasyControl) ist das
gegebenenfalls zu berücksichtigen. Das Programmieren von Decodern ist
zur Zeit nur für DCC implementiert. Als Schnittstellengeschwindigkeit
sind je nach Gerät und Art der Schnittstelle die folgenden Varianten
möglich: 2400 Baud, 4800 Baud, 9600 Baud,
19200 Baud, 38400 Baud und 57600 Baud.
- fb_delay_time_0
- Dieser Wert in Millisekunden legt fest, wie lange ein
Rückmeldekontakt auf Null liegen muss, bevor er als gültiger
Wert weitergeleitet wird. Hiermit lassen sich schlechte
Rückmeldungen (Wackler) in begrenztem Umfang entprellen. Der
voreingestellte Wert beträgt 0 ms.
- pause_between_commands
- Mit diesem Wert wird die Verzögerungszeit in Millisekunden
eingestellt, nach der ein weiterer Befehl an die angeschlossene Zentrale
gesendet wird. Der optimale Wert muss händisch ermittelt werden.
Wenn die Zentrale nicht reagiert, oder Befehle ignoriert, sollte der Wert
erhöht werden. Der voreingestellte Wert beträgt
250 ms.
- number_ga
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest. Gültig sind Werte von 0 bis 1024. Ein Wert
von 0 bedeutet, dass keine Magnetartikel verwendet werden. Der
voreingestellte Wert beträgt 256.
- number_gl
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest. Gültig sind Werte von 0 bis 10239. Ein Wert
von 0 bedeutet, dass keine Lokdecoder verwendet werden. Der
voreingestellte Wert beträgt 80.
- number_fb
- Dieser Wert legt die Anzahl der an der IB angeschlossenen
S88-Rückmeldemodule fest. Gültig sind Werte von 0 bis 31
(bei Modulen mit 16 Kontakten). Der voreingestellte Wert beträgt 0
(keine Module sind angeschlossen). Über Loconet angeschlossene
Module werden gegenwärtig nicht unterstützt.
- auto_speed_detection
- Diese Option aktiviert eine automatische Baudratenerkennung der
angeschlossenen Intellibox (BABI = Break and Automatic Baud-rate
Identification). Sie benötigt bei der Initialisierung einige
Sekunden, macht es aber unnötig, den richtigen Wert für den
speed Parameter zu konfigurieren. Wenn die automatische Erkennung
abgeschaltet ist, erfolgt die Verbindungsaufnahme erheblich schneller,
aber der konfigurierte speed Wert muss der tatsächlichen
Einstellung an der Intellibox entsprechen. Gültige Werte sind
yes und no. Die Voreinstellung ist yes.
- Beispiel
-
<bus>
<intellibox>
<number_ga>250</number_ga>
<number_gl>100</number_gl>
<number_fb>4</number_fb>
<fb_delay_time_0>0</fb_delay_time_0>
<pause_between_commands>0</pause_between_commands>
</intellibox>
<speed>19200</speed>
<auto_speed_detection>no</auto_speed_detection>
<auto_power_on>no</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyUSB0</device>
</bus>
Dieses Modul unterstützt den Betrieb mit den
Lenz-Geräten LI100, LI100F, LI101F und LI-USB, angeschlossen
über die serielle Schnittstelle (RS232) bzw. den Universal Serial Bus
(USB). Ein USB/Seriell-Konverter sollte nicht verwendet werden. Die
möglichen Geschwindigkeiten der seriellen Schnittstelle sind vom
verwendeten Gerät abhängig. Für das LI-USB ist sie fest
auf 57600 Baud eingestellt, ohne Möglichkeit, das zu
verändern. Ein automatisches Erkennen der richtigen Geschwindigkeit
ist geplant. Wenn die Verbindungsaufnahme scheitert, versuchen Sie mit einer
anderen Geschwindigkeitseinstellung zurecht zu kommen. Erlaubte Werte sind,
abhängig vom verwendeten Gerät, 9600 Baud,
19200 Baud, 38400 Baud, 57600 Baud und
115200 Baud.
- fb_delay_time_0
- Dieser Wert in Millisekunden legt fest, wie lange ein
Rückmeldekontakt auf Null liegen muss, bevor er als gültiger
Wert weitergeleitet wird. Hiermit lassen sich schlechte
Rückmeldungen (Wackler) in begrenztem Umfang entprellen. Der
voreingestellte Wert beträgt 0 ms.
- number_ga
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest. Gültig sind Werte von 0 bis 1024. Ein Wert
von 0 bedeutet, dass keine Magnetartikel verwendet werden. Der
voreingestellte Wert beträgt 99, beim LI-USB 9999.
- number_gl
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest. Gültig sind Werte von 0 bis 9999. Ein Wert
von 0 bedeutet, dass keine Lokdecoder verwendet werden. Der
voreingestellte Wert beträgt 99, beim LI-USB 9999.
- number_fb
- Dieser Wert legt die Anzahl der angeschlossenen RS-Module fest.
Gültig sind Werte von 0 bis 512 (bei Modulen mit 8 Kontakten); 0
bedeutet, keine Module sind angeschlossen. Der voreingestellte Wert
beträgt 256, beim LI-USB 512.
Um Lenz USB-Geräte in Betrieb zu nehmen, muss das
Kernelmodul ftdi_sio verfügbar sein. Bei den gängigen
Linux-Distributionen ist das in der Regel ohne zusätzliche
Konfigurationseinstellungen der Fall. Das Modul für die
Lenz-Geräte erzeugt beim Starten unterschiedliche
Rückgabewerte. Diese haben die folgende Bedeutung:
- 0
- Das Gerät ist betriebsbereit.
- -1
- Digitalzentrale wurde nicht gefunden. Die Softwareversion der Zentrale
konnte nicht ermittelt werden.
- -2
- Digitalzentrale wurde nicht gefunden. Die Softwareversion der Zentrale
konnte nicht ermittelt werden.
- -3
- USB-Interface nicht gefunden. Die Softwareversion des
Schnittstellengerätes konnte nicht ermittelt werden.
Möglicherweise ist keine Digitalzentrale am USB-Interface
angeschlossen.
- -4
- Gerät nicht gefunden.
Dieser Bus unterstützt Loconet-Geräte, die entweder
über die serielle Schnittstelle (z.B. MS100, LocoBuffer) oder ein
TCP/IP-Netzwerk (z.B. LbServer, siehe
http://loconetovertcp.sourceforge.net/) angebunden sind.
- loconetID
- Wert für die Loconet ID. Die Voreinstellung beträgt
0x50.
- ms100
- Unterstützung für das MS100/RS232-Gerät von Digitrax.
Gültige Werte sind yes oder no. Voreingestellt ist
no.
- sync-time-from-loconet
- Zeitmeldungen von Loconet zur Ansteuerung der SRCP-Modellzeit nutzen.
Gültige Eingaben sind yes oder no. Voreingestellt ist
no.
- number_ga
- Anzahl der adressierbaren Magnetartikel (GA). Die Voreinstellung ist
2048.
- number_gl
- Anzahl der adressierbaren Lok-Decoder (GL). Die Voreinstellung ist
9999.
- number_fb
- Anzahl der angeschlossenen Rückmeldekontakte. Die Voreinstellung
ist 2048.
- Beispiel
-
<bus>
<loconet>
<device type="network" port="1234">127.0.0.1</device>
</loconet>
</bus>
Dieser Bus stellt keine Verbindung zu einem tatsächlich
existierenden Steuergerät her. Er ist primär für
Entwicklungzwecke gedacht, kann aber auch bei betriebsfähigen
Installationen nützlich sein. Jedes Kommando auf diesem Bus bewirkt
lediglich ein entsprechendes Echo bei den INFO-Sitzungen. Dieser Bus kann
also auch für Kommunikationszwecke genutzt werden.
- number_ga
- Anzahl der adressierbaren Magnetartikel (GA). Die Voreinstellung ist
256.
- number_gl
- Anzahl der adressierbaren Lokdecoder (GL). Die Voreinstellung ist 80.
- number_fb
- Im Unterschied zu den anderen Bussen, legt dieser Zahlenwert die Anzahl
der adressierbaren Rückmeldekontakte, nicht der
Rückmeldemodule, fest. Die Simulation von zwei
Rückmeldemodulen mit je 16 Kontakten erfordert also hier den Wert
32. Die Voreinstellung ist 0 (keine Rückmeldekontakte
vorhanden).
- Beispiel
-
<bus>
<loopback>
<number_ga>120</number_fb>
<number_gl>100</number_fb>
<number_fb>64</number_fb>
</loopback>
<verbosity>2</verbosity>
<auto_power_on>no</auto_power_on>
</bus>
Dieses Modul unterstützt den Betrieb mit einem
Märklin 6051 oder 6050, das über die serielle Schnittstelle
angeschlossen ist. Auch der Anschluss über einen
USB/Seriell-Konverter sollte problemlos möglich sein. Die
Einstellungen der Schnittstelle sind festgelegt auf 2400 Baud, 8N2
und können nicht verändert werden.
- m6020mode
- Bei Aktivierung dieses Modus werden die 4 Funktionen nicht gesendet.
Dieses Funktionalität wird nur vom 6021 unterstützt.
Gültige Werte sind yes oder no. Der voreingestellte
Wert ist no.
- fb_delay_time_0
- Dieser Wert in Millisekunden legt fest, wie lange ein
Rückmeldekontakt auf Null liegen muss, bevor er als gültiger
Wert weitergeleitet wird. Hiermit lassen sich schlechte
Rückmeldungen (Wackler) in begrenztem Umfang entprellen. Der
voreingestellte Wert beträgt 0 ms.
- ga_min_activetime
- Dieser Wert in Millisekunden legt fest, wie lange ein Magnetartikel im
Aktiv-Status sein muss. Für einen stabilen Betrieb mit einem 6051
sind 75 ms das absolute Minimum. Der voreingestellte Wert
beträgt 75 ms.
- pause_between_commands
- Mit diesem Wert wird die Verzögerungszeit in Millisekunden
eingestellt, nach der ein weiterer Befehl an die angeschlossene Zentrale
gesendet wird. Der optimale Wert muss händisch ermittelt werden.
Wenn die Zentrale nicht reagiert, oder Befehle ignoriert, sollte der Wert
erhöht werden. Der voreingestellte Wert beträgt
200 ms.
- pause_between_bytes
- Mit diesem Wert wird die Verzögerungszeit in Millisekunden
eingestellt, die zwischen dem Versenden von zwei Bytes bei
Multi-Byte-Befehlen gewartet wird. Hardware-Handshake funktioniert nicht
mit allen Geräten, so dass dieser Parameter eingeführt
wurde, um diesen zu ermöglichen. Der voreingestellte Wert
beträgt 2 ms.
- number_ga
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Magnetartikel (GA) fest. Dieser Parameter hat keinen wirklichen Effekt, da
das Interface nur die Adressen von 1 bis 256 unterstützt. Der
voreingestellte Wert beträgt 256; bitte unverändert
lassen.
- number_gl
- Dieser Wert legt den maximalen Adressbereich für die verwendeten
Lokdecoder (GL) fest. Der voreingestellte Wert entspricht dem maximal
gültigen Wert von 80; bitte unverändert lassen.
- number_fb
- Dieser Wert legt die Anzahl der am 6051/6050 angeschlossenen 6088
Rückmeldemodule fest. Gültig sind Werte von 0 bis 31. Der
voreingestellte Wert beträgt 0 (keine Module sind
angeschlossen). Bitte beachten Sie, dass auf 6088 Module, die an anderen
Geräten angeschlossen sind (Memory) nicht zugegriffen werden
kann.
- Beispiel
-
<bus>
<m605x>
<number_ga>120</number_fb>
<number_gl>60</number_fb>
<number_fb>8</number_fb>
<ga_min_activetime>75</ga_min_activetime>
<pause_between_bytes>2</pause_between_bytes>
<pause_between_commands>50</pause_between_commands>
</m605x>
<auto_power_on>no</auto_power_on>
<verbosity>4</verbosity>
<device>/dev/ttyS0</device>
</bus>
Dieser Bus unterstützt das alte ASCII basierte Zimo MX1
Schnittstellenprotokoll. Die Baudrate ist fest auf 9600 Baud
eingestellt.
- number_ga
- Dieser Wert legt den maximal nutzbaren Adressbereich für
GA-Elemente fest. Für das Märklin/Motorola-Protokoll (M)
darf dieser maximal 63 betragen, für das NMRA/DCC-Protokoll (N)
liegt der maximal erlaubte Wert bei 2044 (entsprechend dem
Lenz-DCC-Adressschema). Das Zimo-Protokoll (Z) wird noch nicht
unterstützt. Der voreingestellte Wert beträgt 256.
- number_gl
- Dieser Wert legt den maximal nutzbaren Adressbereich für
GL-Elemente fest. Der voreingestellte Wert beträgt 80.
- number_fb
- Rückmeldemodule werden nicht unterstützt. Der
voreingestellte Wert beträgt 0.
- fb_delay_time_0
- Wird nicht unterstützt.