Search The Inn

Friday, May 31, 2019

Decoder Manufacturers, Speed Tables And CV2, 5 and 6

The NMRA S9.2.2 specifies that all decoders must provide CV2 (Vstart). The provision of CV6 (Vmid) and CV5 (Vhigh) is optional. These three CVs are to be active only when Bit 4 of CV29 is 0. Speed tables are also optional and use CVs 66 (Forward Trim), 67-94 (the actual speed curve) and 95 (Reverse Trim). These thirty CVs are to be active only when Bit 4 of CV29 is 1. The disadvantage of this speed table specification is that any tweaking of starting or maximum speeds requires reshaping of the entire speed curve. Here we'll look at Soundtraxx, QSI, ESU LokSound and BLI decoders and how CVs 2, 5 and 6 effect user defined speed tables.

Soundtraxx

SoundTraxx Tsunami decoders differ from the standard. When the speed table is active (Bit 4 of CV29 is 1), the value in CV2 is not ignored but is effectively (in the decoder) added to CVs 67-94 in the speed table, pushing it upwards. The advantage of this variation from the NMRA standard is that you can tweak the starting speed without reshaping the whole curve, but the disadvantage is that you can effectively flatten the top end of the speed table it the maximum speed was already high.

QSI

QSI decoders differ from the standard. When the speed table is active (Bit 4 of CV29 is 1), the values in CVs 2 and 5 are not ignored. If either of CVs 2 or 5 are non-zero, these become the actual Vstart and/or Vhigh and the effective values in CVs 67-94 are compressed or expanded (scaled) in the decoder so the actual curve starts and/or ends on any non-zero value in Vstart and/or Vhigh. The advantage of this variation from the NMRA standard is that you can tweak both starting and maximum speeds without reshaping the whole curve, but the disadvantage is that if your speed table already covered a restricted range, the curve will be expanded, with possible integer multiplication errors producing glitches in the speed table.

ESU

ESU V4 and Select decoders differ from the standard (except in some early firmware versions). When the speed table is active (Bit 4 of CV29 is 1), the values in CVs 2 and 5 are not ignored, but ALWAYS specify the actual Vstart and Vhigh of the loco. In addition the value of CV67 is fixed (read only) at 1 and the value of CV94 is fixed (read only) at 255. You therefore need to fit your speed table curve shape between these fixed end points. The effective values in CVs 67-94 are compressed (in the decoder) so the actual curve always starts and ends on the values in Vstart and Vhigh. The advantage of this variation from the NMRA standard is that you can tweak both starting and maximum speeds without reshaping the whole curve and without the possible multiplicative errors in the QSI approach. The LokProgrammer and JMRI DecoderPro software both enforce the restrictions on CVs 67 and 94 so you know what your speed table will actually look like. Also, the minimum value for CV2 is 1, so you cannot set the loco to be stationary at step 1.

BLI Paragon 2 & 3

BLI Paragon decoders v3 & 4 follow the NMRA standard. If CV29 bit 4 is set to 1, CVs 2, 5 and 6 have absolutely no effect on the speed curve. However, CVs 66 & 95 (forward and reverse trim) do have an effect on both the 3-point speed curve and the speed table speed curve regardless of the value in CV29 bit 4. In other words they ignore that value.

Moral Of The Story

Know which decoder you are working with, and what effects CVs 2, 5 and 6 have on it when working with speed tables.


If you have an idea for a blog post here, let me know. If I can comment on it, I will or I'll see if someone else can and post it.

Monday, May 20, 2019

JMRI v4.15.6 Now Works with ESU LokSound v5 Decoders

After MUCH work by Dave Heap of the JMRI developers group, DecoderPro of JMRI now works with LokSound's new v5 decoders. Before clicking your heels though, read the following

JMRI Users Group user Mick Moignard reported the following,
"Just for the record: I just read a Loksound 5 XL (South West Digital A4 steam), via a Digitrax DCS240 connected with a Locobuffer. Successful read in Direct Byte mode, 128 minutes.". Read my previous blog post about saving time here.
Dave Heap's reply:
Thanks for that report. My NCE Power Pro takes about 50 minutes.
FYI:

A V4 definition/roster entry has 1016 CVs and 4410 Variables**.
A V5 definition/roster entry has 2035 CVs and 9895 Variables**.
There are also some CVs/Variables in both I'm not yet reading ~60ish from the import log.
I dont think any other definition in JMRI is in this CVs/Variables league...

When we get into this territory, command station processing speed, the inherent bit rate limitations in the DCC waveform and the protocol packet counts start to become limiting factors.
** A variable is something you can read/set, a checkbox, a number, a text box (as in the Loco Name).


If you have an idea for a blog post here, let me know. If I can comment on it, I will or I'll see if someone else can and post it.