¿ªÔÆÌåÓý

Date

Locked Re: TMCC2 Commands in JMRI

 

Because people are trying to help you understand how JMRI works.

Several of the people who commented on this thread _actually_ _wrote_ the code involved.

We may misunderstand what you¡¯re saying, which is why I asked my original question: Could you please explain in more detail what "the JMRI throttle needs to allow the user to formulate the command via key strokes¡± means please?

I still haven¡¯t heard an answer to that.

JMRI is open source, and you¡¯re welcome to modify it in any way you want subject to only some limitations: Since you have opinions about how you want to do this, please go ahead.

In the past, we¡¯ve had people want to create and contribute something, but they took a direction early on that make their work so inconsistent with how JMRI works for users that it ended up being a lot of work. So there¡¯s some desire here to help people understand how JMRI works, and make the entire process easier.

Next steps are up to you, I think.

Bob

On Oct 25, 2019, at 6:45 AM, Inobu One via Groups.Io <one2beros@...> wrote:

Alan,
Then why did you even comment on something you will never use.

This is unbelievable.
--
Bob Jacobsen
rgj1927@...


Locked Re: TMCC2 Commands in JMRI

 

Alan,?
Then why did you even comment on something you will never use.

This is unbelievable.


Locked Re: TMCC2 Commands in JMRI

 

Jim,

There are 2 levels of legacy commands and base stations the Cab1L and the Cab2L. Your crane operates at Cab1L level. The Cab2L is the extended version and uses 9 byes that last being the Checksum. I know for a fact the checksum is not performed in JMRI and because of that you are only accessing 65 of the 200 commands available.

You have created templates for the 28 commands coded.
Lets see you Start UP sequence 1 for the Prime Mover, Set the Engine labor to 15. ?
There is no way to access them unless its coded.

Oh well.......
Inobu


Locked Re: TMCC2 Commands in JMRI

 

I can't understand why people won't consider that TMCC is different than DCC and requires a different configuration.
We understand that TMCC is different to DCC. What you don't understand is that the differences between the various hardware systems is dealt with in the underlying abstraction layer of JMRI.

I don't need to try anything. You have the necessary information to change the abstraction layer to handle TMCC-2. I have no interest in doing anything about TMCC-2 as I am unlikely to ever have such a system in my sights let alone use it.


Locked Re: TMCC2 Commands in JMRI

 

Alan,

Will you please just try it. So you can see.

Start up a TMCC connection in simulation mode. Open the TMCC monitor and Send TMCC command windows.?

Then pull up a throttle and set the address to 65. then press the command to turn on the light
The command is displayed on TMCC monitor.

[FE 20 8D]? Cmd: engine 65 AUX2 option 1 (CAB AUX2 button)
[FE 20 8D]? Cmd: engine 65 AUX2 option 1 (CAB AUX2 button)
[FE 20 8D]? Cmd: engine 65 AUX2 option 1 (CAB AUX2 button)
[FE 20 8D]? Cmd: engine 65 AUX2 option 1 (CAB AUX2 button)

FE is for TMCC-1

in order to send a TMCC-2 command that FE needs to be F8 along with 8 other bytes.

This is an example of a complete TMCC command

F8 83 7D FB 82 D2 FB 82 29

Copy and past the FE 20 8D and send it out.
then copy and paste the F8 83 7D FB 82 D2 FB 82 29 and send it out.?
Nothing happens because the code does compile F8?

I can't understand why people won't consider that TMCC is different than DCC and requires a different configuration.

Anyway, I'm a lot more comfortable with everything now.

Inobu





Locked Re: TMCC2 Commands in JMRI

 

Ken,

TMCC-2 has 253 commands. How can 28 function key support that?

The TMCC-2 commands are completely different from the TMCC-1 structured.
For example.

If you were running a TMCC-1 engine on a TMCC-2 layout the command sent to the engine must be TMCC-1. It is the setOpCode FE in the command that identifies TMCC-1. TMCC-2 is identified as F8. Furthermore TMCC-2 refers to Lash-ups as Trains. Any
commands sent to a Lash-up/Train has an setOpCode of F9. This is how an engine commands are differentiated from a lash-up.

