Jump to content
 

ESU Loksound v 4.0


norman
 Share

Recommended Posts

  • RMweb Premium
15 hours ago, Pete the Elaner said:

Yes.

I believe it needs to be part of the project though.

My Wheeltappers Brittania has it on f5 but it is the only v4 I have with the feature.

 

I've done it using both (JMRI) DecoderPro and an ESU LokProgrammer.

 

We use NCE throttles so have the dynamic brake (and the Zimo equivalent) on F2 which means shuffling some of the pre-set function key assignments around. We usually find a sound that we don't (normally) use/want and then move all the other function key assignments up one e.g. F2 becomes F3, F3 becomes F4 - in actual fact I start at the highest numbered function key to be moved and then work back down so that it is possible to see how the previous assignment was specified and copy it to the new (higher key number) function.

  • Informative/Useful 1
Link to post
Share on other sites

Hi Ray

Well that's good to know and I use DecoderPro so no problem shuffling the sounds.

But how can you set the decoder up so that the dynamic brake works and what level of software does it need.

I know how for a Zimo but not on a ESU V4

Link to post
Share on other sites

  • RMweb Premium

It's so long since I did it using DecoderPro that I can't be 100% sure that what follows is the truth!

 

CV179 (I think) gives the stopping distance when the dynamic brake is used. We normally set this to around 20 and then set CV4 to 80 or thereabouts.

 

The function key (re-)assignment is done in the same manner as moving any other function keys around.

 

Something in the back of my mind is telling me there's a further change but I can't recall what it is. I know with the LokProgrammer that I can set the function key to be used and also have a sound (of braking) if there is one in the sound file on the same key.

 

Apologies if I've got that all upside down. I'll try and fire up a loco with an ESU decoder if I get the chance later and take a look at it using DecoderPro and update this post if necessary. I presume it must be possible to set function key assignments by altering CVs but I've never done it that way.

  • Informative/Useful 1
Link to post
Share on other sites

Hi Ray

Ok I've got it sussed now. CV179 is set to 40 and CV4 set to 140 with the dynamic brake on CV20 - works differently to Zimo with the higher value in CV349 set to the higher value.

All I need to do now is juggle the F keys so that the braking is on F2.  Thanks for your help.

Norman

  • Thanks 1
  • Informative/Useful 1
Link to post
Share on other sites

I'm planning to try this on Saturday.

Neither the Loksound or Zimo manuals seem to say anything about dynamic braking. I got the impression the braking distance was something which works with ABC braking. I did not even see CV179 or CV20 listed as supported CVs in the Loksound v4 manual.

 

Something I found which may be useful is an .xml editor. I have xml notepad 2007 installed. There may be better ones out there but this has a comparison function which looks useful. I am planning to read all CVs into JMRI, then copy the .xml roster file for the loco I am working on, make all changes necessary with the Lokprogrammer then read all CVs into JMRI again. Once I have the new .xml file, xml notepad will highlight the differences.

 

I am looking forward to a frustrating day!

Link to post
Share on other sites

Pete -   there's an import function in JMRI to take in LokProgrammer CV files for ESU v4/v5 decoders (saves reading an entire decoder).   And JMRI will export CSV, which is compatible with spreadsheets.  I find that quicker for comparing differences than with code editors.  

 

Way back, before ESU released a manual, I reverse engineered the LokSound V4 CV structure (including the indexing mechanisms) using little more than a spreadsheet and the outputs of the LokProgrammer software.  

 

Yes, some posts in this thread appear to overlap "dynamic brake" with other brake mechanisms such as ABC and HLU.  

 

 

- Nigel

  • Thanks 1
Link to post
Share on other sites

Another issue with the v4:

I have a loco which won't seem to accept a factory reset. It is not responding to a change in CV3&4, which I find quite frustrating when I'm trying to configure active brake on it.

It was working fairly well, but a change (I think to CV4) screwed things up & now it stops rather suddenly when CV4 is set to 255, which I find rather annoying.

I have tried setting CV8 to 8, tried a factory reset from JMRI & Lokprogrammer, but it still retains its address & other bugs which I want to flush out.

I remember seeing a hard reset sequence for Zimo decoders. Is there such a sequence for ESU's & in particular the Loksound v4?

Link to post
Share on other sites

  • RMweb Premium

In a number of cases the value of 255 in a CV is the same as 0 (or 1). Try a value of 254 (for example).  A word (or two) of warning though if you use 254 in CV4 you're liable to find that the said item of rolling stock will need a lot of track until it stops once the throttle is wound back to zero.

 

We've found a value of 80-100 is a reasonable compromise for CV4 with the dynamic brake and something between 20 & 40 as a value for CV179.

 

