Quick Help - Programming CVs

CVs, or 'Configuration Variables' are little pieces of storage in the decoder that determine its' behaviour. Everything from its' DCC address
to complex sound configuration can be manipulated by changing CVs.
The most basic DCC controllers can do little more than change a 'short' address of a decoder, such as the Bachmann Ez-Command or Hornby Select. More
capable controllers provide a 'programming track' connection where CVs can be read back from the decoder as well as changed.
You'll have to study your own controller's manual to find out what yours is capable of, and how it provide those facilities.
Some CVs are 'standard' as defined by the NMRA, which means that basic aspects of all decoders operate in the same way, such as the DCC address, and some
of the function output controls, or motor behaviour. However, only a very small subset of CVs are 'standardised' and beyond that, every decoder
manufacturer has come up with their own list of extended CVs and what they do. Zimo are no exception and provide literally hundreds of CVs for
tuning different aspects of the decoder's operation.
We are not going into detail of what those CVs are here - you should read the Zimo decoder manuals for that, which are fairly comprehensive.
Most modern controllers will allow you to read/write the full range of CVs available. However, cheaper, or older controllers may only be capable of
accessing CVs up to a certain range - typically up to CV#99, CV#127 or CV#255. This means that some special procedure is needed to access the higher CVs
on such systems. Thankfully, Zimo provide such a procedure...
CV#7 is used to control which 'bank' of 100 CVs is going to be addressed by future reads/writes. For example, if you write CV#7=2 then all subsequent
read/writes will actually be accessing CVs with the address+200. Here's an example procedure:
CV#7=2 | 200 will be added to any CV register read/written from now onwards (until power off) |
CV#67=50 | Will actually set CV#267 (67 + 200) to a value of 50 |
CV#7=0 | Resets the paging/'bank' back to normal for future CV reads/writes |
With this technique you can hopefully see that it is possible to access even the higher CVs on older controllers.
|