Within the TMCC-2 three word command format there are parameter indexes. These indexes formulates the commands to control lighting, effects, sound dialogs and other effects. In order for these actions to be executed the command must be formulated and sent.?

What's really perplexing is I'm giving precise information about the coding and its correlation to the coding in JMRI and I still getting no.......I offer an example to see and get no I'm not doing that....lol

Oh well.......The hardest part is behind me now. Once I get the GUI right linking with
Serialmessage,port and reply is on the list.

Inobu



?


Locked Re: TMCC2 Commands in JMRI

 

¿ªÔÆÌåÓý

I think you are taking Bobs message the wrong way.

?

JMRI is designed so that the user interface is the same whatever hardware is attached to it. So it is YOUR job to make an abstraction layer that replaces the TMCC-1 layer with a TMCC-2 layer. This layer then becomes the operative hardware abstraction layer when JMRI is set up to use TMCC-2.

?

I am sure Bob and any others of the development team will help you with doing that.

?

?

?

From: [email protected] <[email protected]> On Behalf Of Inobu One via Groups.Io
Sent: 25 October 2019 13:23
To: [email protected]
Subject: Re: [jmriusers] TMCC2 Commands in JMRI

?

Bob,

You could not have done it anyways. The coding is not completed in JMRI which is my point. Had you even bothered to try
it would have been quite evident. But I'll follow through with what I said I would do.

The command to turn on the ground lights for an engine with the TMCC ID 65 is
hF8 h83 h7D hFB h82 hD2 hFB h82 h29? ?

The is the command string with the correct Checksum value.
You would not have been able to issue the command because the Throttle has no provisioning to change the
first command byte also known as setOpcode from hFE to the required hF8.?

The truncation only looks for hFE and because of that nothing would be generated.?

Its unfortunate that you are taking this stance but who am I to say anything.

I am basically telling you here are the TMCC-1's version of Extended CV values and they need to be coded so they can be accessed by the user but you are telling me that JMRI doesn't need to do that.

Inobu

? ?


Locked Re: More weird behavior - JMRI Web server (I think)

 

Rick,
The frameserver takes "screenshots" of JMRI windows. So if the window has been reduced, that's what you get a screenshot of. One item of note, the window can be minimized and still work with the frameserver. So if you're not using the same windows on the server, resize them (on the server) to remove the scrollbars, then minimize them. Give that a try.
Sounds like you're trying to use the panelserver on your older iPads, which isn't going to work. The clearest way to distinguish them is via the path (in the address bar of your browser), if it includes /frame/ or /panel/. Examples using my demo layout:?panelserver: ?vs. frameserver:?
To get a list of frames for your iPads, use this path:?http://jmri.mstevetodd.com:1080/frame/ This is the page displayed via the "List" link at the bottom of frameserver pages.
Note that the "Home" page links to panels use the panelserver link. Not the same as the "List" link.
--SteveT


 

Am 24.10.2019 um 20:12 schrieb Renato Albano Petersen FIlho:
Does anyone have or know where there are more Locomotive sound files ready to use?? I look for sound files besides those already in JMRI.
The official resource for "Locomotive sound files" (VSD files) within JMRI is .

Some variants of VSD files can be found in the files area of the JMRI users group at /g/jmriusers/files/VSD .

Probably there are more VSD files on the web, e.q. on YouTube. An owner may provide his VSD file on request. However, it is possible that an owner refuse to do so for licensing reasons.

Klaus


Locked Re: Windows XP

 

John:

I couldn't think of anything I could actually do with my Sinclair even when it was new... even with extra RAM... The Heathkit H-8 was much better...

An XP machine is fine for JMRI and the RR if that's what you have and a reduced chance replacing it... I know of a couple in the circle of MRRing friends.

And yes I still have my Sinclair...

Jim Albanowski


Locked Re: TMCC2 Commands in JMRI

 

Bob,

You could not have done it anyways. The coding is not completed in JMRI which is my point. Had you even bothered to try
it would have been quite evident. But I'll follow through with what I said I would do.

The command to turn on the ground lights for an engine with the TMCC ID 65 is
hF8 h83 h7D hFB h82 hD2 hFB h82 h29? ?