I can't comment on the reset problems other than to say that we've had instances where the decoder has apparently been reset (by us) but only a fairly limited number of CV values have changed back to what they would have been initially. That can have mixed blessings because sometimes you don't want all your hard work (in changing CV values) lost and at other times you do.

  • Thanks 1
Link to post
Share on other sites

Nigel, Ray, your help was useful today. Thank you.

 

I started off by looking at Lokprogrammer & found an export to text file function, so I performed this before & after assigning dynamic brake to function F5, imported the files into Excel as a delimited file, subtracted one column from the next & filtered out the zeros to see the CV changes:

 

CV32:    0 became 4

CV267:  32 became 64

CV268:  2 became 6

CV428:  0 became 4

 

So what are these CVs?

According to DCC Wiki, CV32 is 'Index Low Byte' & Loksound v4 manual says it is 'Index Register L', described as 'Selection Page for CV257-512'.

I have no idea what that means but the other 3 CVs which were modified fall within this range. It also seems that JMRI does not interfere with this range. (Nigel may confirm or correct me on this).

So is it possible to change these with the command station? Yes, but....

I looked at the settings of another loco, expecting to see the values either as before or after on the previous decoder & found they were 1, 128, 0 & 1.

 

So I learned a little today. I didn't get much modelling done; the station platforms still have no top surfaces & its street level building has no RSJ's to support it blah blah, but it was an enjoyable day.

 

& as for the loco which wouldn't factory reset last night; it still wouldn't today until I tried to look at it again late on & found it had reverted to address 3. Maybe it thought about it for 24 hours? :biggrin_mini2: It now seems to be running happily with dynamic brake enabled.

Link to post
Share on other sites

49 minutes ago, norman said:

Pete

Seems like confused.com to me

Norman

Pretty much.

 

I certainly got a lot more familiar with using the Lokprogrammer & enjoyed the moments of success, which made the session feel rewarding.

Armed with the above CVs, I did try to enable the feature by adjusting CVs from the throttle. The result was a loco with a reduced top speed & would not make a full throttle sound. Reverting the changes did not help. CV2 & 5 looked ok too. The loco also resisted a factory reset but finally gave in after trying to update its firmware.

Until & if I learn more, I would not recommend trying this without a Lokprogrammer.

Link to post
Share on other sites

8 hours ago, Pete the Elaner said:

Nigel, Ray, your help was useful today. Thank you.

 

I started off by looking at Lokprogrammer & found an export to text file function, so I performed this before & after assigning dynamic brake to function F5, imported the files into Excel as a delimited file, subtracted one column from the next & filtered out the zeros to see the CV changes:

 

CV32:    0 became 4

CV267:  32 became 64

CV268:  2 became 6

CV428:  0 became 4

 

So what are these CVs?

According to DCC Wiki, CV32 is 'Index Low Byte' & Loksound v4 manual says it is 'Index Register L', described as 'Selection Page for CV257-512'.

I have no idea what that means but the other 3 CVs which were modified fall within this range. It also seems that JMRI does not interfere with this range. (Nigel may confirm or correct me on this).

So is it possible to change these with the command station? Yes, but....

I looked at the settings of another loco, expecting to see the values either as before or after on the previous decoder & found they were 1, 128, 0 & 1.

 

So I learned a little today. I didn't get much modelling done; the station platforms still have no top surfaces & its street level building has no RSJ's to support it blah blah, but it was an enjoyable day.

 

& as for the loco which wouldn't factory reset last night; it still wouldn't today until I tried to look at it again late on & found it had reverted to address 3. Maybe it thought about it for 24 hours? :biggrin_mini2: It now seems to be running happily with dynamic brake enabled.

 

Don't use DCC Wiki.   Its full of holes.  

 

JMRI will handle those CV's correctly.   JMRI will correctly handle all the CV changes possible in ESU V4 and V5 decoders - the chap who wrote it has spent years getting it right, and when ESU do any upgrades, he discusses the changes with ESU to ensure its correct.      So, using JMRI, you can make any of the changes using the tabs on screen (eg. sound levels, function mapping, etc..).   JMRI handles all the complexity of Index CV's (below) automatically for you.  

 

It is in the ESU manual, but its far from obvious. 
CV32 is an index value.  It takes various values, typically 0,1,2,3,4.  Depending on the value of CV32, other CV's above CV256 **change what they control**.     The point of the index CV is to extend the number of CV's available.     

If you look at the large table, "12.2.2. Function Mapping Chart" in the LokSound V4 manual, and look for CV267, you'll find it appears 3 times in column "CV L" on rows 1, 17, 33.  Reading along each row, you'll find different values for CV32 for each of those entries.   Similarly CV268 and 428 are found in column "CV M" in multiple places.     

If you dig elsewhere in the ESU manual, you will find CV267,268 or 428 in other places with different CV32 values associated.  For example, CV267 & 268 are in the table in "12.3.2. Adjusting the Lighting Effects", but the text nearby (not as clear as it could be!) indicates CV32=0.   Further digging will reveal CV267 in "13.1.2. Single sounds tables" where it is the level for soundslot2, the text several pages forwards (even less clear!) says CV32=1.   

 

