# Digital Direct for Linux

Digital Direct for Linux oder DDL ist der Name für ein Open-Source-Projekt unter der GNU General Public License (GPL), das von der Firma Vogt-IT erstellt und gepflegt wird. Es erlaubt die digitale Steuerung einer Modelleisenbahnanlage mit einem PC mit Standardschnittstellen. Inzwischen gibt es auch eine Portierung für Windows mit dem Namen Digital Direct for Windows oder DDW.

## Die DDL-Software

Ein DDL-System besteht aus mindestens zwei Teilen:
* einem Serverprogramm und
* einem oder mehreren Clientprogrammen.

### Der Server

Der Electric Railroad Digital Direct Command Daemon (erddcd) genannte SRCP-Server ist der Hauptbestandteil des Systems. Er läuft unter dem freien Betriebssystem Linux; jede gängige Linux-Distribution ist geeignet. Dieser Server abstrahiert die Hardware – das heißt, er bietet den Clients über das TCP/IP-Protokoll eine einheitliche Schnittstelle unabhängig von Hardwaredetails. Der Server kann sowohl die von den Clients empfangenen Steuerbefehle an die Anlage weitergeben als auch Rückmeldungen einlesen und an die Clients weitergeben. Er pflegt aber keinen Anlagenstatus, das heißt, er merkt sich selbst keine Daten, sondern gibt sie nur zwischen Anlage und Clients weiter.

### Die Clients

Die Clients sind Steuerungsprogramme, die über TCP/IP mit dem Server kommunizieren und dem Anwender eine Benutzerschnittstelle zur Verfügung stellen. Es gibt die unterschiedlichsten Ausführungen von einer einfachen Kommandozeile wie ddsh und rcsh bis hin zu grafischen Oberflächen, die stark an das Layout realer Stellwerke angelehnt sind. Manche Clients, wie J-Man oder Electrip, erlauben auch den Betrieb von Joysticks und Gamepads zur Steuerung. Die Clients enthalten die eigentliche Intelligenz zur Steuerung der Modellbahnanlage.
Die Clients können auf demselben Rechner wie der Server laufen; wegen der Netzwerkfähigkeiten des DDL-Projektes aber auch auf einem anderen Rechner. So existieren auch schon Clients für Windows, die mit dem SRCP-Server über ein TCP/IP-Netzwerk kommunizieren.

## Die erforderliche Hardware
### Der PC

Der Betrieb des Servers ist schon mit geringen Ressourcen möglich. So gibt sich erddcd schon mit einem 386er zufrieden. Die für aufwendigere Modellbahnanlagen empfehlenswerten grafischen Oberflächen mancher Clients sollten allerdings auf modernerer Hardware laufen (Pentium oder besser), da hierfür eine Bildschirmauflösung von mindestens 800 × 600 Pixeln angeraten scheint.

### Der Booster

Der Booster ist das Bindeglied zwischen dem PC und der Modelleisenbahnanlage. Er verstärkt das vom PC abgegebene digitale Steuersignal und liefert den Ausgangsstrom. Fast alle auf dem Markt verfügbaren Booster können für das DDL-Projekt eingesetzt werden, seien es Fertiggeräte, Bausätze oder Selbstbauprojekte.

### Das Verbindungskabel

Die Verbindung zwischen PC und Booster wird über ein spezielles Kabel an der seriellen Schnittstelle hergestellt. Es muss auf die – nicht genormten – Anschlüsse des verwendeten Booster passen und ist daher meist selbst anzufertigen. Im Internet kursieren aber Baupläne für verschiedene auf dem Markt erhältliche Booster und die gebräuchlichsten Bausätze.

### Der Rückmeldebus

Der DDL-Server unterstützt den sechspoligen S88-Rückmeldebus, der über den Druckeranschluss mit dem Rechner verbunden wird und Daten der Anlage an den Rechner melden kann. Auch der Anschluss mehrerer solcher Module an eine Schnittstelle und die Aufrüstung mit mehreren mehrfach belegten Druckeranschlüssen ist möglich, da mehrere Server gleichzeitig gestartet werden können.

## Die Funktion

Der Server läuft auf dem PC, der mit dem Booster direkt verbunden ist. Clients können sowohl auf demselben PC wie den Server als auch auf anderen Rechnern desselben Netzwerks betrieben werden. Dabei können mehrere Server von einem Client gesteuert werden oder auch mehrere Clients mit demselben Server kommunizieren.
Das DDL-System ermöglicht digitales Fahren und Schalten bei Verwendung von Lok- und Schaltdekodern. Der Server ist multiprotokollfähig d. h. ein Parallelbetrieb von Märklin Digital und NMRA-DCC im selben Digitalstromkreis ist möglich. Bei Verwendung von mehreren Rückmeldemodulen können fast 2000 Rückmeldekontakte eingelesen werden, und durch Unterstützung eines Programmiergleises wird die Feineinstellung und Programmierung von Lokdekodern auf bequeme Weise erreicht.