Giter Site home page Giter Site logo

Comments (15)

mstevetodd avatar mstevetodd commented on June 12, 2024

@KenNinomiya does the light indicator actually change from on to off, or does the indicator not update after you send a change? Not much change of debugging it without a consistent way to repeat. Even then, it'll be difficult since I don't have CVP hardware.
As background, the indicator changes on a message from the WiThrottle server. If that message isn't sent, the indicator won't update.

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

from enginedriver.

mstevetodd avatar mstevetodd commented on June 12, 2024

@KenNinomiya do you see the same behavior with the default theme?

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

from enginedriver.

mstevetodd avatar mstevetodd commented on June 12, 2024

It would also be helpful to try it with another command station type, even a simulator. Feel free to use my jmri.mstevetodd.com:44444 if you'd like.
I'm trying to narrow down if we have a CVP problem or and EngineDriver problem.

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

from enginedriver.

n3ix avatar n3ix commented on June 12, 2024

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

@mstevetodd Robin is correct.

I tried the ED on my ESU CabControl command station, and I get no loss of headlight, even after tipping one side of the loco off the track. The headlight comes back on when placing wheels back down.

I ran a test on the EasyDCC layout again today. I noticed headlight flicker just before the headlight completely went out. When I tip the loco over, the headlight will not go back on when the loco is placed back down. The headlight indicates "on" on the touchpad and must be cycled off then back on to have the headlight return to lit on the loco.

So, the issue seems to be that the EasyDCC command station doesn't send headlight state commands after the initial command, or very infrequent.

Since this can't be fixed through ED, I'm closing this issue.

Ken

Ken Ninomiya
Oxnard, CA

from enginedriver.

n3ix avatar n3ix commented on June 12, 2024

Ken - thanks for the thorough testing.

Steve and Peter - as mentioned I run into fairly frequently during Ops, for sure on NCE systems, perhaps others. I wonder if there is something we can do. The headlight is typically transmitted in a DCC Function Group One packet. This packet contains F1-F4 in addition to the headlight. If we (optionally) periodically briefly toggled one of those functions, it would most likely trigger the Command Station to send Function Group One packets to that decoder. If the toggle was done quickly enough to be unnoticeable but not so quickly that a command station might ignore it, the headlight would get refreshed in the decoder. Typically functions are assigned as F0 (Light), F1 (Bell), F2 (Horn) and F3 (sometimes Short Horn), these might be noticeable, so how about it we try briefly toggling F4 once per heartbeat or something like that?

from enginedriver.

flash62au avatar flash62au commented on June 12, 2024

from enginedriver.

n3ix avatar n3ix commented on June 12, 2024

@flash62au F0 might be ok too. What we need to do is "trick" the command station into thinking it needs to send Function Group One. It might be that toggling F0 back and forth with no delay would do that, it might be that some command station code is smart enough to reject (also need to confirm that WiT doesn't discard rapid changes). With functions other than F0 I think the command station might have to send every change since some decoder effects are triggered by the function off-on or on-off transition rather than the level. That's why I initially thought about F4. But F0 does sound safer it is works, just don't want to see the headlight flash so maybe try sending the two toggle commands in immediate succession and see what happens.

from enginedriver.

mstevetodd avatar mstevetodd commented on June 12, 2024

I'm not a fan of doing this in EngineDriver at all.
IF it needs doing, it seems like it should be handled in JMRI itself, either in the WiThrottle Server, or in the throttle implementations.

from enginedriver.

KenNinomiya avatar KenNinomiya commented on June 12, 2024

from enginedriver.

n3ix avatar n3ix commented on June 12, 2024

@mstevetodd I agree with you. Figured the chances of getting in JMRI itself right off the bat weren't good but it would be pretty easy to implement and test as a user pref in ED.

@KenNinomiya I operate regularly on a couple NCE layouts. Despite enabling the refresh option in the command station they still exhibit this problem so perhaps the command station refresh does not really work? Yes some command stations refresh f0-f4 more (effectively) than others, that's why I'd make this feature an option select through a user preference. It's pretty unusual to have F0 remapped, so to just test the idea out it would probably be good enough.

All: This wasn't meant as a cure-all, just thought it might have its place on select systems. There are other weird things that come along with this. For instance the short horn function (if used) can also create issues when a loco loses power momentarily. For soundtrax decoders it seems they trigger the short horn on either a off-on or an on-off transition of the assigned Function. In order to avoid getting 2 toots, you have to make the function latching in ED/JMRI. After the decoder loses power and then resets, it sets whatever function is assigned to the Short Horn internally to Off. Now suppose the short horn is assigned to F3 and that F3 happens to be On when the decoder momentarily lost power. The next time the decoder gets a Function Group1 message, such as when you notice that the headlight is off and quickly toggle it in ED to get it back on, the F3 value will also get sent and presto - a short horn toot :)

from enginedriver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.