So, it ONLY makes sense in an ESU V4 or V5 to refer to CVs from CV256 upwards in combination with CV32. 

Thus, CV32=0, CV267=value,  then value is a setting for lighting mode selection

Or,  CV32=1, CV267=value, then value is sound level for sound-slot 2. 

And CV32=2, CV267=value, then value is a setting for function mapping row-1, column "CV L".  

etc. 

 

So, to set this sort of thing manually by CV changes, you need to work out the required value of CV32 first, set it correctly.   Then you can read/write the change wanted.  

 

 

Now, onto what they do, with CV32 values of 2,3,4  (ie. the table 12.2.2) .   

Each of these controls 8 things, with one bit in the value for each element, add them together to get a value. 

CV267 is in "CV L" which is described a few pages on, and is outputs Aux7,8,9,10 and the alternative (conf2) forms of outputs for headlamp, rear lamp, aux1 and aux2.    So, it means control of which outputs operate on that row.  

CV268 and 428 are in "CV M",  which is various "logical" outputs, including "Dynamic Brake".  

 

There are things which you've probably missed in the Excel comparison, because some values won't have changed :-)   

Looking at CV428, and table 12.2.2,   We've already established CV32=2, CV428 sets dynamic brake on row 11. 

Going forward in the manual to the default function mapping tables, and the standard arrangement has row11 with F5 key.     So, its row11 which is being controlled by key F5, and the change to CV32=2, CV428 is setting the dynamic brake.   

 

 

Yes, far simpler to do this with either JMRI or the LokProgrammer - their user interfaces are similar, and capabilities are the same.   Doing it manually requires getting head around the indexing system, and the unique-to-ESU method of function mapping (its incredibly powerful, but its also very complicated).  

 

 

 

- Nigel

 

 

 

  • Informative/Useful 1
Link to post
Share on other sites

3 hours ago, Nigelcliffe said:

 

Don't use DCC Wiki.   Its full of holes. 

 

Aren't all wikis. They are written by A.N. Other so need to be treated with pinch of salt :biggrin_mini2:

I was trying to look for more info to reinforce that of the Loksound manual, but the manual seemed to say more.

 

3 hours ago, Nigelcliffe said:

It is in the ESU manual, but its far from obvious. 

 

You're not kidding, but I believe that the level of detail required to explain everything would make the manual enormous.

I was surprised to not find the CVs on the CV list in JMRI. I am therefore not surprised that I can access them in there somewhere.

I hope that didn't come across as a dislike for JMRI? I find it extremely useful & have not used Panel Pro (yet).

 

Your explanation is quite a large chunk of information. I will need to re-read it a few times to understand it, but it is like a warning flag against simply barging in & changing CVs.

 

 

Link to post
Share on other sites

On 01/11/2020 at 12:40, Pete the Elaner said:

 

I was surprised to not find the CVs on the CV list in JMRI. I am therefore not surprised that I can access them in there somewhere.

I hope that didn't come across as a dislike for JMRI? I find it extremely useful & have not used Panel Pro (yet).

 

 

They are present on the JMRI CV list, but you have to have some understanding of indexing CVs.    

Pedantically, there are two, CV31 and CV32, and pedantically, both are quoted before the CV in question.  

To date, no maker has produced a decoder which varies CV31 as well as CV32  (ESU have only gone to a few digits in CV32, even in the LokSound V5, which is another level of complexity ontop of the V4). 

 

Scroll down the CV list in JMRI for an ESU LokSound V4 (or V5) and you start to find CV's with three numbers and dots between them, such as  16.0.267 and 16.1.267    (skip over the ones starting 0.25x.y and 1.0.y - I'd have to look stuff up to determine their purpose).  

16.0.267  is CV31=16, CV32=0 CV267= value in column  

16.1.267 is CV31=16, CV32=1, CV267= value in column, and controls something totally different to 16.0.267

 

Example 1:
16.0.267, one of the lighting mode settings, is 1 by default.   Look at the "function outputs" tab, and the third entry for "Rearlight [1]".   It is set to "dimmable light".   Change the CV in the CV table to be 15.    The third entry on the "function output tab" is now "End of train flasher".  

 

Example 2: 

16.1.267,  sound slot 2 volume, has value 128 by default.   Change it to, say 33,  and look at the tab "Sound Levels" and the volume for Sounds Slot 2 has changed to 33.   

 

 

  As I said earlier, JMRI deals with the setting and unsetting of the index CV's (CV31 and CV32) correctly, before reading/writing any value on an ESU decoder pane.   Its one of the reasons reading an ESU decoder is slow;  as well as the thousands of CV values, many are accessed with three CV's needed to read back only one value.  

 

 

