DDX Digital Direct Xtra

Fonctions

  • Support complet de Rocrail
  • Support des formats NMRA DCC et Märklin/Motorola (MM)
  • Linux et Windows
  • Possibilité de quatre bus s88 sur le port parallèle
  • Compatible vaec ORD-1
  • Très peu gourmand en CPU
  • Pas de processus extar au démarrage
  • Sans protocole de supervision pour un meilleur temps de réponse
  • Fonctions DCC :
    • Support d'un rail de programmation pour le réglage et la lecture des CV
    • Adresse courte et longue
    • 14, 28 ou 127/128 crans de vitesse
    • 12 fonctions

Rétrosignalisation S88

Les bus s88, jusqu'à quatre différents, sont connectés au port parallèle(imprimante). Tous les bus sont scannés parallèlement pour que la répartition des modules de rétro-signalisation se fasse avec une meilleure performance.

S88 (flat) addressage

  • Bus 0 commence avec le contact 0
  • Bus 1 commence avec le contact 496
  • Bus 2 commence avec le contact 992
  • Bus 3 commence avec le contact 1488

Linux et Windows

Actuellement DDX a été testé sur les plate-formes pc suivantes:

  • Linux noyau (Ubuntu 7.10, 8.04, 8.10, Debian4)
  • Windows XP SP2
  • Et plus à suivre…

Setup

Nodes, attributs et valeurs sont expliquées ici: wrapper-en.html#digint
Pour tous les paramètres possibles, voir Rocgui.

Décodeurs de Locomotives

Le principal conseil est de programmer le décodeur de locomotive à l'adresse CV29, en mode de fonctionnement uniquement digital .
Sous certaines conditions(par exemple un plantage pc), le courant des rails peut rester en position haute sans la modulation digitale, ce qui aura pour conséquence de faire démarrer la loco en mode conventionel et à toute allure si le CV29 est laissé dans sa position par défaut.

Comment configurer les décodeurs DCC pour 128 crans de vitesse

Tout d'abord, il faut indiquer au décodeur qu'il doit se mettre à l'écoute du mode 28 / 128 crans de vitesse. Il faut dès lors programmer le Bit 2 du CV29 vace la valeur de 1: CV29 = 2 Après cela, il faut indiquer à Rocrail la manière d'envoyer les données à la loco. Cliquer sur Tables-Locomotives et choisir la la loco que vous voulez changer. Cliquer sur l'onglet Interface et changer les réglages suivants: 1. Version du protocole: Passer la version du protocome de 1 à 2 parce que la version 1 ne supporte que 14 et 28 crans de vitesse. Les 128 crans ne sont utilisables qu'avec la Version 2. 2. Crans de vitesse: ici vous avez à définir le nombre de crans. Indiquer 128 pour un conduite tout en souplesse.

Certains décodeurs Lenz ne peuvent reconnaitre que 14, 27 et 127 crans. Soyez sûr que votre décodeur a la capacité de prendre en charge le mode 128 crans de vitesse. Si vous ne connaissez pas l'info, il suffit de demander les renseignements à votre revendeur local ou directement chez le fabriquant.

A ne pas utiliser avec SRCP 0.8.x parce que cela signifie adresse longues au lieu de 128 crans de vitesse!

Les trains se mettent à rouler au lancement de DDX

Rappel: avec l'utilisation de DDX il faut programmer le décodeur pour qu'il ignore le mode analogique. C'est le plus souvent le CV29, mais bien vérifier le manuel du décodeur!


Le port série

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.

dmesg | grep tty

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

Parallel port


Only legacy parallel port is supported on legacy addresses, i.e. parport0-2 (linux) LPT1-3 (windows) (0x3BC, 0×378, 0×278)
To disable s88 completely set the port address to 0.

Details


Fast CV Get

Check this option when using a real RS232 interface to get a faster CV reading.

Check TX

Reduce light flickering when using a real RS232 interface.

Protocols

DCC on = Enable DCC locos and accessory

MM on = Enable MM locos

MMA on = Enable MM accessory

DCC MM MMA Working mode Note
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.

Known limitations

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.

Make sure that the used RS232 serial port is suited for generating an accurate digital signal; Not all ports can handle the demands.


Alternative downloads:

http://home.snafu.de/mgrafe/Programme/DDW-Treiber.zip

http://sourceforge.net/project/showfiles.php?group_id=46487&package_id=77441&release_id=150767

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.

