Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support of 28 Speed Steps #51

Open
pischky opened this issue May 31, 2023 · 6 comments
Open

Support of 28 Speed Steps #51

pischky opened this issue May 31, 2023 · 6 comments

Comments

@pischky
Copy link
Contributor

pischky commented May 31, 2023

wiThrottle should support DCC decoders with 28 speed steps.

There should be a selection after the DCC address with at least the options "128", "28" speed steps.
May be this could extended to all options available on a Loconet command station (14, 128 DAC, 28 DAC, SX, ...).

I assume that this requires an extension of the wiThrottle protocol, selection of speed steps in the wiThrottle server is much to complicated for the average user.

There are many (older) decoders (like Lenz LE103, LE040) that does not work with 128 speed steps but are still used. Also there are some decoders that support speed table only when used with 28 speed steps.

@newHeiko
Copy link
Owner

I just double checked the wiThrottle protocol specs and actually there is a command to set the speed step mode in the protocol already.

I'll look into it, though I won't be able to test on anything else beside JMRI.

Heiko

@pischky
Copy link
Contributor Author

pischky commented May 31, 2023

actually there is a command to set the speed step mode

I did not find this. Any Hint?

I'll look into it, though I won't be able to test on anything else beside JMRI.

I will test it from throttle to loco. I have DCS100 and Loco with LE103 (or DCC Sniffer) for this.

@pischky
Copy link
Contributor Author

pischky commented May 31, 2023

I did not find this. Any Hint?

Second try:
Throttle Commands >> 's' set speed step mode.
Still the question which values are allowed.

https://www.jmri.org/help/en/package/jmri/jmrit/withrottle/Protocol.shtml

@newHeiko
Copy link
Owner

Throttle Commands >> 's' set speed step mode.

:) I'd hope it's the same as these: https://www.jmri.org/help/en/package/jmri/jmrit/withrottle/Protocol.shtml#ThrottleChangeNotification

(though I don't know what 27 speed steps is)

@pischky
Copy link
Contributor Author

pischky commented May 31, 2023

though I don't know what 27 speed steps is

Older Dekoders from Lenz (LE075 or Roco 10741) supported only 14 and 27 speed steps. 27 was like 14, but the CU was sending two different speed steps alternating. http://www.dcc-mueller.de/decoder/dectab_o.htm

@pischky
Copy link
Contributor Author

pischky commented Jun 1, 2023

About guessing the values:

JMRI has a class (enum) jmri.SpeedStepMode. The ordinal values would be 0=UNKNOWN, 1=NMRA_DCC_128, 2=NMRA_DCC_28, 3=NMRA_DCC_27, 4=NMRA_DCC_14, 5=MOTOROLA_28, 6=TMCC_32, 7=INCREMENTAL.

That does not match what is documented in ThrottleChangeNotification.

https://www.jmri.org/JavaDoc/doc/src-html/jmri/SpeedStepMode.html
https://www.jmri.org/JavaDoc/doc/jmri/SpeedStepMode.html

May be a hint is the method decodeSpeedStepMode() in jmri.jmrit.withrottle.ThrottleController:
https://www.jmri.org/JavaDoc/doc/src-html/jmri/jmrit/withrottle/ThrottleController.html#line.734

So I would guess that possible values are

  • "1",
  • "2"
  • "4"
  • "8"
  • "16"

and

  • "unknown"
  • "128"
  • "28"
  • "27"
  • "14"
  • "motorola_28"
  • "tmcc_32"
  • "incremental"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants