I got a new engine off e-bay that has address 9999 but when I select that number on the DCS51 it goes in fine for the first 3 digits and when I put in the last it changes to 9983. I have a UT4 and it won’t let me steal that address either.
Digitrax only supports up to 9983 in general.
Thanks, did not know that. Now I guess I will have to learn how to reprogram the decoder. Can I do this on the main if there are no other trains on it, still working on layout and separate programing track not put in yet, accually have never done any programing on a decoder yet.
And double thanks for the link, confirms what you said along with other helpfull info.
All you need for a program track is a spare stick of track, solder a couple of wires to it, and connect it to the PGM A and PGM B terminals.
You generally can’t change one long address to another using programming on the main. The other problem is since you can’t select address 9999, you can;t access it directly and would have to use broadcast programming using address 00 - which will program any decoder left on the track. So since you have to clear all the other locos off anyway, the simple way is to swap the track wires over to the PGM A and PGM B terminals. MAKE SURE ALL OTHER LOCOS ARE OFF - you just made your whole layout a program track. Then proceed with programming on the program track using the usual method - it doesn;t matter that this loco has an address outside of the supported range, you can make it whatever you want. Then change the wires back to the RAIL A and RAIL B connections and run trains again.
–Randy
Randy,
Why are addresses 9984-9999 not supported? Is that only with Digitrax?
Tom
All you need to do is get a piece of track (a ‘terminal track’ for like Atlas snaptrack would work fine) and hook two wires to it, and the other end of the two wires to the programming output of your DCS51. Then ‘read’ the engine’s four digit number, put in the number you want, and hit the button to overwrite the old number to the new number. Extremely easy to do.
You make it sound easy but it is something I have not done. There are no locos on the main, they would get distroyed in the scenery stage. In fact I have only run two engines on the track once (just to check it out). I have a ready built program track but why deal with setting it up just for this one loco to test and then be put away till major scenery is done. I am zip texturing the whole layout and it is only 1/4 done.
You will have to ask whoever wrote the software for Digitrax command stations. It is possible to go to 10239.
The DCC standard doesn’t require implementation of the entire possible range either.
The difference between what the standard allows and what Digitrax allows is exactly 256 - significant number. They are most likely reserved bits in the address table or something.
–Randy
Remember this is 14-bit addressing (little-endian with the first two bits plugged to 1) – that is why the range can’t go to FFFFx. The difference is that between 26FFx and 27FFx (the ‘shortfall’ from 9999 to ‘9983’ being entirely in the hex-to-decimal conversion – and this is just the difference between binary 0110 vs. 0111 in the equivalent representation. Strikes me as a restricted bit in bytewise representation…
Although there are plenty of other addresses which have the 3 LSBs all 1’s, so it’s not just tthe LSB for whatever reason. I suspect only AJ or whoever wrote the code could tell us this. I’d say limitation of the address display on the throttle but then it should at least go up to 9999. That’s the reason for 9999 on some systems instead of the full 10239.
–Randy
Randy, you would know: are these 14-bit instructions treated as dwords when clocked into registers, or divided ‘six and eight’ with those first two bits pegged’? (Isn’t the LSB ‘pegged’ to 1 by Digitrax to get the ‘9983’ limitation, after the two fixed in 14-bit, in fourth, not third position?)
It’s a little more complicated, as the 6 bits come from a byte that is ALSO used to determine the address type. The 2 MSBs from that byte, if 1s, indicate an extended address and that the next byte is also part of the address (if CV29 is set correctly). There are other meanings to the combinations of the first two bits - first bit 0 means a short address or consist address, which is why the limit is 127 - only 7 bits available. First bit 1, second bit 0 is for accessory decoder addresses. 11000000 - 11000111 are for the first 6 bits of an extended address - the only valid values are 192-231. 11001000 - 11111110 are reserved, and 11111111 (255) is an idle packet.
It could be that whoever wrote the Digitrax firmware simply forgot that the values are 192-231 INCLUSIVE and stopped at 230. That’s probably so baked into Loconet that there’s no way they can change it now without breaking a lot of things. It also points out one way to somewhat validate a long address - CV17 should never be anything other than 192-231. Address 128 sets CV17 to 192, 256 is 193, etc.
The only CV17/CV18 calculators are all over the place - the Digitrax one actually follows the 9983 limit, another I tried goes up to 9999 which is where NCE and some others stop, and the one that allows all the way to 10239 actually allows even higher values - there was no upper bound put on the address. It will happily provide values for CV17/18 all the way up to address 99999- but good luck setting the 8 bit CV17 to a value of 582 [(-D]
–Randy
Wow, you guys are way ahead of my pay grade.
Eventually you’re going to want to be able to read and program CVs for things like ID, momentum, speed matching etc. so you’re going to need to set up a programming track.
If you don’t want a programming track separate from the layout, get a DPDT (Double Pole, Double Throw) toggle switch - a “center off” one is nice but not necessary. Only costs a few bucks. If you have an electrically isolated block of track on your layout, you can use the DPDT switch so that the section of track gets power from your Zephyr for regular running if the switch is thrown one way, and is connected to the programming outlets when you throw the switch the other way.
All sort of super interesting info provided
Strait from the DCS51 manual, page 24 (Hint: get the DCS51 manual in PDF and search for “9983” )
- Press the lOCO key and you will see either Ad2 or Ad4 in the display.
Ad2 = two digit address (address must be between 01-127)
Ad4 = four digit address (address must be between 0128-9983)
Marc
I knew about the online manual. I just didn’t relize it had this limitation, would have never gone there proubly if the engine I got hadn’t come pre set to 9999, acual road number is 9, go fiqure.
I have heard that it is a throttle limitation. Addresses above 9983 can be accessed and programmed through JMRI. You would also need a JMRI throttle to run them. My club assigns the first two numbers as a unique member address. I deliberately chose 99 because of the limitation. Easier to be the one than have to explain it a couple of times a year.
Almost sounds like you are the one that programed it.