- Nigel

 

 

Edited by Nigelcliffe
corrected a numeric typo
  • Informative/Useful 1
Link to post
Share on other sites

  • RMweb Premium

I use the LokProgrammer now to read ESU CV values and to export the data to a text file which I then load into a spreadsheet for (a) safe keeping & (b) comparison with other files.

 

The LokProgrammer whistles through the complete ESU CV read whereas (God Bless its cotton socks) I can have lunch whilst DecoderPro does it.

 

One other trick I've found with DecoderPro is that from time to time it will report and error whilst reading all the CVs. This appear to occur because the loco stutters with each read. From time to time the read of an individual CV fails so I just nudge the loco slightly and the CVs start being read again. You do then need to keep an eye on the bottom of the screen/window as if it happens once, it'll usually happen several times so just repeat the nudge.

 

Slightly off-topic but DecoderPro reads Zimo decoder's CVs quite a but quicker than it does an ESU decoder (but not as fast as the LokProgrammer reads to ESU decoders). I don't know of anyway to read the Zimo decoders faster.

 

It is always an idea to scan through the list of CV values read in case the odd one didn't get read as part of the whole list for any reason. The odd missed ones can then be read individually to complete the list.

  • Informative/Useful 1
Link to post
Share on other sites

In reply to Ray's observations on speed. 

 

The LokProgrammer hardware uses a proprietary to ESU method of communicating with the decoder.   Its not the same mechanism as a command station using the programming track.   That's quicker, but needs the hardware in the LokProgrammer, and the method only works with ESU decoders. 

 

Zimo have a method using their programming hardware, via the Susi terminals on decoders to load lots of data into them.  Its primarily for loading sound files, rather than CV changes (and a lot easier if a Plux or MTC-21 decoder is just clipped onto a programming set of pins).   The speed that Zimo hardware offers via the Susi terminals is "Zimo only".    

 

As both of the above use proprietary (secret) to manufacturer methods, the developers at JMRI don't have access to them.   And, unless you own the relevant hardware, even with the software algorithms, it wouldn't help.    So, JMRI has to do it via CV reading on the programming track.    Zimo will be a bit quicker because (a) there are fewer CVs to read, and (b) they're not all tied up with needing two index CV's to be set first before you can read a value.   

 

The stutter is part of how a programming track works.  The decoder generates an acknowledge pulse, usually by putting current through the motor.  But yes, it can lead to a loco moving a fraction, and in moving it momentarily looses pickup contact, so programming stops.   

 

Some programming track devices are a notably quicker than others.   That's down to how rapidly they sense and report back a programming "ack" pulse, and which method they use for reading "direct" CV's.  (read it one bit at a time or read it one byte at a time - which is faster isn't obvious, it depends how many CV's might be set to a predictable value, such as 0).    Then some command stations can't actually read CV's above 255, so need to engage in work-around methods supported in the decoder.   

In practice I've found a Sprog to be amongst the fastest of CV reading hardware when given a long list of CV's to read in one hit, way quicker than the programming track output on some command stations.  

 

 

- Nigel

  • Informative/Useful 2
Link to post
Share on other sites

  • 5 months later...

I have some Loksound V4.0 where the dynamic brake does not seem to work.  It should be possible to check the release version/date? to see if it is implemented but does anyone know the details.

I thought I had seen the info. on the SWD site but can't now find it.

I too am using a Sprog with DecoderPro.

 

Link to post
Share on other sites

  • RMweb Premium

I believe all v4.0s have the function (and possibly the v3.5s as well.

 

Unfortunately I can't remember off-hand which CV it is that sets it up. I'll check that out and let you know next time I'm on here if nobody else has beaten me to it.

Link to post
Share on other sites

In a V4, Dynamic brakes are set as a Logical Output in Control Group M of function mapping.   Exactly which CV depends on which mapping row is being used. Any function key can be set to control it.  Its in the V4 manual in English.   

 

It is a lot easier to set if using a computer for decoder CV setting, either JMRI/DecoderPro, or a LokProgrammer;  both will take care of the complex relationships between mapping rows, indexed CV's, etc..  

 

 

Link to post
Share on other sites

Hi Nigel

 

I've tried a couple of locos with firmware version 4/3/9008 and can't get them to work. Setting up the key and programming is not an issue. I've successfully programmed a chip with firmware version 4/17/9249. Do you know from which version it was introduced?

Link to post
Share on other sites

6 hours ago, norman said:

Hi Nigel

 

I've tried a couple of locos with firmware version 4/3/9008 and can't get them to work. Setting up the key and programming is not an issue. I've successfully programmed a chip with firmware version 4/17/9249. Do you know from which version it was introduced?

 

Sorry no.   There may be something on the ESU website to indicate what changed when.  

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...