QSI programming fixtures Programming hardware setupBelow is a simple setup with a motor and speaker and the socket. I'm holding a connector that lets me use the speaker plug on the Revolution (by the "I" in QSI on the programmer dongle) or change to a couple of wires that let me screw in to the Titan terminals. Al this is on a small board, the speaker is in the top of a spray paint can. A more sophisticated setup below. This one has a socket and also DIP headers to screw into Titans that have had their pins cut off. Notice that I have both speakers there to confirm programming between them.At the front you can see the jack for power and the usb socket.Inside, I just removed the programmer from it's housing to make an easier installation into the box, but you could leave it in the housing and just cut a bigger hole in the cigar box.
Installing and using Quantum UpgradeThis page is all about installing the USB driver for the QSI programmer, and getting it working
Installing the QSI programmer and driverOverview:The programmer has a USB interface, and here are some tricks to installing the driver. This is because certain versions of the USB driver are not "signed" and Windows won't normally allow this.In addition, there are some cases that certain versions of the user software (the program to load sound files, and the JMRI-like configuration program) need DIFFERENT versions of driver and this also interacts with the Windows operating system version. Fun huh? Installing on XPInstalling on Windows 7Installing on Windows 8/8.1Installing on Windows 10Installing on Windows 11Installing the hardware driver on Windows 8 / 8.1 / 10 / 11This can be a real pain in the ass. The driver needed seems to vary also with the version of the CV Manager softwareDo not plug in the dongle! You need to install the software first!The driver will not install on windows 8 or 10 with the normal install. Part of this is because it is unsigned, and Windows 8 and 10 won't allow this by default. The other part of the difficulty is that it needs to be installed in a troubleshooting / compatibility mode for windows 8/8,1First, have the silabs driver already downloaded and in it's own subdirectory (unzip the file). The file I use is from the QSISolutions site named: qprog_usbdriver_winxp_3_2.zipNow, you need to put your computer into a special mode to accept unsigned drivers. This mode is called "allow unsigned drivers" You will set this up, the computer will reboot, and after installing the driver, this special mode will go away after the next reboot. Note well: if you don't get the driver installed and you reboot, you need to start the procedure over.Please note: some newer versions of the programs may need a different driver, I found this on the newer CVManager. Since I use the Titan ET features, I use the older driver.Driver versions vs o/s and CVManager versionsOn windows 11, and latest QSI programs, Silabs CP210x USB to UART Bridge, version 10.1.10.103, dates 1/8/21Put computer in the mode to allow unsigned drivers (windows 10):One way is to do this is:Open the action center (you should know what this is otherwise google it)go to all settingsthen update & securitythen recoverythen advanced startup.Your computer will reboot, and then after some time you will be prompted with a menu with following options.ContinueTroubleshootTurn offChoose TroubleshootThen the following menu appears:Refresh your PCReset your PCAdvanced OptionsChoose Advanced OptionsThen the following menu appearsSystem RestoreSystem Image RecoveryAutomatic RepairCommand PromptWindows Startup settingsChoose Windows Startup Settings, then Click Restart.Now the computer will restart and the boot menu appears.Choose: “Disable Driver signature Enforcement” from the menu. Now windows will start and you can do the installation of the driver that is not signed.Windows 8 procedure:Here is a link to the procedure for Windows 8 with pictures: http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html(why in the heck are you still running windows 8?)Earlier windows:You can install the driver on XP, Vista and Windows 7. Nothing special, except there is/was a different driver for Vista 64 bit.Now to install the driver (windows 10):Sometimes you need to log in as the actual local administrator user. By default, this user is often disabled. Google "enable administrator user windows 10"I still do the troubleshooting way, but some people can directly install from here.Clearly, navigate to the folder where you unzipped the driver.Then right click on the installer executable: QP_USBXp_Installer.exe and select "troubleshoot compatibility"I pick the "troubleshoot program", then tick the boxes for "earlier versions of windows" and "requires additional permissions"On the operating system selection, I pick Windows 7This is pretty much the most bulletproof method. Sometimes you don't need all of this, sometimes you do.Once the software installs, THEN plug in the programmerIf you get stopped from running the program, you can change the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA to 0 in regedit. you will probably have to reboot.For using the 3.0.0.18 CV Manager, the usb driver I have installed is a USB device, called "Quantum Programmer", version 3.2.0.0, with a date of 2009_11_1 Using/debugging programmer after driver installation: Firmware version/upgradingYou need to install the software driver first, which makes the programmer available via a "COM" port. The following sections address the selection and installation of the driver. DO THAT NEXT, and then come back here.After installation, you should check for upgrade of the firmware in the programming "dongle" at least when you get one. It's in a really weird place in the programming software.right click on the upper left of the title bar of the Quantum Upgrade window, right on the words "Q2Upgrade" Yes, there is nothing up there, but when you do it, you get a menu you cannot get any other way.Now click on "Quantum Programmer...", click that, and then you get another menu.Click "retrieve firmware version".. you will then see the version in your dongle. If you get nothing back, then you are NOT communicating with the dongle, or it is dead.Also check "get error status"If your firmware version is not 2.0.5, then you should be able to upgrade the firmware. This is the latest firmware as of 2021Now if everything is good so far, we can check the "final stage" of the programmer, the connection to the decoder. Click on the "Diagnostics..." menunow you get the menu below:Click the "Measure Baseline Current" button.You should see something between 2 (decoder only) to about 15 (maybe some lights)ZERO means that there is no connection detected, either you are not connected to the decoder, or the output of the programmer is bad (broken)very high, like over 100 means you have a dead short (either short circuit across the output, or the programmer is bad or the decoder is bad.Installing the hardware driver on Windows 8 / 8.1 / 10 / 11This can be a real pain in the ass. The driver needed seems to vary also with the version of the CV Manager softwareDo not plug in the dongle! You need to install the software first!The driver will not install on windows 8 or 10 with the normal install. Part of this is because it is unsigned, and Windows 8 and 10 won't allow this by default. The other part of the difficulty is that it needs to be installed in a troubleshooting / compatibility mode for windows 8/8,1First, have the silabs driver already downloaded and in it's own subdirectory (unzip the file). The file I use is from the QSISolutions site named: qprog_usbdriver_winxp_3_2.zipNow, you need to put your computer into a special mode to accept unsigned drivers. This mode is called "allow unsigned drivers" You will set this up, the computer will reboot, and after installing the driver, this special mode will go away after the next reboot. Note well: if you don't get the driver installed and you reboot, you need to start the procedure over.Please note: some newer versions of the programs may need a different driver, I found this on the newer CVManager. Since I use the Titan ET features, I use the older driver.Driver versions vs o/s and CVManager versionsOn windows 11, and latest QSI programs, Silabs CP210x USB to UART Bridge, version 10.1.10.103, dates 1/8/21Put computer in the mode to allow unsigned drivers (windows 10):One way is to do this is:Open the action center (you should know what this is otherwise google it)go to all settingsthen update & securitythen recoverythen advanced startup.Your computer will reboot, and then after some time you will be prompted with a menu with following options.ContinueTroubleshootTurn offChoose TroubleshootThen the following menu appears:Refresh your PCReset your PCAdvanced OptionsChoose Advanced OptionsThen the following menu appearsSystem RestoreSystem Image RecoveryAutomatic RepairCommand PromptWindows Startup settingsChoose Windows Startup Settings, then Click Restart.Now the computer will restart and the boot menu appears.Choose: “Disable Driver signature Enforcement” from the menu. Now windows will start and you can do the installation of the driver that is not signed.Windows 8 procedure:Here is a link to the procedure for Windows 8 with pictures: http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html(why in the heck are you still running windows 8?)Earlier windows:You can install the driver on XP, Vista and Windows 7. Nothing special, except there is/was a different driver for Vista 64 bit.Now to install the driver (windows 10):Sometimes you need to log in as the actual local administrator user. By default, this user is often disabled. Google "enable administrator user windows 10"I still do the troubleshooting way, but some people can directly install from here.Clearly, navigate to the folder where you unzipped the driver.Then right click on the installer executable: QP_USBXp_Installer.exe and select "troubleshoot compatibility"I pick the "troubleshoot program", then tick the boxes for "earlier versions of windows" and "requires additional permissions"On the operating system selection, I pick Windows 7This is pretty much the most bulletproof method. Sometimes you don't need all of this, sometimes you do.Once the software installs, THEN plug in the programmerIf you get stopped from running the program, you can change the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA to 0 in regedit. you will probably have to reboot.For using the 3.0.0.18 CV Manager, the usb driver I have installed is a USB device, called "Quantum Programmer", version 3.2.0.0, with a date of 2009_11_1
DCC Advanced Topic / GlossaryService ModeThis is one of the most misunderstood, and poorly implemented and poorly documented functions in DCC.Service mode is a special command mode that allows reading and writing of registers/CVs/Configuration Variables in a decoder. This mode has been around since the inception of DCC.First, many people use the term: programming track, but it is not the track that enables Service Mode, but the Command Station with a special output mode. To make it worse, some systems do not have a dedicated, separate set of outputs for this mode, but share it with the normal track outputs.Writing CVs in normal DCC track mode, called POM, or Programming On the Main cannot read back. There are other situations, like where the locomotive address has been lost that require Service Mode.Issues with Service Mode:The most common issues are:People not understanding what output is for Service mode, and where it is directedNot having a properly isolated track for programming:in Service modeDecoders that require more programming currentDecoders that require more programming voltageHaving too much track connected when in service modeHaving more than a single loco/decoder on the track in service modeHaving too much wire length between the programming track and the command station.Any and all of the above can cause issues. More on Service ModeMost systems are not very forthcoming how Service Mode is supported.Service mode actually has up to 4 different programming modes, and very few manufacturers indicate which they use and even fewer allow you toUnfortunately, most systems do not tell you want modes they use, or the voltage or current, or the "procedure" (often a better system will try one mode, and if that fails, it will "fall back" to an older/slower protocol. The 4 Service Mode programming methods are:Address mode(Physical) Register modePaged modeDirect modeNot all systems support all 4, and there is little need for anything other than Direct Mode in MODERN decoders. Unfortunately, MODERN means design, not recently purchased!!! Notably many older European decoders, also accessory decoders need older modes, and even non standard "tricks" (noted later).In addition, many "new" designs that are quasi-DCC, that support DCC decoders with a proprietary "receiver" or other front end hardware can do weird stuff. One popular Bluetooth wireless system uses programming on the main for writing a CV, but enters Service Mode with "Direct" protocol to read, CONSTANTLY switching between normal track power and service mode... really asking for trouble. This switching involves a reset packet followed by a service mode packet to enter service mode, and then another reset packet to exit... Address Mode Obsolete mode, probably only found in very old LGB systems. Allows programming of only 1 register, CV1, locomotive short address.(Physical) Register ModeAnother obsolete mode, but some old decoders may require this. It expands the Address Mode to 7 registers, 1-4 and 7 are straightforward. 6 is a special reserved register, reserved for compatability with Paged Mode (below). Register 5 parallels use of NMRA standard CV29, RegisterAssociated CVPurpose1CV1short address2CV2start "voltage"3CV3acceleration4CV4deceleration5CV29speed steps, direction of travel (note not all bits in modern CV29 may be supported)6 noneoffset, reserved for paged mode7CV7 firmware version8CV8 manufacturer ID Paged Mode Eventually registers were expanded to 1024 in number. Paged mode is pretty common. The DCC Wiki says it is most common and preferred... I want to research this statement.When using Paged Mode register 6 is the offset. register 6 = 1 means no offset, programming registers 1-4 indeed programs registers 1-4. With offset 2, then registers 5-8 are programming, and so on. (The Wiki goes on to say not all decoders support this after it claims it is the most used mode... take note of the "quality" of the DCC Wiki !!!)Reading is very rudimentary, it involves a series of "questions" to which the "answer" is yes or no.Basically the read command asks "does register X = Y?". and keeps incrementing Y until it gets a "yes" answer. So the time to read can take a while, especially if the register value is high. Direct (bit) Mode Direct Mode allow writing of individual bits in a register.Basically it reads like the paged mode, but it reads each of the 8 bits in the register, rather than the 255 different values... so a maximum of 16 reads as opposed to 255 reads.
Note: this page is NOT finished. Right now I am filling in the part on NCE "advanced" consisting. The "old style" consisting part is NOT done, and may contain errors. NCE ConsistingNCE has special support for consisting, this page attempts to explain some of the nuances of this support.First, I'm going to use MY terms of consisting. There is virtually no agreement between manufacturers and even "experts" on the terms. I will use the following terms;Address consisting - all locos have the same address - the decoder and the system is unaware of any consisting, all functions go to all locos, called all kind of names by various manufacturersCommand Station consisting - the command station is told which locos are where in the consist and the command station manages how they are controlled, functions, etc. For speed and direction, it sends commands to EVERY loco in the consist. It's clear this uses more bandwidth and can be a problem on large layouts. - NCE calls it "old style" consisting, not helpful.Decoder-based consisting - all the consist "knowledge" can be in the decoder, the the important part is that the decoder is given a "consist address" via CV19, and the decoders react to that address. There are features to change whether decoders accept specific function commands, i.e. a decoder can be told to ignore a horn command, or a lighting command. NCE calls this "advanced" consisting.Throttle-based consisting - really pretty much the same as #2, but now the "data base" resides in the throttle, not the command stations. Some versions allow sharing/exporting this information between throttles.I'm trying to use consistent terms, see: (scroll down to section on consisting) Consisting (if you don't like the terms, which come from the DCC Wiki and are used by most people, tough. This is the best and most accepted terminology) Foolishly NCE used "Old Style" to mean "Universal" to put a negative spin on it.Note:This page has been created and detailed from several discussions on at least two forums, the TCS forum and the NCE forum. Each has particular "enhancements" to the basic creation and use of consists, and each "group" is vehemently sure their way is the best.Note well: I'm not a "fanboy" of anything, if I find a problem or weakness, I don't sweep it under the rug, I just present the facts. If I have an opinion, I will label it as an opinion, not a fact. So this page does it's best to distill out the "truth", warts and all of NCE consisting.What does NCE support:(clearly NCE supports Basic consisting, all systems do, and it is "invisible" to the system and command station)NCE supports Command Station consisting, and adds some features on how you can "indicate" the lead loco, control which locos get functions, etc.NCE supports Decoder-based consisting, and adds a number of features, and uses a special command to do so, which can help or hurt depending on circumstancesNCE does not support throttle-based consisting with it's throttles, the command station retains all informationalso NCE allows "nesting" where you can combine Command station and decoder based consistingWhat is NEEDED for Command station based consisting?Clearly with Universal Consisting, the system (command station) needs to "know" about a consist, at the minimum the list of locos in the consist.What is NEEDED for Decoder based consisting?With advanced consists, you don't NEED to have the Command Station "know" about an Advanced Consist, you can operate it with a short address. Basically all that needs to be done is set CV19 to the consist address in all locos in the consist.What does NCE do differently or add:The basic enhancement is that decoder-based consisting uses the NMRA "consist control" command on the rails. This allows you to set CV19 for the consist address sort of "safely" as opposed to simple POM of CV19. There are other implications, and this is what I am still studyingNCE enhancements/benefits, the obvious onesBy logging all consists, you clearly avoid conflicts in consist addressesHaving a loco in more than one consist is likewise avoided. There might be a few people that want to do this, but in general a bad idea to have a loco in more than one consist.Treating all consists in the same manner may be a benefit, but it could be a detriment. (taking locos to a different system, you really need to break up advanced consists first, I'd say this is neither a benefit or detriment. For example, how you break down a consist varies according to the type of consist.When entering an advanced consist, the NCE system will program CV19 (and more, later) for you. This saves some steps, but I do not subscribe to the typical "scare tactic" that programming CVs is difficult. If this is too difficult for you, hire someone to do it for you. You will never be able to customize your DCC locos or devices by yourself. In my opinion this is nice, but not a big benefit.A big enhancement: NCE allows you to use the loco number of ANY loco in the consist. This saves you from needing to remember the consist number. This can be a big deal on a large layout, or where consists change a lot. Personally, I use a consist number that relates to the lead loco number, and I also run another DCC system that shows this information all the time, so it's not a big deal for me, but I would say very helpful to the vast majority of NCE users.A nice enhancement: The additional setting in an advanced consist to suppress bell and horn/whistle in the "middle" locos is done for you. That does save a significant number of manual programming steps, and who can remember all the right bits?NCE enhancements/benefits, the not so obvious onesThe NCE system uses the special "consist command" to facilitate the setting up of a consist.See line 160 of the NMRA 9.2.1 standards: https://www.nmra.org/sites/default/files/s-9.2.1_2012_07.pdf link to dccwiki about consist control command: https://dccwiki.com/Digital_Packet#Decoder_and_Consist_ControlThe bad news: conflicts/not working/"gotchas" Homework:Well, the often referenced "bible" on NCE consisting by acclaimed experts Mark Gurries and David Heap is very informative:https://sites.google.com/site/markgurries/dcc-welcome-page/nce-info/nce-consisting definitely the best reference on the unique enhancements by NCE.But "fanboy" statements turn me off, I am very picky, I believe the facts are enough."NCE remains 100% NMRA Advanced Consisting Compatible in adding these features"One of these guys is a lawyer. Yes NCE is 100% compatible, but all of this won't always work, because many features are OPTIONAL in NMRA compliant decoders. Some of the features DEPEND on Advanced Consisting Commands, which are NOT supported in all decoders, and the average Joe has no idea about these commands, or if his decoder supports them. It's not a great statement. It would be better to state that "for all these features to work, your decoders musts support (a), (b), (c), etc."You should never acquire, pick, change or even remember a short consist address."Well, as long as your world consists solely of your layout and NCE equipment and decoders that have all the functionality, that is true. So what to do when a "visiting advance consist" appears?Is there any issue taking an advanced consist built "the NCE way" to another layout? Clearly you MUST remember the consist address. Gotchas (command station consisting):Sleeping decoders -So the nice easy "setup" on the main has some weaknesses. There are cases where the loco is there on the rails, but it is not really "awake", and is waiting for the first command addressed to it to "wake" it. Unfortunately this can result in the command to set CV19 being missed (it just wakes the decoder). Now the system believes that this loco is in the consist, but the loco consist address has not been set. This can likewise occur when breaking up or clearing a consist. I want to investigate further, but several people have mentioned this issue. Often they are told to do the commands again. Well that means that some people who want to be sure will be forced to do it all twice. I'll report back here.Clearly not knowing if your decoders respond to the POM commands being used before stuff does not work.Use of the consist control command (to the decoder)There are comments that you need to use this special consisting command (NMRA spec 9.2.1 "consist control") as opposed to having the system simply do POM on CV19. I will investigate since when I asked I got a example that the special command can bypass locking on some decoders. I need a better reason. Using an obscure command that not all decoders support seems more risky/problematic than just telling people to not lock their decoders (a much more understood term and few people lock their decoders and they KNOW if they lock them)update: here's a good reason to issue the consist control command (if the decoder supports it): "“”When Consist Control is in effect, the decoder will ignore any speed or direction instructions addressed to its normal locomotive address (unless this address is the same as its consist address). Speed and direction instructions now apply to the consist address only.This also gives you a good hint on testing you decoders to see if they support the command, set up the consist, then take the loco to a different system and try to control the loco from it's original address. If it responds,Some thoughts on functions in the consist:There is a hidden "gem" in the "consisting bible", where entering a "new" locomotive will cause the command station to send a "reset function" to the new loco. So while the advice is to completely never use the consist address, if you don't do the "recommended dance" with pulling up locos first to get them in the recall memory then you could get all your functions turned of when reversing. I need to look at this further to be sure this is what happens.Bringing in a foreign consist;clearly a Universal consist removed from the system where it was defined is no longer a consist on the new layout.An advanced consist will of course react A complete answer to this would then let me state a procedure to bring in a foreign consist without disrupting or changing any decoder programming:Ensure the foreign consist advanced consist address is available on the NCE systemWithout placing the consist on the track, “build” the consist in the normal way, being sure to select the consist address.Place on trackOperate the consist as “normal” from NCERemove the consist from the track when making any changes to the consistBe sure to delete the consist when finished, again with the consist not on the track.