¿ªÔÆÌåÓý

Locked Re: Items needed to set up a programming track


 

¿ªÔÆÌåÓý

John,

On 17 Feb 2020, at 8:58 AM, John <jonie41@...> wrote:

I have both, I swear by my SPROG, if SPROG can't program the decoder, the
decoder is dead as far as I'm concerned.

As Peter has already said, JMRI can program CVs in ESU decoders.

I've developed all the special JMRI code and definitions for ESU V4 and 5 decoders. My test systems are:
- NCE Power Pro with PTB-100 programming track booster.
- NCE Power Cab with NCE USB.
- SPROG IIv3.

All are absolutely fine for programming ESU decoders. The V4/Select have more than 1,000 CVs while the 5 has more than 2,000 CVs.

General Decoder Programming Advice

Always use New Loco->Read Type from Decoder to identify an ESU decoder. All modern ESU loco decoders will identify uniquely. Guessing the decoder model is a recipe for problems.

Reading the full decoder is essential, particularly with ESU decoders where there are no "standard defaults". Each sound project has its own "factory defaults". All ESU sound decoders are manufactured effectively blank. When a Sound project is loaded to the decoder (using LokProgrammer software) part of the procedure is to write a new set of "factory defaults".

Because of a known (but as yet unresolved) race condition with certain decoder settings variables in JMRI code:

1) Use "Read Full Sheet" on the CVs pane instead of "Read All Sheets". It is less likely to cause errors when reading a decoder with lots of CVs.
Once finished, some may be missed (displayed in red). Use "Read Changes on Sheet" as many times as needed until no red items remain.
(Hint: Click on the Status column in the CVs pane until you see a down arrow. All the Red items will then be at the top.)

2) After you make changes on a programming sheet, don't use Write/Read changes on that programming sheet. Instead, switch to the CVs pane and use Write/Read changes on (the CVs) sheet. The result is the same but it will never trigger the race condition.

You'll also see a number of messages in the JMRI System Log like this:
"ERROR - Variable=xxxxxx; Busy goes false with state IDLE"

Ignore these as they don't indicate a real error, we'll fix the problem in a later JMRI release.



Join [email protected] to automatically receive all group messages.