*JOHN CHANDLER looks at what digital users can do with this useful command variable.*

CV29 is probably one of the most useful, but also one of the most feared, CVs in a DCC locomotive decoder. It allows configuration of up to 8 parameters which contribute to the operation of the decoder and can bite if not set correctly.

Having an Engineering background with a focus on computers and control systems, I have used several number systems other than the 'standard' denary (base 10) system. CV29 is based on the binary system (base 2), probably the 'lowest' form of number system around. In short, it is the basis of digital computing; it has two states, on (usually represented as 1) or off (usually represented as 0). (There are 10 types of people in the world: those who understand binary and those who don't!)

As an aside, we’re all using different base numbers every day! Take, for example, time. 60 seconds per minute (= base 60), 60 minutes per hour (again, base 60) 24 hours per day (= base 24). Horse racing: 8 furlongs = 1 mile (= base 8). Nautically, there are 6 feet to the fathom (= base 6). Even on the railways where they still use miles and chains, 80 chains = 1 mile (= base 80) and, combining two of these, there are 10 chains to a furlong (hey, we’re back to good old base 10!). In binary, 1 + 1 = 10; 10 + 1 = 11; 11 + 1 = 100.

CV29 comprises effectively 8 switches which are either on or off; in computing terms, each one is called a bit. 8 bits can be used to represent any decimal number from 0 (all off) to 255 (all on).

*For illustrative purposes only - an 8 switch DIP switch, which does the same thing as CV29 but mechanically.*

Let's have a look at what CV29 controls:

Bit | Default Setting | Decimal Value | Function Controlled |
---|---|---|---|

0 | 0 | 1 | Changes the direction of travel. (0 = Normal, 1 = Opposite) Useful if there are decoders at each end of the train so that they act consistently. |

1 | 1 | 2 | Default number of speed steps used. (0 = 28, 1 = 128) |

2 | 1 | 4 | DC Operation (0 = DCC Operation, 1 = both DC and DCC Operation) |

3 | 0 | 8 | Railcom (0 = Off, 1 = On) |

4 | 0 | 16 | Custom Speed Curve (0 = Standard Settings using CV2, CV6 and CV5, 1 = Custom Speed Curve as programmed in CVs 67 thru' 94) |

5 | 0 | 32 | Long Locomotive Address (0 = Short Address from CV1, 1 = Long Address from CVs 17 & 18) |

6 | 0 | 64 | Not commonly used. Refer decoder manufacturer's instructions |

7 | 0 | 128 | Not commonly used. Refer decoder manufacturer's instructions |

Default: | 6 |

To calculate the value required, decide which bits need to be turned on then add the corresponding decimal values together and set CV29 to this value. In the above table, bits 1 (= 2) and 2 (= 4) are turned on; 2 + 4 = 6, the value shown as default in the table.

Sounds simple!

Top Tip: if you want to change CV29, read it first to get its current setting. From this, determine which bits are set and then change the bits you want to give the new value.

As an example of what can go wrong if you don't read first, consider you have programmed a newly-fitted locomotive with a long address (i.e. higher than 127) then discover that the locomotive runs the wrong way. You call someone for help and they say 'set CV29 to 7', which you do. You've instantly lost the long address! (As you can calculate with the above table, the correct value in this instance is 39!)

An on-line search for 'CV29 calculator' usually finds several sites which can be used to determine the correct values to program into the CV and some will even reverse the process so that once it has been read, the bits set can be seen. There are even some apps out there.

In summary, treat CV29 with caution and leave alone if you have any doubts!