Author Topic: Programming Loksound decoders for maximum fun using JMRI  (Read 5369 times)

0 Members and 1 Guest are viewing this topic.

squirrelhunter

  • Crew
  • *
  • Posts: 741
  • Respect: +168
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #15 on: July 24, 2020, 11:32:04 AM »
0
ESU decoders don't work with JMRI like "normal" decoders, there are no (or few) default settings beyond the very basics. You have to populate the CV tables from the decoder before tweaking stuff. Last time I did this was for a LokPilot, and it took nearly 40 minutes to read the tables... all I wanted to do was change rear headlight function.

Good luck.

Yes! I forgot to mention this- JMRI for whatever reason wont automatically populate all the sheets with all the CV's- you have to tell it to read the sheet(s). A full read is more than 30 minutes, but if you are only changing sound CV's or motor control CV's, it is vastly faster to read only that sheet before you edit.

squirrelhunter

  • Crew
  • *
  • Posts: 741
  • Respect: +168
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #16 on: July 24, 2020, 11:40:22 AM »
0
I haven't looked into this much yet, but this may end up being an issue with the ESU decoder, not the ProtoThrottle.  If you figure it out, please let me know!

DFF

Totally agree- I think the ProtoThrottle brake handle function allows for a smoother brake application that is limited by the decoder settings  until I change them. I need to look through the messages on the groups.io for the ProtoThrottle to see if anyone there has any tips

davefoxx

  • Crew
  • *
  • Posts: 11675
  • Gender: Male
  • TRW Plaid Member
  • Respect: +6802
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #17 on: July 24, 2020, 11:53:12 AM »
0
If you do program this loco to run on the ProtoThrottle, I find that you don't really need to remap Run8 or Coast.  By using the DriveHold feature and pushing the ProtoThrottle's lever up to Notch 8 or down to 0, respectively, you'll find that there's no need for Run8 or Coast functions.  The exception is locomotives without dynamic braking, where I do remap Coast to the dynamic braking function (in my case F4), so that, if in a consist and you engage dynamic braking, the other engine(s) will go into dynamic braking while this engine just coasts (like the prototype).

DFF

Member: ACL/SAL Historical Society
Member: Wilmington & Western RR
A Proud HOer
BUY ALL THE TRAINS!

jdcolombo

  • Crew
  • *
  • Posts: 2265
  • Respect: +973
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #18 on: July 24, 2020, 01:07:42 PM »
0
You can adjust the braking rate using CV179.   In JMRI, it's in the Advanced Tab on the RH side of the page, labeled "Dynamic Brake Setting" - but don't be fooled, it really is "braking rate" that applies to the Independent Brake as well.  I've never fooled around with this setting, so you'll have to do some trial and error here, and using Ops Mode programming (on the main) for CV179 should help.  The default setting is 40. 

John C.

davefoxx

  • Crew
  • *
  • Posts: 11675
  • Gender: Male
  • TRW Plaid Member
  • Respect: +6802
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #19 on: July 24, 2020, 01:34:02 PM »
0
That doesn't sound like good news, if the independent brake and the dynamic brake are tied together in the CVs.  In my experience, the use of dynamic braking will bring the train to a stop if you drop to Notch 1 on the ProtoThrottle.  I'm not crazy about that, although I admit that I have no idea if real locomotives do the same thing.  But, if I need to adjust the independent brake, it'll affect the dynamic braking, too?  And vice versa?  That doesn't sound good at all.  Hope there's a happy medium.  Looking forward to seeing somebody experiment with this.

DFF

Member: ACL/SAL Historical Society
Member: Wilmington & Western RR
A Proud HOer
BUY ALL THE TRAINS!

Ed Kapuscinski

  • Global Moderator
  • Crew
  • *
  • Posts: 24747
  • Head Kino
  • Respect: +9272
    • Conrail 1285
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #20 on: July 24, 2020, 01:59:40 PM »
0
BTW, if you've never played around with programming an ESU LokSound via JMRI, you might find the attached PDF useful for background.  Some of it is now out of date, but the general processes and procedures, as well as the look of the JMRI screens, should be the same.

John

Holy crap. That PDF is like "the missing manual" and so incredibly helpful. THANK YOU!

jdcolombo

  • Crew
  • *
  • Posts: 2265
  • Respect: +973
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #21 on: July 24, 2020, 04:05:36 PM »
0
Programming a LokSound is completely different from anything else out there (maybe a Zimo sound decoder would be similar; don't know).  The key to it all is to understand that Function Keys in the ESU world are like "macros" in other contexts.  You can program a function key to make the decoder do all sorts of things, and they can be programmed with conditional "if/then" logic; cascaded; etc.  Really, there's virtually no limit to what you can do.

Which in turn makes it all very complicated.  When function keys have a limited menu, then it's easy.  "F5 can do the following six things . . . pick one."  With ESU it's more like "F5 can do anything you want.  Pick from the following 10 million combinations and then program it accordingly."

It's really a bit intimidating until you get used to it.

Plus, now I've gotten into modifying sound files (can't do that with a Select, but you can with a V.4 or 5).  I've created my own grade crossing whistle sequence that I can invoke with a press of a single button.  Kinda fascinating!

