Question about using Programming Track and service mode with DCC++EX

Ansley Mar 23, 2022

  1. Ansley

    Ansley New Member

    9
    6
    1
    Hello, was having some issues reading decoders and when querying on another forum I got this response from a supposed DCC expert when he advised me not to use the system for programming or reading decoders, and to use my NCE system:
    " just that the DCC++EX system does not have a good "track record" and is not as sophisticated at programming CVs as your NCE, so I did not respond because it's not as good a system. (if you want to argue this, please be prepared to PROVE it can do register, paged and direct programming and submit the waveforms from a scope, otherwise you need to take the advice of people with more knowledge)"

    Ok, can some DCC++EX experts comment on this please? What's the status of the programming track using DCC++EX, is it reliable, and is it fully functional and usable? What specifically is wrong with the digital communication via the programming track output on the system? I would love to have a response to his information, becasue honestly, I know a lot of people use DCC++EX as a command station and I've not heard about big problems with programming, so I'm interested in learning what are the limitations.

    Ted
     
  2. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Hello Ted,

    Welcome to the friendly world of DCC and thank you for taking the time to explore DCC++EX.

    Yes, DCC++EX Programming track is Highly Reliable, Proven to read difficault decoder, Multi Functional and performs Magic with the New 'Drive Away' feature with Engine Driver WiFi Throttle.

    You obviously got a response from a DCC expert who knows the NCE system inside & out, and a excellent system in it's own right.
    I'm not the fellow your looking for to debate him, I'll leave that to EE and CS Engineers

    So you can either take his word for it, or see if DCC++EX has as Good of a Track Record as its Users Believe it has.

    I wrote this {none professional beginners} DCC++EX & DecoderPro Getting Started Guide version1.0 to help my fellow MRR Club members.
    Please take the time to download and view it through your browser.

    click to enter our DCC++EX website, then click on the green bar to download the guide.
    https://dcc-ex.com/reference/downlo...hensive-dcc-ex-jmri-getting-started-guide-pdf

    DCC++EX Reads most decoders right away, but if you have a particularly stubborn decoder then,
    Scroll to the bottom of page 14, and continue to 15, 16 & 17 and try out the DCC++EX Commands
    <1> Turn power on
    <D ACK ON> Turn Diagnostics On
    <R 8 1 1> Read the decoder manufactures ID

    Look at the Traffic Serial monitor response to see where and how long a decoder takes to talk back to you
    and adjust your system as needed.

    Be sure to click on the blue highlights fields in the guide to see additional information and 'other useful links' on page 27.
    Let me know if it is helpful to you and where I can make improvements, It is only the version1.0

    Please feel free to touch base with the DCC++EX Development & Support group at https://discord.com/invite/PuPnNMp8Qf

    All the Best,
    Kevin
    DCC++EX
     
    Last edited: Mar 23, 2022
  3. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    Hello Ted, can you tell me which forum this was posted to you? Was this a private message to you after you posted on that forum or posted publicly?

    There are always people online who perhaps have no power in other areas of their lives so when they find a narrow niche somewhere where they find people may look up to them, they like to puff out their chest to express their feelings of self-importance. But in doing so they only wind up exposing their own insecurities. We all know people like this.

    More specifically, this person seems to be throwing out impressive sounding terms in order to sound like they know what they are talking about. Throwing out programming modes mentioned in the NMRA documentation and insisted that an oscilloscope trace is proof that something could program locos is misdirection. It it more involved than that.

    The real proof is "in the pudding". Does it work or doesn't it? To my knowledge, there is no other system with as sophisticated or fast a method for reading and writing CVs as DCC++EX. SProg even adopted one of our techniques in their system. Now if this person had heard of the old DCC++ Classic system from 7 years ago and was mistaking that for DCC++EX, then he may be somewhat correct regarding CVs. But again, an expert should know the difference.

    I would never denigrate another system, especially good ones like NCE and Digitrax. I will tell you that we have a team of expert developers working together from around the world on DCC-EX projects. Our code is free and open source and any professional developer if free to look at our code and see exactly what it does. Not only can DCC++EX read or write virtually any decoder out there, we are the only system that provides advanced diagnostics to find out exactly what is happening if there is an issue. What we have found is that there are many older decoders that do not adhere to the NMRA specification. Nevertheless, DCC++EX can usually read and write those too. Let me point you to some documents that might help. This is a technical reference on diagnosing decoder issues using our Command Station:

    https://dcc-ex.com/reference/software/diagnostic-d-ack-command.html

    and this is a "getting started" guide for using JMRI and the "CS-EX" (including using decoder pro for CV read and writes):

    https://dcc-ex.com/_static/document...Decoder_Pro_4.24-_Getting_Started_Guide-1.pdf

    And let me if I may point you to true experts and professionals in model railroading. Just listen to the first 18 seconds of the first video if you don't have time to watch it now:

    Jimmy at DIY & Digital Railroad



    Geoff Bunza, PhD - from Model Railroad Hobbyist Magazine
    A blog entry adapting the Command Station for inside a loco

    https://forum.mrhmag.com/post/sma42...l-direct-to-your-loco-12289064?pid=1332020138

    Tom's Trains & Things (he has several videos on DCC++EX)



    And lastly, DCC++EX is the only Command Station with virtually 24/7 support and help. Our Discord channel is always busy and you can usually get answers to your questions there quickly. We have lots of good information on our website: https://dcc-ex.com/
     
    Last edited: Mar 23, 2022
    Sumner likes this.
  4. Ansley

    Ansley New Member

    9
    6
    1
    Fred,
    I agree with everything you said. I've been on online forums since 1994, and on that particular forum (yes it was public) since 2007, and I know exactly what you're talking about. He was not being very helpful with a question about programming an LGB Mikado. When I did more research I actually found out that a particular person was withholding information from previous conversations from several years ago, I have no idea of his motivations, but he's a very well known G scale person with a website and literally tens of thousands of posts But he wouldn't really help me when I said I was programming on a DCC++EX system with a programming track. Anyhow, Thanks for the info. Also, I'm aware of the monitoring and diagnostic tools in JMRI and I did find another thread about timing and looking at the bus. So I'll do that too. I did have trouble getting the programming track to read some of my locos, so I'll dig deeper and post any timings are results I find. It might be a while, as I'm a bit tied down right now

    Thanks for your response and to Kevin above as well!

    EDIT: I shoudl have added... no I'm not going back to that thread to argue with him, done with that line of questioning. He insulted me when I got confused between programming track boosters and normal boosters and told him I was using a booster. I will just move on, and have already fixed my orginal main problem that I had queried about without his help. I'm a huge supporter of online forums, and open source software, and post a lot of information I have learned over the years, and items I test and use on some G Scale forums, and some O scale, like Gscale.net. I just wanted to find out more info as I move forward using DCC++Ex and JMRI. I had used JMRI many years ago for while with my NCE system, but I'm a tinkerer and also have built many custom train circuits before.

    Regards,
    Ted
     
    Last edited: Mar 23, 2022
    KC Smith likes this.
  5. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    The Mikado is my favorite engine! Funny you should post that. I missed the boat on a Halloween 0 Scale from Lionel. I suppose I can find one on eBay for twice its original cost, but hoping they bring it back. I do N scale for DCC and Lionel O for the ceiling and Christmas Tree and Halloween trains.

    The short version of the page I linked to you regarding diagnosing decoder issues is these short steps:

    1. Put the loco on the programming track (output B of an Arduino Motor Shield if that is your motor controller).
    2. Load up any serial Monitor, even JMRI, but we prefer the Arduino IDE for diagnostics just to eliminate variables
    3. Send <1><D ACK ON><R> (each separately or all on one "send")
    4. Read the results or post them here or Discord for the tea leaf readers

    This turns on power to both tracks to put things in a known state, turns on decoder "ACK" diagnostics, and then tries to "Read" the loco ID. It does this intelligently looking for short or long address and turning off consisting if it is on. A good result on the last line would be <r1223> for loco ID 1223. Not good would be <r -1>. But the trace it gives will tell us all this:

    • The baseline or resting current of what you have sitting on the track
    • The response or lack thereof to each "test" ex: "is bit 7 of CV 8 a zero?"
    • The time it took to respond
    • The duration of the ACK pulse
    • The magnitude (current) of the ACK pulse
    • The number of samples we took to get the ACK pulse
    • If there were any gaps in the ACK pulse
    Then we can use other commands to adjust for decoders that are way out of tolerance to the NMRA specs and make the settings permanent if you like in a mySetup file.

    Fred
     
  6. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    Tell us about your railroad. Is it garden? If so, dead rail?
     
  7. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    Tell us about your railroad. Is it garden? If so, dead rail? ... I can't delete this multiple post, so just edited it in case someone knows how to delete a post.
     
  8. Sumner

    Sumner TrainBoard Member

    2,845
    5,999
    63
    First I'd bet $100 that the 'expert' has never even used DCC++EX. Looks like you are moving on so good.

    I will comment that I started with the original (Greg's) DCC++ and did have a number of 308 errors not reading the decoder. Then DCC++EX came along and I switched. Since then I can't think of a programming problem and I've converted a number of DC locos to DCC so have used DecoderPro and DCC++EX quite a bit. I haven't had to use any of the advanced features to help with a stubborn decoder but they are there.

    I found that with the original DCC++ most of my reading a decoder problems were that it need clean track, clean pickups and clean track to decoder connections. Usually making sure all of those were good solved the problem. DCC++EX seems to be a lot more tolerant to those issues.

    Sumner
     
    KC Smith likes this.
  9. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    You are right. And as you also mentioned, there are things between the Command Station and the loco that can cause issues. Dirty track is a biggie. Loose or corroded wires are another. I like sound locos because if I have a good connection, the idle sound is on and steady. You may not know you have a bad connection to the track without that.

    @Ansley Ted, you may be interested in what we are doing with DC. You will be able to run DCC on one section of track and DC on another from the same command station. It is running and being tested now. We are adding 8 separate tracks also, with multiple motor boards. So you can have districts.
     
  10. Ansley

    Ansley New Member

    9
    6
    1
    Thanks guys, I should be able to get out there and get that soon. Don't have the Arduino IDE loaded on my Rasp PI 4 as of now, it is not on the internet. I loaded the Arduino in my house on my PC. My G "test" layout as I call it, is in my garage. I can use the serial monitor on JMRI though right? I also have a 25x12 foot G Modular layout I take to a few train shows. I'm planning another big indoor G layout, and an indoor O layout (regular old AC, no digital except for some lionchief engines) too. I currently have about 80 G engines, about 22 DCC, the rest analog DC so I'm interested in that DC option you mention above! My layout in my garage is tiny for G, only 14 x 7.5 feet with 2 loops of G scale, and 2 loops of O scale on it. I own a bunch of different boosters for my G scale, been testing several. My DCC++ is a standard knockoff Mega board with a Flashtree Motor Shield (arduino clone). I just feed the main track via either my 5A or 8A booster. I'm building a 10A homemade booster soon, I have the circuit board and parts.

    My specific problem was I initially put about 6 or 7 locos on my programming track to load them into my roster on JMRI. Only a PIKO Mogul and the LGB Mikado would read. The funny thing is I could NEVER program ANYTHING on my Mikado until then,still set to address 3 and all factory settings, never worked on my main using my NCE system like my other locos. Using the programming track with DCC++ I could not read a QSI TItan decoder in my RS3 nor *I think* another QSI Decoder in my SD45. I also could not read two Massoth Decoders in an LGB Stainz and LGB powered Tender (they each have a Massoth Decoders, I run them as a consist). I sorta screwed up the Mikado trying to program the speed steps and address, got the address changed, but then it wouldn;t move forward or backward. That's when I went on this other forum for help. LGB decoders are notorious for not working well with standard DCC systems, a lot of info on this. Eventually, with no help from that G scale guy, I found old threads about using register mode on the LGB Decoder and was able to issue a reset, and then change the address like I wanted to the last 2 digits of the road number. Ok, it was working again but now ALL the lights are out, both foward/backwards and firebox and cab light. These were the problems I was having and still have with that engine. I got chastized, as I mentioned above, for using the DCC++EX programming track was told to use my NCE system. I Was told "it pains me to even read this" as I described my multiple troubleshooting steps, etc. on both systems. HE never once offered any assistance on my LGB Mikado programming troubles after about 5 posts, then I found an older thread giving specific instructions, by him, about using register mode, etc.. I asked why he didn't give me that advice, and it got a little ugly as he claimed you need to get service mode working with the NCE first, you have lots of problems, and fix those first. I didn't have multiple problems, I had one problem, and did not have a programming track on the NCE at that time. I didn't really care about my programming track probs at the time, as I was able to program all settings on the main with my NCE system anyway on ALL my other locos which were good enough for me for now. That's is the full summary, well mostly, it was long. Oh, basically my decoders were unable to read after lunging in the roster window, it tried. I just haven't tackled it anymore yet, nor try the rest of my locos. It's a pain moving around a large G scale locos, most of which are not out on the layout in a crowded garage. Not like all 20 of them are neatly lined up in a few feet next to my track like I might be able to do in HO or N! :)

    Anyhow, I will use the serial monitor when I get a chance. Also, I didn't mention but I do have a bunch of HO and N, and even some Z stuff, just a small N layout in my utility room. I do have other DCC systems, and some basic older DCC locos in HO and N scale too!
    Regards,
    Ted
     
  11. FlightRisk

    FlightRisk TrainBoard Member

    548
    237
    14
    Yes, you can use JMRI as your serial monitor. You can use the DCC++ Command pane and the DCC++ Traffic Monitor. You can send commands and see the responses in the other window. One of our guys wrote a plugin for JMRI too that puts a lot of buttons on one of the windows. I need to get that latest stuff on my Pi to test it out more so I can do a writeup on it. Discord is the place to go if you want fast help for all this stuff. I can only be in so many places. KC Smith is here, but I think Kebbin is only on Discord.
     
  12. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    see response below
     
    Last edited: Mar 25, 2022
  13. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12

    Hi Ted, and for all Other DCC++ Users

    There are many reasons why you may be having trouble and many way to solve the issues.
    Start from what we have seen as the most often reasons and work through the issues.
    Hardware;-
    1) Clean the tracks and clean the engines wheels with alcohol and a Q-tip.
    1) Make sure you have the Main A block wires to main track and the PROG B block wires to Programming track.
    1) Motor Shield power for Z & N scale {12.5vdc 1 to 2Amp}, HO & G {16-18.5vdc 3 to 5Amp} with a Regulated Laptop power supply
    1) Test the voltage on the Main & Prog tracks with a multi-meter set to AC. It should be slightly less than the input volts above.

    Software;
    DCC++EX & JMRI
    2) Download the latest DCC++EX Master 4.0.1 or higher release to your Arduino Mega and the JMRI 2.26+ release to your PC or RaspPi.
    2) Download & Review the Getting Started Guide ver1.0
    https://dcc-ex.com/_static/document...Decoder_Pro_4.24-_Getting_Started_Guide-1.pdf
    3) Review DCC++EX Command Station requirements page 2-3
    4) Review Difficult Decoders Page 15-16

    We've tested many N & HO scale decoders and have been successful in reading the majority of them with DCC++EX command tools including decoders with Bad single bits {bit 1} in Cv1 short address. And been able to recover them. I have very limited experience with G scale but there are support people on our discord support channel who have.

    review page 16 and use These additional commands to test your LGB decoder
    Place either the LGB Engine G or a Z, N & HO scale Engines on the PROG track, Not the Main track
    Use the following command and review the response in the Traffic monitor to see where and how long a decoder takes to talk back to you and adjust your system as needed.
    <1> Power On
    <D ACK ON> Diagnostics On
    <R 8 1 1> Read CV 8 Mfg ID
    <R> or Read the Engine Address or any other CV's

    Test if the AckPulseDuration is within NMRA Standards between a 5000us <=pulse=> 7000Us response.
    if your ACK Pulse= is Greater than 8500uS then set it higher than the highest pulse=xxxx uS you received and retest
    <D ACK MAX 13500> sets the new Maximum to 13500uS or 13.5ms
    <R 8 1 1>

    if your ACK Pulse= is Less than 4000uS then set it lower than the lowest pulse=xxxx uS you received and retest
    <D ACK MIN 2000> sets the new Maximum to 2000uS or 2ms
    <R 8 1 1>

    Test if the current AckLimitmA is within NMRA standard threshold is between =7/20mA and =27/80mA
    if your current Threshold= is much less than 20mA then set it lower than the lowest Threshold=xx mA you received and retest
    <D ACK LIMIT 15> sets the new Limit to 15 or More sensitive
    <R 8 1 1>

    if your current Threshold= is much more than 80mA then set it higher than the highest Threshold=xx mA you received and retest
    <D ACK LIMIT 100> sets the new Limit to 100 or Less sensitive
    <R 8 1 1>

    Some G scale engines and some N & HO scale Sound engines with capacitors take more power to read.
    We can Temporarily turn off the NMRA standard programming track 250mA limit and boost the current to the decoders.
    <D PROGBOOST>
    <R 8 1 1>

    Review Additional detail here; www.dcc-ex.com/reference/software/diagnostic-d-ack-command.html

    Once you have successfully read the decoder you can correct your Engines lighting issues by changing JMRI Lighting CV's.
    And then make your new Command Stations MIN, MAX & LIMIT values more permanent by adding a mySetup.h, see page 17 of the Getting Started Guide.

    If All else fails follow step (1) and contact us at www.discord.com/invite/PuPnNMp8Qf

    I'll be away for a week or more so touch base with the DCC++EX Support crew on discord.

    Best Regards,
    Kevin
    DCC-EX
     
    Last edited: Mar 25, 2022
    Mark Ricci and Sumner like this.
  14. Mark Ricci

    Mark Ricci TrainBoard Member

    481
    652
    13
    KC Smith likes this.
  15. sidney

    sidney TrainBoard Member

    1,247
    2,117
    38
    copied for future reference Thank You KC Smith. yeee more info to store in dcc folder(y)
     
    Mark Ricci and KC Smith like this.
  16. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Enjoy!
     
    Mark Ricci likes this.
  17. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    My pleasure,

    Best when viewed & used through a Web Browser.

    It was written for my local SCMRRC members for our DCC++EX & DecoderPro Clinic not for the general public.
    Let me know where I confused you or made any mistakes I'll up date it to DCC++EX 4.x sometime in the future.
     
    Mark Ricci and Sumner like this.

Share This Page