The is the command string with the correct Checksum value.
You would not have been able to issue the command because the Throttle has no provisioning to change the
first command byte also known as setOpcode from hFE to the required hF8.?

The truncation only looks for hFE and because of that nothing would be generated.?

Its unfortunate that you are taking this stance but who am I to say anything.

I am basically telling you here are the TMCC-1's version of Extended CV values and they need to be coded so they can be accessed by the user but you are telling me that JMRI doesn't need to do that.

Inobu

? ?


Locked Re: TMCC2 Commands in JMRI

 

Bob is exactly right.

I have only a TMCC command station and I have some Legacy ( TMCC 2 ) . Equipment. They work fine for the features that the basic TMCC command set sends out but I cannot control some of the more advanced features.

We do not need different connections or types, just more command strings of the lithe type.

This is getting way over complicated.

Legacy equipment just recognizes more commands because the command string CAN start with a different sequence which makes the decoder realize that it is an EXTENDED command and execute it.

TMCC has some commands that are always the same per a given function key, like horn and bell and front and rea coupler. The others and even those could be anything else from open the door on a milk car to start the rotary blade on the rotary snow plow.

I have a legacy crane that is perfectly controllable with the TMCC throttle. It used the speed up command to rotate CW and the speed down command to rotate CCW. That is just trueing the knob CW or CCW on the original TMCC throttle . That know was never intended to be a direction control for a crane cab rotation but since a crane does not have a propulsion motor the decoder in it uses that for something else.

I have created several ¡°templates¡± for the function keys in TMCC to use with different locomotives. The accessory or car or engine that comes with TMCC also lists the functions that that specific piece of rolling stock responds to an AUX 1 + 4 command is just for that device.

We can easily build the command string for all of the basic functions key possibilities in Legacy, leave the ones from the original TMCC alone since the decoder will sort that out. Then you just label the function keys like we do for every other type of rolling stock or accessory and we are done.

Jim


LeFevre Engineering
James L. LeFevre P.E.
2801 S 24 th St.
Rogers, AR. 72758
jlefevre1@...

On Oct 25, 2019, at 5:31 AM, Ken Cameron <kcameron@...> wrote:

Inobu,

On any DCC decoder that would be some function key operation. To the
throttle, it only knows it as a function X, and maybe a custom label with
would say 'Ground Lights'. The backend down in the TMCC code, would build
the command sequence to tell that loco to activate function X.

Are you saying that for TMCC2 it is predefined for what each function does?

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.org
www.syracusemodelrr.org






Locked Re: More weird behavior - JMRI Web server (I think)

 

Thanks Steve,

The size question is (trying to be more clear this time): If the panel is small enough that it fits within the frame then we can use it via the frame server, but if the panel does not fit within the frame size then the frame server (at least for us) does not allow moving the frame around (or moving the panel within the frame) so that the parts that are not visible become visible.? This means part of the panel is never visible or accessible - and so the panel is effectively unusable via the frame server.? My question is are we seeing this behavior (cannot move the panel or frame to see the rest of the panel) because of a config issue or on our part or is that just the way it is and we have to redo the panels to make them smaller in order to get them to work via frame server?