John C.
« Last Edit: July 24, 2020, 04:08:57 PM by jdcolombo »

EL3632

  • Crew
  • *
  • Posts: 253
  • Respect: +189
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #22 on: July 27, 2020, 10:38:23 PM »
0
I have mine set up as follows to work specifically with the ProtoThrottle (but do what works for you):
F0: Front headlight (high beam)
F1: Horn
F2: Bell
F3: Front headlight (low beam)
F4: Dynamic brake or coast (depending on whether your loco has dynamic braking)
F5: Gyralight or auxiliary lighting (if loco equipped)
F6: Rear headlight (high beam)
F7: Rear headlight (low beam)
F8: Sound on/off
F9: Drive Hold
F10: Independent brake
F11: Radiator fans
F12: Empty (I do not need the dimmer effect here- see F3 and F7 above)
F13: Empty (at present, I don't need this AUX lighting function here, either, because my era does not have ditch lights- see F5 above)
F14 and above: the default sound effects on the decoder, e.g., spitters, compressor

Been using this as a guide for programming (I also dislike directional lights-more prototypical is better, for me at least).
When I programmed F3 and F7, I noticed when on the same unit, the other headlight (F0 or F6), will dim when one of the dim functions is on. Is there any way around this? Using LokProgrammer, majority of decoders are Selects.

davefoxx

  • Crew
  • *
  • Posts: 11675
  • Gender: Male
  • TRW Plaid Member
  • Respect: +6802
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #23 on: July 27, 2020, 11:04:31 PM »
0
Been using this as a guide for programming (I also dislike directional lights-more prototypical is better, for me at least).
When I programmed F3 and F7, I noticed when on the same unit, the other headlight (F0 or F6), will dim when one of the dim functions is on. Is there any way around this? Using LokProgrammer, majority of decoders are Selects.

Go in and check the mapping.  The front and rear lights should be completely independent. High beam should override low beam.

DFF

Member: ACL/SAL Historical Society
Member: Wilmington & Western RR
A Proud HOer
BUY ALL THE TRAINS!

EL3632

  • Crew
  • *
  • Posts: 253
  • Respect: +189
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #24 on: July 28, 2020, 02:22:32 AM »
0
Go in and check the mapping.  The front and rear lights should be completely independent. High beam should override low beam.

DFF

I am probably doing something silly wrong, here is how I am set up right now. The headlight, if F0 or F6 is on, and F3 or F7 is selected, will dim both sides of the loco, not just the requested side. If F0 is not on and F7 is selected, only the rear headlight comes on and is dimmed, but if F0 is on, it will dim the front and rear headlights.


Also, I know, old LP version, would that make a difference?

jdcolombo

  • Crew
  • *
  • Posts: 2265
  • Respect: +973
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #25 on: July 28, 2020, 10:53:17 AM »
0
I don't know how Dave does it (there are probably a dozen different ways) but here's how I would do it.

1.  Use the Function Outputs tab to set up Headlight(1) as full on; Headlight(2) as a dimmed headlight (set brightness to 4 if using an LED); Rear Light (1) full on; Rear light (2) dimmed.

2.  In the Function key assignments, do the following:

Conditions column           Physical Outputs
F0, not F3 (e.g., F3 off)   Headlight(1)
F3                                  Headlight (2)
F6, not F7                       Rear Light(1)
F7                                  Rear light (2)

There should be nothing selected for Logical Functions (you are not going to use the "dimmer" function; turn it off).  Similarly, nothing selected for Sounds.

With this logic, if F0 is on, the bright headlight is on.  If you then press F3, it "overrides" F0 and dims the headlight and will display the dimmed headlight until you turn F3 off (actually, if you press F3 when F0 is OFF, it will also display the dimmed headlight, since F3 in this logic is independent of F0).  Ditto for F6/F7.  To turn the headlight completely off, you would need to turn off both F0 and F3.  Ditto for the rear light (F6/F7).

John C.

« Last Edit: July 28, 2020, 10:59:53 AM by jdcolombo »

davefoxx

  • Crew
  • *
  • Posts: 11675
  • Gender: Male
  • TRW Plaid Member
  • Respect: +6802
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #26 on: July 28, 2020, 05:36:09 PM »
0
^ This.  Except my experience (on an ESU system) is that F0 (or F6) will override the dimmed F3 (or F7).  In other words:

F0 on: Bright
F3 on: Dimmed
F0 and F3 on: Bright
F6 on: Bright
F7 on: Dimmed
F6 and F7 on: Bright

Oh, I think I see why.  John, for example, in his mapping has "not F3" and "not F7" in the mapping of F0 and F6, respectively.  I prefer that bright overrides dim, and, I'm not sure, but it may be a necessary evil on the ProtoThrottle.

DFF

Member: ACL/SAL Historical Society
Member: Wilmington & Western RR
A Proud HOer
BUY ALL THE TRAINS!

EL3632

  • Crew
  • *
  • Posts: 253
  • Respect: +189
Re: Programming Loksound decoders for maximum fun using JMRI
« Reply #27 on: July 30, 2020, 07:25:21 AM »
0
Does anyone have any recommendations for how to enable all of that fun stuff using JMRI?

If by "fun stuff" you mean what @davefoxx and @jdcolombo mentioned farther down thread, then yes.

Thank you both for figuring out why I was getting dim headlights, with the addition of the headlight[2] those problems have gone away completely. Also thanks for the 4 output for light 2, that saved a lot of guesswork.

So, for doing this function mapping stuff in JMRI, it is possible, it will just take a while.

@Ed Kapuscinski you have a GP38 you want to program specifically, correct? If I remember correctly, my GP38/38-2s had "nothing special" about them in terms of lighting functions (no flashing ditchlights, class lights, etc...) or sound functions (some of the other [both factory and not] decoders have tons of functions, the GP38 should have select micro, and basic sounds and lighting, others I have done that are like this are the GP39-2, GP40, SD50, SD60, and C628).

So, going according to the addition of a non-dimmer function controlled dim light, mentioned here:

1.  Use the Function Outputs tab to set up Headlight(1) as full on; Headlight(2) as a dimmed headlight (set brightness to 4 if using an LED); Rear Light (1) full on; Rear light (2) dimmed.

2.  In the Function key assignments, do the following:

Conditions column           Physical Outputs
F0                                   Headlight(1)
F3                                  Headlight (2)
F6                                  Rear Light(1)
F7                                  Rear light (2)

There should be nothing selected for Logical Functions (you are not going to use the "dimmer" function; turn it off).  Similarly, nothing selected for Sounds.

John C.

I was able to rewrite the functions in my decoders as outlined above. The actual quote says to use "Not F3," though if protothrottle is ever used, this would backfire (from the other information outlined here I think that is what is trying to be said).

So, in order for you to get your GP38 to have independent lighting control:

Start off doing your normal JMRI roster entry, if you are like me and read all sheets prior to making your entry, ESU decoders take forever to read completely, as in over 30 minutes forever...

Once you have done that, if you haven't yet, read the "Function Mapping" and "Function Output" tabs. Function Mapping is the main tab that takes forever to read, and you have to read it, sorry.

The next thing you need to do is on the "Function Output" tab (if I get the tab names wrong/reversed I apologize, I don't have Decoderpro in front of me currently), you should see a list of functions, starting with Headlight[1], which should be set to have 31 as it's value, with Dimmer and LED mode on. Headlight[2] should be disabled, turn this on with the value of 4, as mentioned above. Add LED mode for obvious reasons, I do not select Dimmer on these new headlights I program as I turn dimmer off in Function Mapping. Do the same thing you did for Headlight[2] with Rearlight[2].

Now go over to the "Function Mapping" tab. This tab should have a number of columns, starting with the Function, then an output, then logic functions, then sound functions, etc..., the mentioned ones are the only ones we need to change.

Starting off, remap Forward F0 to not be Forward, deselect the checkbox. The next line, Reverse F0, has to be removed entirely. Remove Reverse, F0, and Rearlight[1] otherwise each individual part of the function will still operate.

F1 is the bell, which we do not need to adjust, F2 is the horn, which also does not need adjustment. It may come with something in the second column, this is usually the "Grade Crossing" logic function, which allows ditch lights to flash. This isn't needed, so it can be removed, or not, your choice.

Next, remap F3 to have Headlight[2] in the first column, and remove Sound File 5, or whatever that is called, from the third column. This is the coupler sound effect. It can be added in later if you want it there.

We skip F4, and F5 is for special lighting features, which we don't have on this unit. It can be left blank, or get swapped with F6, if there is anything there. Your choice.

F6 should have either an Aux function in the first column or nothing at all. The Aux outputs usually don't go to anything on the factory sound boards, they don't on this one, so they can be removed. If I am wrong (happens a lot) and they do go to something, they can be remapped. Either way, remove them from F6 if they are there, and map ReverseLight[1] to it instead.

F7 is the same thing as F3, except this time we are removing the Acceleration/Switching Mode logic functions. I never use these, so I just keep them out. If you do, you can remap them later. Map RearLight[2] to F7.

The only other function I remap usually is removing the Dimmer logic function from F12. Since we bypassed that by using Headlight/Rearlight[2], there is no need for the Dimmer. Instead, I usually remap Sound Function 5 here, but this is also a good place for the Acceleration/Switching logic functions. Or, nothing could go here at all, your choice.

And that's all. Write all changes (hopefully not the only time this is being done  :scared:) and save the roster entry (same as writing changes :scared:). Hopefully this was useful and I hope I did not repeat too much information.