srcpd.conf(5)

NAME
srcpd.conf - Die Konfigurationsdatei für den srcpd Deamon

BESCHREIBUNG
Die Datei srcpd.conf wird vom SRCP-Daemon srcpd als systemweite Konfigurationsdatei genutzt. Sie beschreibt die für die Laufzeit des Systemdienstes entscheidenden Einstellungen zum Verhalten des Daemons selbst, sowie die Anzahl, Art und Betriebsweise der angeschlossenen Schnittstellen zur Modellbahn. Weitere Details zum Betrieb beschreibt das Handbuch srcpd(8) des Daemons.

STANDARD KONFIGURATIONSDATEI

Die dem srcpd mitgelieferte Standardkonfigurationsdatei enthält beispielhafte Einstellungen sowohl für den Server als auch für einen vorkonfigurierten Bus. Sie hat den folgenden Aufbau:

    <?xml version="1.0"?>
    <srcpd version="2.0">
      <bus>
        <server>
          <tcp-port>4303</tcp-port>
          <pid-file>/var/run/srcpd.pid</pid-file>
          <username>_srcpd</username>
          <groupname>_srcpd</groupname>
        </server>
        <verbosity>5</verbosity>
      </bus>
      <bus>
        <loopback>
          <number_fb>3</number_fb>
        </loopback>
        <use_watchdog>no</use_watchdog>
        <verbosity>5</verbosity>
        <auto_power_on>yes</auto_power_on>
      </bus>
    </srcpd>

DATEIFORMAT

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>

  Allgemeine Hinweise

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.

  Allgemeingültige Optionen

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.

  server

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.

  dccar

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>

  ddl

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 Ggf. ist zu prüfen, ob in der Konfigurationsdatei
   /etc/pam.d/su die Parameter für pam_limits aktiviert sind, so dass die Konfiguration in /etc/security/limits.conf tatsächlich genutzt wird. 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>

  ddl-s88

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>

  hsi-88

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>

  i2c-dev

Bustreiber für das i2c-dev-Interface des Linux Kernels. Er kann beispielsweise mit der unter http://www.matronix.de/ zu findenden Hardware genutzt werden.

multiplex_buses
    TODO

ga_hardware_inverters
    TODO

ga_reset_device
    TODO

  intellibox

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>

  li100, li100usb

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.

  loconet

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>

  loopback

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>

  m605x

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>

  selectrix

Selectrix CC-2000 und Rautenhaus SLX852.

number_ga
    TODO

number_gl
    TODO

number_fb
    TODO

controller
    TODO

  zimo

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.

DATEIEN
/etc/srcpd.conf

SIEHE AUCH
srcpd(8)

AUTOREN
Die deutsche Übersetzung wurde von Guido Scholz (gscholz@users.sourceforge.net) unter Mitwirkung von Matthias Trute (mtrute@users.sourceforge.net), Torsten Vogt (tvogt@users.sourceforge.net) und Heiko Gau (hgau@users.sourceforge.net) angefertigt.