Saturday, February 20, 2021

Digitrax Frustrations: Known bugs in DS64 and DCS100

 tl;dr:

  1. It's a good practice to read all Digitrax tech notes on their website for a given component before doing anything with it.  Tons of "this bug is feature" notes.
  2. There is a known intermittent DS64 bug which on startup randomly switches some turnouts.  This has been known since it came out circa 15 years ago and no solution.  The configuration options to prevent this don't actually work.  (Later edit: possible solution found, see start of main text)
  3. The only workaround is to create a "super route" that resets all turnouts to what you want their defaults to be.
  4. You can't do the "super route" with a DCS100 or 2000 command station route because of an undocumented feature that they don't pass the routes via Loconet.
  5. You can waste days messing around with crap like this.

(Later edit: when I was enabling routes for the DCS100, as described below, I also experimented with option switch 28, which: "Disables DS54 interrogate commands at startup."  The DS54 was the predecessor to the DS64, so my assumption was those commands also go to the DS64.  Interrogate commands ask which way the turnout is set and that info may be needed for more automated layout control.   But it's not something I use yet.  Well, low and behold. this seems to have solved the DS64 problem.  I've had dozens of power-ups and it hasn't occurred again once.  Apparently the interrogate command intermittently triggered the errant behavior.)

I wasted time with this 10-11 years ago.  I remember talking with a good friend about solutions for powering up the DS64 (the Digitrax stationary decoder that controls 4 powered turnouts) a long period after the rest of the layout because it is thought that this reduces the frequency of the problem.   I wasted more time on this in the past week.  I spent 2 hours on it this morning, along with trying in vain to get the DCS100 to program a super route.  It occurs to me that Digitrax' often near incomprehensible documentation and poor user interfaces are serious time sinks.

So the bug is simple: The layout powers up, including the DS64s.  There is a feature whereby, if configured, the DS64 is to send power to force all turnouts to go to their last setting.  This feature does not work - turning it off (supposedly the DS64 waits for a command instead) doesn't work.  The actual behavior is that the DS64 randomly, intermittently, will set some but not all turnouts to whatever direction it wants.  Lots of internet discussion, users have tried to figure out a pattern, but you can't stop it completely.  Digitrax support has known about it since the DS64 was launched about 15 years ago, but engineering has never fixed it and not actually discussed on their tech support pages (what are they going to say, "this feature never worked and never will"?).

The problem is that lots of times the turnouts are set the wrong way for what you usually want.  For example - instead of being closed for the mainline it will be thrown to a short stub track.  So you have to go around checking and resetting each one.

This morning I finally went about setting up a "super route".  Each route number is a switch (a.k.a. "turnout") number, which is not an actual switch but instead an alias for setting up to 7 switches with one switch number.  Since there is no distinction in the system between a route number and a switch number, you can put routes numbers in the switch list for a route, thus you can have nested a.k.a. "cascading" routes.   Together they can make a "super route".  In this case, the super route sets all of the switches on your layout to the settings you want as the default.

My command station is the Digitrax DCS100, which was the state of the art when I got it in late 2005, but has since been superseded twice.  The documentation says that it has 8 routes built in.  Plus, each DS64 each has 8 routes.  I know my DS64 routes work, but I decided to test out the DCS100 route settings.

I figured out from the JMRI documentation how to control Digitrax command station settings.  Honestly, once the command station is set up you rarely change the option settings but I figured this is a good thing to know how to do.  Got that set up and enabled routes.  But while JMRI can set up routes for the DS64 (and very easily and slickly) it can't for the DCS100.  Not clear why - there is a note in their discussion board from 18 years ago about trying to and finding it buggy.  I suspect that they found DCS100 routes near useless, as I was about to.  

So dusted off the trusty DT402 throttle, studied the manual, and set up a route.  Tested it.  No reaction.  Tried this that and the other thing.  Nothing.  Then I went to Google and it popped up:

When using a DCS100 or DCS200 to setup routes within the Command Station in conjunction with DS64 Stationary Decoders, the DS64 needs to be connected to Track Power. The DCS100/200 does not send internal route messages via LocoNet. DCS100/200s only send Routes as a series of switch commands out to the Track in DCC format.

 The DSC100/200 were designed in 1996 and had no requirement to echo these same switch commands out via LocoNet.


Of course, the DS64 documentation discourages you from using track power so not to cut power available to locomotives and instead encourages you to set up a dedicated power supply for DS64s.  Which I did although it's more expense and work to wire the dedicated power throughout the layout.  Also, the main tech note on DCS100 routes doesn't mention it. So, I disabled the DCS100 routes, quickly used JMRI to set up a super route using the DS64 routes and it all works nicely now.

Side note: One funny thing is that changing the configuration options of the DCS100 is a complicated procedure involving disconnecting loconet and working with the front panel.  But setting the same options via JMRI doesn't need all that - just click on the new configuration value and click "write".  Weird.  I have to wonder if the Digitrax guys who designed this stuff came from worlds where having to go through complicated electronics procedures to do basic stuff was normal so that's how they went about it.  The only reason I re-learned the official way to do this was while trying to figure out why the DCS100 route wasn't working.

No comments:

Post a Comment