As for websockets - I will check the UR:you provided to see what the iPad reports but this all used to work fine on these same iPads.? Previously (we have frame server enabled - we probably did not need to) if we selected a panel and it was displayed via the frame server there would be some links at the bottom of the page Saying 'Home' 'List' and one or two more.? We could click on either Home or list and from there select the panel and it would then display the panel full screen (as opposed to a picture of the panel within a frame with scroll bars that cannot be used) and we could drag the panel around to see different parts of it and use it.? What used to work on JMRI 4.16 + WiThrottle 3.0.2 + iPad Gen2 iOS 9.3.5 no longer works for some reason (after upgrade to JMRI 4.17.4 & Wi Throttle 3.0.4 OR 3.0.2 + iPad Gen2 iOS 9.3.5.? - and continues to no longer work after removing JMRI 4.17.4 and reinstalling 4.16.

We have rebooted the iPads, reset them and restored to factory default - all with no change.?

If we use safari browser and attempt to go to a web page we can see an error that says:

Error running javascript:
TypeError: $.websocket is not a function. (in $.websocket','$.websocket' is undefined)

URL:


Line Number 215

Thanks,
Rick


Locked Re: .4.17.5ish+jenkins latest build saving bug

 

Hey guy!

Sorry about the late reply, work got a little crazy for a bit there..

Bob, I was going to upload my file, but then I saw Dave's comment.

I have just saved and opened my panel file on?4.17.5ish+jenkins+20191024T2204Z+Rf6cb676 and it works perfectly!

Thanks for your assistance on this one, and glad I could help catch it!
--
Thanks
Mitch


Locked Re: Database interface?

Randall Wood
 

Besides python scripts run within JMRI, you also have the option of (for the operations roster, not the decoder programming roster) using the JMRI REST API for your database program to write to JMRI. Start the JMRI web server and open to get a list of what the REST API handles. Details are also at


Locked Re: TMCC2 Commands in JMRI

 

Inobu,

On any DCC decoder that would be some function key operation. To the
throttle, it only knows it as a function X, and maybe a custom label with
would say 'Ground Lights'. The backend down in the TMCC code, would build
the command sequence to tell that loco to activate function X.

Are you saying that for TMCC2 it is predefined for what each function does?

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.org
www.syracusemodelrr.org


Locked Re: Windows XP

 

HI Marc,
I think that by using this paleo computer and operating system you may be building a system that you will never be happy with.
I have a Spectrum ZX81 that still boots up but I wouldn't try to use it for anything serious.
John K


Locked Re: TMCC2 Commands in JMRI

 

The way JMRI is supposed to work is that some function key on the throttle will be mapped to do that. The person running the engine pushes that button, and the program works out the command to send: No command monitor, no keying in specific commands.

That¡¯s what JMRI does for TMCC, Digitrax, Lenz, NCE, EasyDCC, MRC, SPROG, OpenLCB, TAMS, Zimo, DCC++, Roco, eCos and Marklin.

There¡¯s no need for the person running the train to know what specific commands are being sent. The people who wrote the code need to know that, of course, and need to put that in the code. The code for different flavors of TMCC will have to sent different commands, maybe even different sequences of commands.

So, no, I¡¯m not going to do what you ask because it¡¯s not how JMRI is supposed to work for users. It such a strange request that I still think I¡¯m just not understanding what you¡¯re trying to do.

Bob

On Oct 24, 2019, at 9:49 PM, Inobu One via Groups.Io <one2beros@...> wrote:

I will explain it but lets go through an exercise so you can experience the issue.

A Legacy engine utilizes the TMCC-2 command set. It has the feature to operate or turn on the Ground lights of an engine.

Can you setup your JMRI to run TMCC and initiate the command to turn on the Ground lights for Engine 65.
Open the TMCC command monitor so you can see the command being sent and post what you send out and how you did it.

In turn I will show you what you should have sent out.

Inobu
--
Bob Jacobsen
rgj1927@...


Locked Re: TMCC2 Commands in JMRI

 

I will explain it but lets go through an exercise so you can experience the issue.?

A Legacy engine utilizes the TMCC-2 command set. It has the feature to operate or turn on the Ground lights of an engine.

Can you setup your JMRI to run TMCC and initiate the command to turn on the Ground lights for Engine 65.
Open the TMCC command monitor so you can see the command being sent and post what you send out and how you did it.

In turn I will show you what you should have sent out.

Inobu

?


Locked Re: TMCC2 Commands in JMRI

 

Could you please explain in more detail what "the JMRI throttle needs to allow the user to formulate the command via key strokes¡± means please?

My naive understanding is that this means that the person driving a train can¡¯t just change the speed or a function, and instead has to know the specific details of the communications protocol. But I must misunderstand, because that¡¯s just crazy. The entire reason JMRI exists is so that people _don¡¯t_ have to do that.

So I¡¯d a appreciate a detailed explanation.

Bob

On Oct 24, 2019, at 9:04 PM, Inobu One via Groups.Io <one2beros@...> wrote:

Because of this the JMRI throttle needs to allow the user to formulate the command via key strokes.
--
Bob Jacobsen
rgj1927@...