Limitations that hopefully will be solved in near future:

  • make all configuration flags work properly. Fixed since svn 2483!
  • improve error handling. Work in progress…
  • make the code “reentrant”: possibility to use more than one DDX, with different ports. Work in progress
  • support ports using other than legacy addresses. Added in svn 2488. Basic support for USB2Serial devices. Linux ttyUSBX, Windows comXX
  • improve and verify output timing and latency.

Recommended Hardware

ORD-1

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).

Motorola Protocol specifics

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.)

Spécificités du protocole NMRA DCC

  • Adresses courtes et longues.
  • 14, 28 et 127/128 crans de vitesse.
  • Jusqu'à 12 fonctions.
  • Programmation et lecture des CV via le rail de programmation.
  • Programmation des CV sur le circuit principal (POM).

Black/Whitelist

L'UART des PC n'est pas conçu pour générer un signal qui convient à 100% au standard NMRA. En conséquence, il y a certains décodeurs qui ne fonctionneront que partiellement voire pas du tout.

Brand Name Type Link Status Comment
Rocrail all DCC decoders DIY stationary decoder http://wiki.rocrail.net/doku.php?id=english#hardware OK Tous les décodeurs décrits dans la section hardware fonctionne bien avec ddx
Lenz Silver Mini loco decoder http://www.digital-plus.de/digitalplus/digitalplus_decoder_silver.php OK fonctionne bien
Lenz Gold Mini Loco Decoder http://www.digital-plus.de/digitalplus/digitalplus_decoder_gold.php OK fonctionne bien
Kuehn N025 loco decoder http://www.kuehn-digital.de/ OK fonctionne bien
CT Elektronik DCX 74 loco decoder http://www.tran.at/ OK fonctionne bien
Tams LD-G 33 loco decoder http://www.tams-online.de/htmls/aktuell.html PARTIAL fonctionne bien mais la lecture des CV est impossible
Tams LD-G 8 loco decoder http://www.tams-online.de/htmls/aktuell.html OKfonctionne bien
Tams LD-G 21 loco decoder http://www.tams-online.de/htmls/aktuell.html OKfonctionne bien
Tams LD-G 5 loco decoder http://www.tams-online.de/htmls/aktuell.html OKfonctionne bien
Tams FD-R function decoder http://www.tams-online.de/htmls/aktuell.html PARTIAL fonctionne bien, mais la lecture des CV est impossible
Wedi 8 port DCC servo decoder DIY stationary decoder http://freenet-homepage.de/wedis-bastelecke/ OK fonctionne bien
LDT S-DEC-4-DC stationary decoder http://www.ldt-infocenter.com/ OK fonctionne bien
LDT SA–DEC-4-DC-F stationary decoder http://www.ldt-infocenter.com/ ERROR ne fonctionne pas
LDT SA–DEC-4-DC-B stationary decoder http://www.ldt-infocenter.com/ OK fonctionne bien
LDT M-DEC-DC stationary decoder http://www.ldt-infocenter.com/ OK fonctionne bien
MBTronik WA5 Servo decoder stationary decoder http://www.mbtronik.de/wa5.html ERROR aucun fonctionnement ou programmation ne semble fonctionner
CT Elektronik DCX 51-2 loco decoder http://www.tran.at/ OK fonctionne bien
CT Elektronik DCX 70-2 loco decoder http://www.tran.at/ OK fonctionne bien
CT Elektronik DCX 75 loco decoder http://www.tran.at/ OK fonctionne bien
CT Elektronik SL51-3 sound-loco decoder http://www.tran.at/ OK fonctionne bien
CT Elektronik DCX 32 function decoder http://www.tran.at/ OK fonctionne bien
CT Elektronik DCX 33 function decoder http://www.tran.at/ OK fonctionne bien
Zimo MX 63 loco decoder http://www.zimo.at/ OK fonctionne bien
Zimo MX 64 loco decoder http://www.zimo.at/ OK fonctionne bien
Zimo MX 63 loco decoder http://www.zimo.at/ OK fonctionne bien
modelleisenbahn-claus S8-DCC servo decoder http://www.modelleisenbahn-claus.de/ OK fonctionne bien
Digitalbahn Sven Brandt's turntable decoder Turntable decoder DCC http://www.digital-bahn.de/ OK Il faut utiliser le Firmware 1.37 ou supérieur. Seul DCC a été testé

Personal Tools