DCC++ Problem with a loco on PROGRAMMING and OPS TRACK with DCC ++ Controller

mayhaw9999 Jan 30, 2016

  1. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    My system: Arduino UNO R3 original – Pololu Motor Shield – 20V 3.3 Amp laptop power supply regulated down to 16.75 V DC. DCC++ output to the tracks is 17.3 V AC. Also remember, I'm new to DCC, have never had a commercial DCC unit and my programming skills are at the beginner level.

    My loco is a Bowser Executive Line DCC ready Baldwin AS 616 that was my first DCC decoder install using a Sountraxx TSU BW 1000 decoder with sounds for the Baldwin 608A prime mover. Road number 404.
    CV1 – reads 3
    Engine addresses short = 3, long = 3
    Can't write first bite of long address when I try 404 (or other long numbers)
    Error – Writing First Byte of Long Address

    CV2 – READS 0
    CV3 - READS 0
    CV4 - READS 0
    CV5 - READS 0
    CV7 - READS 64
    CV8 - READS 141
    All other CV's are as they should be on a reset decoder.

    I renamed cab 54 to my loco number 404 (line 321 controllerConfig), but didn't do anything else. I don't understand how to code the other functions.

    Using DCC++ Controller, this loco does not do anything except make prime mover sounds (the sounds start when I power the program or ops track). On the ops track there is no movement, no lights, no bell, no horn, etc. With JMRI, I have it running forward and reverse with lights, bell, short and long horn and other sounds using the present decoder settings.

    BTW. Gregg, I really like the way the Controller programming track works most of the time. CV's are read quickly and almost always are written promptly. I'm not really up to snuff with JMRI, but it seems much slower and harder to use. You have done an excellent job with this program and I'm really excited about things coming down the pike.

    So, someone point me in the right direction. Thanks!

    David U
     
    Scott Eric Catalano likes this.
  2. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    David,

    I'm not sure I understand all of the combinations you tried that are working/not-working. First, before trying anything on the programming track we should confirm that the train is fully operational on the main track. Have you been able to control the train (speed and direction) on the main track using just the Arduino IDE Serial Monitor (not the DCC++ Controller). If so, this means that DCC++ Base Station is set-up correctly. If not, we need to begin there.

    If you can control the train with the Serial Monitor, the next step is to try controlling it with DCC++ Controller. Since the Controller likely won't come configured with a cab button that matches the number of your locomotive, you can change this in the interface by RIGHT-CLICKING on the any of the 7 cab buttons. This will change the selected cab-button to "edit mode" where you can type in a new cab address and hit return. This new setting won't be saved between sessions but it's a quick way to try out a new cab without having to change any of the code (eventually I'll change DCC++ Controller to be more flexible in creating/saving cab addresses without needing to change the code at all). Note all of this testing should be done on the main operations track.

    If all of this works, the next step is trying to program on the programming track. Note that the programming track is dedicated for programing only. The DCC standard does not allow for operating a train on the programming track. However, depending on the decoder, the sound may turn on simply because there is power on the programming track (but you won't be able to control the sounds or anything else).

    I apologize if you've gotten this far already --- I just wanted to confirm before we try to debug any of the CV-reading problems.

    -Gregg
     
    Scott Eric Catalano likes this.
  3. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    Gregg,

    Thanks for the prompt reply. I had not tried running the locomotive with the base station since the JMRI throttle seemed to work. I can control speed, direction and at least some of the light and sound functions (I haven't tried them all) from the IDE Serial monitor.

    In the DCC++ Controller, I had changed the cab button number to my road number for cab 54 in line 321 on the controllerConfig file but obviously that didn't write the long address into DCC++. So, at least, I know what cab I'm working with as that cab button has my loco number.

    Following your directions, I then opened DCC++ Controller with the locomotive still on the ops track. Power on starts the prime mover sound, but I cannot control speed or direction. Lights and other sounds do not work.
    I do understand the concept of a programming track and I have been impressed with the ease of programming with DCC++. I have installed and programmed a non sound decoder in an Atlas/Kato GP7 that is working beautifully. I was able to write the long address and change the cab button. Don't know where to go from here with this sound loco. BTW, I had a time out error when I tried to write the long locomotive address in JMRI. With an internet search I found out how to code CV17 and 18 and tried that as well. I was not successful.
     
    Scott Eric Catalano likes this.
  4. mikegillow

    mikegillow TrainBoard Member

    116
    117
    13
    When you attempt to write the CV, does the loco 'pulse' at all? If the decoder receives and understands the 'write' command, it acknowledges by pulsing the motor. The Base Station has to detect the pulse using current sensing. If the loco 'pulses' but the Base Station times out, try writing a CV value that you can easily check using the main track. Try the write on the programming track, then move the loco to the main track to test the result. Does it get changed even though the programming attempt times out?
     
    Scott Eric Catalano likes this.
  5. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    Mike,
    Yes the loco pulses. I have had no problem writing CV's on the programming track except the Loco Address. As you suggested, I did change one of the CV's - it was changed. Also I can communicate with the loco after changing the cab number to 03 in Config file. Changing it with a right click on the screen button didn't seem to work.
    Main problem I have now is that I cannot write a long loco address. Looking at the DCC++ Controller Programming Track screen, the bottom part has to do with reading and writing engine address, correct? So, with my loco on the programming track, I read short address 3 and long address 3. Active Short. When I try to write a long address (in my case 404) I get the error message - "Writing First Byte of Long Address Failed" - the locomotive pulses each time I try. I switched to Active Long and got the same error message. As I said earlier, when I tried to write the long address with the JMRI Decoder Plus program, it timed out and was not successful.

    Thanks for your help.

    David U
     
    Scott Eric Catalano likes this.
  6. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    So you can write and read all CVs, such as the user-defined ones (105 and 106), but not CV 17 and 18? Can you write and read from CV 29? Also, can you check CV 30 - it should be set to zero.
     
    Scott Eric Catalano likes this.
  7. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    Yes Gregg. I can read and write to all the CV's above and CV 30 is 0. I presently have CV 29 set to 2 (no DC function). I was under the impression that that CV would be changed by the programmer when the long address needs to be active - bit 5 is presently 0.

    Thanks again.

    David
     
    Scott Eric Catalano likes this.
  8. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    To confirm, you can or cannot write to CV 17 and 18 directly with DCC++ Controller? And when you try you are writing CV 17 first, then CV 18? (I have an n-scale tsunami sound decoder and I can program it but will double check the address and try to set 404).
     
    Scott Eric Catalano likes this.
  9. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    Hi Gregg,
    I tried to write to CV 17 directly and got a write error. So back to Google search. One suggestion was to insure that CV 29 bit 5 was 1. I did that, still could not write CV 17. When I read the value, it was correct from a prior trial (I think when JMRI timed out trying to write the long address).
    I then wrote the correct recalculated value to CV 18 and was successful. So, I'm not clear as to why the Controller programmer was not able to overwrite the incorrect value in CV 18. No matter, problem solved!
    Gregg, I really like writing CV's with the Controller programmer. Great to see the decimal value but even better to see and be able to write the binary. That makes it easy when one needs to write a value to a specific bit.
    Thanks for this great program.

    David U
     
    Scott Eric Catalano likes this.
  10. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    That's good news. I wonder if the time-out left your decoder in some hanging state. Seems like a reset should have cured the problem though. According to the Tsunami manual, you need to write CV 17 first and then CV 18 when changing the long address. Maybe writing to CV 18 released some sort of internal lock.

    If you're feeling bold, care to try writing a different long address with the DCC++ Controller again? Maybe now it will work (but may not want to risk it!).
     
    Scott Eric Catalano likes this.
  11. mayhaw9999

    mayhaw9999 TrainBoard Member

    27
    28
    5
    I tried writing a couple long addresses sing the Long area under Engine Addresses - "Error - Writing First Byte of Long Address Failed". Didn't try writing to CV 17/18.
     
    Scott Eric Catalano likes this.
  12. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    Now that I think about it, my Tsumani engine is number 54 - a short address, which I set using DCC++. And I've tested long addresses using other decoders. But I'm not sure I ever tested my Tsunami decoder with a long address. I will give that a try and see if I can spot the problem.
     
    Scott Eric Catalano likes this.
  13. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Dave,

    This is Great news... Thank you for you all your efforts.

    p.s. I've asked that this post be moved to DCC++ Hardware - Motor Shield (via Report button)

    Kevin
     
    Last edited: Feb 6, 2016
    Scott Eric Catalano likes this.
  14. Texas Tim

    Texas Tim TrainBoard Member

    53
    52
    9
    I have both the authentic Ardiuno Mega and Motor Shield. But I can not write to any CVs at all. Even tried to write to CV105 and 106 and failed.

    I can read CVs, but just could not write...

    <r55|88|105 -1><p0>

    And I have verified all the LEDs blink. I can control the loco on the main track fine. But just could not program the decoder. All my decoders are Digitrax.

    The Ardiuno board is powered thru the USB.

    I have a 15VDC/5A power supply connecting to Motor shield, the VIN has been cut, the brakes were also just cut.

    My multi-meter read between 9 to 10 VAC at both TRACK-A and TRACK-B output.

    Anyone please help me trouble shoot the problem... Thank!
     
    Last edited: Nov 20, 2016
    Scott Eric Catalano likes this.
  15. Travis Farmer

    Travis Farmer TrainBoard Member

    352
    320
    14
    I Don't wish to sound rude, but have you tried the diagnostic steps?
    https://github.com/DccPlusPlus/BaseStation/wiki/Diagnostics---D---Command

    ~Travis
     
    Scott Eric Catalano likes this.
  16. Texas Tim

    Texas Tim TrainBoard Member

    53
    52
    9
    hi Travis,

    No worry. you are not rude. I did tried the Diagnostics steps and those 4 LEDs blinked as described. Initially, I thought because I did not splitted the VIN and BRAKES under the motor shield. But after I split them, the WRITE still is a problem.

    I thought maybe the power supply issue. So I swap another different 15 VDC / 5Am. But still the same issue.

    I noticed the VAC from both TRACK-A(main) TRACK-B(program) output between 9-10 VAC. is this normally? should this be 12VAC or higher?
     
    Scott Eric Catalano likes this.
  17. Travis Farmer

    Travis Farmer TrainBoard Member

    352
    320
    14
    mine reads 16.9Vac, with a 16Vdc track power supply.
    it sounds like you are only getting half of the DCC AC signal.

    ~Travis
     
    Scott Eric Catalano likes this.
  18. Travis Farmer

    Travis Farmer TrainBoard Member

    352
    320
    14
    I don't remember if you stated it or not, but can you make the DCC locomotive move, or it is just isolated to read/write of CV values?

    ~Travis
     
    Scott Eric Catalano likes this.
  19. BarstowRick

    BarstowRick TrainBoard Supporter

    9,513
    5,679
    147
    To the OP's original question. I don't know if my advice will help you. I'm thinking you are suffering from finger drag and entered the wrong CV and now you can't find it. You'll want to go to the second post as submitted by Sharkman aka David E.

    BarstowRick.com Setting CV Values.
     
    Scott Eric Catalano likes this.
  20. Texas Tim

    Texas Tim TrainBoard Member

    53
    52
    9
    Hi Travis,

    Yes. locomotives move fine. I tried 3 of my locomotives and they all ran.

    on the programming track, I can read the CVs fine. It was just WRITE to CVs always failed with DCC++ controller, JMRI, manually from the Ardiuno's IDE Monitor Serial...
     
    Scott Eric Catalano likes this.

Share This Page