| Before investing time and having a lot of frustration with this 'solution' you could consider an alternative command station.
Building any of the published electronic circuits related to DDX are at your own risk and are not supported by the Rocrail Team.
|The DDX library is no longer maintained with the exception of crash/bug fixing. → Deprecated|
- Full Rocrail support
- Supports both the NMRA DCC and the Märklin/Motorola (MM) format.
- Linux and Windows
- Up to four s88 chains on the parallel port.
- Compatible with ORD-1
- Low CPU demands
- No extra process to start
- Without protocol overhead for better response time.
- DCC features:
- Programming Track support for setting and reading CV's
- Short and long address
- 14, 28 or 127/128 speed steps
- 12 functions
- DDX is not able to deliver the quality of real Command Stations and problems can be expected using it.
- The UART of the PC is not designed to generate signal that fits 100% to the NMRA standards. Due to this there are some decoders which are not working or partial not working.
- S88 is not 100% reliable because of the long wires between the chips which is not covered by the specs of the manufacturer of the chips.
- Mobile decoders could react delayed on commands generated by DDX.
- No further development nor team support is planned. (Deprecated)
The s88 chains, up to four, are connected to the parallel (printer) port. All chains are parallel scanned, so distribute the sensor modules over these four ports for better performance.
- chain 0 starts with sensor 0
- chain 1 starts with sensor 496
- chain 2 starts with sensor 992
- chain 3 starts with sensor 1488
DDX is supported on the following Operating Systems:
- Linux 2.6 kernel (Rocrail/DDX started as root)
- Windows XP, 32 bit
If the LPT is connected to the ORD-1 the PT must be activated before programming. See: PT ON/OFF.
Advised is to program the locomotive decoder, CV29, to run only in digital operation.
Under certain conditions the track power is still high without digital modulation which will let run the locomotives in conventional operation if the CV29 is left to its default.
First of all you have to tell the loco decoder that he has to listen at 28 / 128 drive steps. So let's program Bit 2 of CV29 with the Value 1: CV29 = 2 After that we have to tell Rocrail how to send data to the loco. Klick on Tables-Locomotives and select the loco you want to change. Klick on the Interface Tab and change the following settings: 1. Protocol Version: You have to change the protocoll Version from 1 to 2 because Version 1 supports only 14 and 28 decoder steps. 128 steps are availible with Version 2 only. 2. Decoder Steps: here you have to select the decoder steps. Insert 128 for a smooth driving locomotion.
Some Lenz decoders may only able to recognize 14, 27 and 127 steps. Be sure that your Decoder is able to handle 128 speed steps. If you're not ask your local Dealer or the manufactorer of your Decoder.
This was tested with SNAPSHOT svn 704 and DDL.so. It was also tested with erddcd-v1.61-svn254 and SRCP V0.7.
Do not use with SRCP 0.8.x because it means long addresses instead of 128 speed steps!
When using DDL you must program the locdecoders to ignor analog signal. Mostly CV29, but check your decoder manual!
For best result, use legacy serial port, i.e. ttyS0-4 (Linux) Com1-4 (Windows) on address 0x3F8, 0x2F8, 0x3E8, 0x2E8.
If the address is none standard it can be overwritten by setting the Port base to the one reported by the OS, in all other cases leave zero.
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 0000:02:00.0: ttyS1 at I/O 0xdf00 (irq = 169) is a 16550A 0000:02:00.0: ttyS2 at I/O 0xde00 (irq = 169) is a 16550A
It may work with USB2Serial adapter. To work properly for Märklin/Motorola protocol, the USB2serial adapter used must support 6-bit transfers and support reporting when Uart transmitter is empty. Windows may take long time to change between DCC and MM Uart settings, this will create pauses in the data stream, which will make the lights flicker (if used only for DCC or for MM, no such changes is needed).
|Chip||Linux 2.6.22||Windows XP, chip manufacturers driver|
|FTDI2232||DCC only (6-bit transfers not supported by the hardware)|
|Prolific 2303||DCC only, transmitter empty detection not working in driver|
From rev. 2386 the dialog support the input of all possible port addresses.
To disable S88 completely set the port address to “0”.
To use the parallel port under Unix-like operating systems, rocrail server has to be run as root.
For LPT in the BIOS setup the Plug and Play must disabled and the ECP/EPP mode must be set.
Check this option when using a real RS232 interface to get a faster CV reading.
Reduce light flickering when using a real RS232 interface.
DCC on = Enable DCC locos and accessory
MM on = Enable MM locos
MMA on = Enable MM accessory
MMLP on = Enable MM long packet pause
|If more then one protocol is selected, then its necessary to setup the Protocol for every loco in the loco interface dialog|
|On||Pure DCC||No MM data output, clean DCC stream|
|On||On||MM locos, but only DCC accessory decoders, like opendecoder||DCC idle data|
|On||On||On||Mixed mode||DCC idle data|
|On||On||DCC + MM accessory||DCC stream only interrupted by accessory changes|
|On||On||Legacy MM mode||No DCC idle data|
Note: Before svn 2483, please have all enabled.
Make sure that the used RS232 serial port is suited for generating an accurate digital signal; Not all ports can handle the demands.
To use the full and unlimited features of DDX under Unix-like operating systems (also under Linux), rocrail server has to be run as root.
To run rocrail with DDX on Windows NT/2000/XP, you need to install the:
GIVEIO.SYS device driver. The link leads you to an description on how to load the driver into the system.
By using Windows7 (32bit), you have to install the device driver in safe mode.
The MM format needs special timing which uses busy wait loops to achieve the precise timing needed. On Windows, the high resolution timer is used. On Linux, nanosleep is used. Those timing functions requires hardware found in Pentium processors or better (486 will not work…).
The command latency for a single command issued when idle is approx 0-50ms (it may have to wait for a refresh packet (25ms) and idle data (25ms) to end).
- DCC only, one loco is refreshed approx every 50ms.
- MM only, one loco is refreshed approx every 375ms (this requires 5 packets, 1 speed and 4 FX packets, 25ms idle data is sent between packets).
- DCC + MM, one DCC loco and 25ms idle data is sent between every MM refresh packet. A complete MM loco refresh cycle will then take approx 500ms.
If only the MM protocol is chosen, so occures a high CPU load or the PC is slowing down.
Some users are reporting that this is solved under Windows by additional activating the DCC protocol.
This software module, as well as the programs SRCPD and DDW, are descendants to erddcd (aka. Digital Direct for Linux). Hardware that works with erddcd, SRCPD or DDW will work with DDX. The programming track control and feedback is tailormade for ORD-1, but may work with similar hardware. The old S88 interface for MrDirect is not compatible with DDX (but recent versions of MrDirect supports our kind of S88 interface).
|version||address range||speed steps||functions||Remark|
|1||255||15||0||Very old decoders, no absolute loco direction. Only 80 addresses are supported by legacy Märklin decoders.|
|2||80||15||4||Safe bet for most MM-compatible decoders.|
|3||255||28||4||Newer decoders (MFX+MM) seems to understand the 28 speed steps. Also used for Wikinger decoder.|
|4||255||15||4||Extended address range (Uhlenbrock?, Tams?)|
|5||-||28||-||Allows 28 speed steps by sending 2 times the version 2 package with different speed… (Do not ask me what kind of decoder this is for. I have not got any decoder that support this.)|
- Both short and long addresses.
- 14, 28 and 127/128 speed steps.
- Up to 12 functions. (28 functions in version 1.3)
- CV-programming and CV-read on programming track
- CV-programming on the main track (POM)
|Rocrail||all DCC decoders DIY||stationary decoder||http://wiki.rocrail.net/doku.php?id=english#hardware||OK||All DCC decoders described in the hardware section work well with ddx|
|Lenz||Silver Mini||loco decoder||http://www.digital-plus.de/digitalplus/digitalplus_decoder_silver.php||OK||works well|
|Lenz||Gold Mini||Loco Decoder||http://www.digital-plus.de/digitalplus/digitalplus_decoder_gold.php||OK||works well|
|Lenz||Gold||Loco Decoder||http://www.digital-plus.de/digitalplus/digitalplus_decoder_gold.php||PARTIAL||decoder works, but reading cv is impossible|
|Lenz||Gold Maxi||Loco Decoder||http://www.digital-plus.de/digitalplus/digitalplus_decoder_gold.php||PARTIAL||decoder works, but reading cv is impossible|
|Lenz||LE1014||Loco Decoder||http://www.lenz.com/products/decoders/currentdecoders/le1014.htm||PARTIAL||decoder works but reading CV is impossible|
|Kuehn||N025||loco decoder||http://www.kuehn-digital.de/||OK||works well|
|Kuehn||N045||loco decoder||http://www.kuehn-digital.de/||OK||works well|
|Kuehn||T125/T145||loco decoder||http://www.kuehn-digital.de/||OK||works well|
|Kuehn||T65||loco decoder||http://www.kuehn-digital.de/||OK||works well|
|Tams||LD-G 33||locdecoder+railcom||http://www.tams-online.de/htmls/aktuell.html||PARTIAL||decoder works but reading CV is impossible|
|Tams||LD-G 32||locdecoder+railcom||http://www.tams-online.de/htmls/aktuell.html||NOT OK||writing and reading CV impossible|
|Tams||LD-G 8||loco decoder||http://www.tams-online.de/htmls/aktuell.html||OK||works well|
|Tams||LD-G 21||loco decoder||http://www.tams-online.de/htmls/aktuell.html||OK||works well|
|Tams||LD-G 5||loco decoder||http://www.tams-online.de/htmls/aktuell.html||OK||works well|
|Tams||FD-R||functdecoder+railcom||http://www.tams-online.de/htmls/aktuell.html||PARTIAL||decoder works, but reading CV is impossible|
|Tams||WD-34||stationary decoder||http://www.tams-online.de/htmls/aktuell.html||PARTIAL|| depend from PC hardware,
look this thread in the DE forum
|Wedi||8 port DCC servo decoder DIY||stationary decoder||http://freenet-homepage.de/wedis-bastelecke/||OK||works well|
|LDT||S-DEC-4-DC||stationary decoder||http://www.ldt-infocenter.com/||OK||works well|
|LDT||SA–DEC-4-DC-F||stationary decoder||http://www.ldt-infocenter.com/||ERROR||does not work|
|LDT||SA–DEC-4-DC-B||stationary decoder||http://www.ldt-infocenter.com/||OK||works well|
|LDT||M-DEC-DC||stationary decoder||http://www.ldt-infocenter.com/||OK||works well|
|MBTronik||WA5 Servo decoder||stationary decoder||http://www.mbtronik.de/wa5.html|| ERROR |
or OK ?
| neither operating nor programming seems to work
look this opposite message: (with new ORD-1) http://forum.rocrail.net/viewtopic.php?t=1226
|CT Elektronik||DCX 51-2||loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 70-2||loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 74||loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 74D/N||loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 75||loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||SL51-3||sound-loco decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 32||function decoder||http://www.tran.at/||OK||works well|
|CT Elektronik||DCX 33||function decoder||http://www.tran.at/||OK||works well|
|Zimo||MX 63||loco decoder||http://www.zimo.at/||OK||works well|
|Zimo||MX 64||loco decoder||http://www.zimo.at/||OK||works well|
|Zimo||MX 620||loco decoder||http://www.zimo.at/||OK||works well, CV read/write not tested|
|Zimo||MX 630||loco decoder||http://www.zimo.at/||OK||works well, CV read/write not tested|
|Zimo||MX 631||loco decoder||http://www.zimo.at/||OK||works well, CV read/write not tested|
|modelleisenbahn-claus||S8-DCC||servo decoder||http://www.modelleisenbahn-claus.de/||OK||works well|
|Digitalbahn||Sven Brandt's turntable decoder||Turntable decoder DCC||http://www.digital-bahn.de/||OK||You have to use Firmware 1.37 or higher. Only DCC is tested|
|ESU||LokPilot V4.0||loco decoder||http://www.esu.eu/||OK||works well|
|ESU||LokPilot V3.0 DCC||loco decoder||http://www.esu.eu/||OK||works well|
|ESU||LokSound V3.5,||loco decoder||http://www.esu.eu/||OK||works well|
|ESU||LokPilot Basic||loco decoder||http://www.esu.eu/||OK||works well|
|Uhlenbrock||76200||loco decoder||http://www.uhlenbrock.de/||OK||works well, CV read/write not tested|
|Uhlenbrock||76420||loco decoder||http://www.uhlenbrock.de/||OK||works well, CV read/write not tested|
|Uhlenbrock||Intelli Drive Comfort 76320||loco decoder||http://www.uhlenbrock.de/||OK||works well|
|Rautenhaus||RMX990||loco decoder||http://www.rautenhaus.de/produkte/rmx-komponenten/rmx990.html||OK|| DCC incl. POM works well
reading CV not tested
|ESU||LokPilot V4.0||loco decoder||http://www.esu.eu/||OK||works well|
|Märklin||c80 (6080)||loco decoder||-||OK||works well|
|Märklin||FX-Decoder (60760)||loco decoder||-||OK||Version 5, 28 Steps|
If the decoder does not react on commands it could be fixed by change pole.
The output of the ORD-3 is electrically different compared with the ORD-1.
Under Win 8 trouble is possible, if a booster needs the RS232 handshakes DTR and/or RTS.
The forum thread http://forum.rocrail.net/viewtopic.php?t=6623 provides notes.