Jump to content
 

JMRI - Definition and Operation of Crossover


Mick Bonwick
 Share

Recommended Posts

  • RMweb Gold

I am having trouble getting a pair of points to work as a crossover controlled by JMRI. I have searched many places for a solution but am still confused. Rather than describe the path I have taken to get here (in a circular motion, many times re-iterated), does anybody have a suggestion for best practice when installing, defining and operating a left-hand and right-hand point as a crossover, please?

Link to post
Share on other sites

  • RMweb Gold

Thanks for the quick response, Nigel. I am using Layout Editor because that was what seemed the easier for me to get to grips with at the beginning. That may not have been the right choice but, at the time I started, I ploughed ahead without seeking assistance. I'm quite happy to start again if I made the wrong initial choice.

 

My requirement is to be able to control trains, points and signals from a JMRI screen, from a DCC system (Digitrax) and from a physical (as opposed to screen-based) mimic panel.

Link to post
Share on other sites

If bothered about exact panel appearance, then the "Panel Editor" allows you total control of the graphical appearance, limited only by your skills as a graphic designer.     However, for many people, the Layout Editor gets a good-enough appearance, and people seem to find it simpler to get going.

 

In exploring this, I think I've found a bug, which I've reported. 

I wanted to use and "link" a RH and LH turnout, but found a bug which I'll explain in a moment.

 

Start with what works. 

Define two turnouts, "Turn1" which really exists, with a real DCC address for your cross-over turnouts, and "Turn1Pair" which is fictional, as either an "internal turnout" (better), or can just give it a DCC address which doesn't exist on your layout. 

( If you have two decoders, one for each half of the model crossover, then the second turnout is the second decoder  ). 

 

Place on the layout, Turn1 (A) and Turn1Pair (B)    (see image below from layout editor)

 

Then right click on the turnout A, and bring up the Edit dialogue.  Select the "also throw turnout" button, and select "turn1pair".    That all works, though the diagram has a bit of a dog-leg in it at the end of B. 

 

What I wanted to do was use a LH turnout for B, and also select "Invert Second Turnout".   But that causes a Java crash on my machine, and hence a bug report.  

 

There are ways to make it work without any bug-fix, but using LH and RH turnout icons. 
Sideways-method 1:   Using Routes and an internal sensor.   Place the sensor on the panel, so its at a higher level than the turnouts, and over them.  Right-click turnouts to "disabled" (so not respond to clicks).   Create two routes, one triggered by sensor=active, another triggered by sensor=inactive,  the routes throw the two turnouts as required for each path.   Place the sensor on the panel over the turnouts so it operates, and optionally edit the sensor's graphical appearance. 

Sideways-method2:   Using Logix.  Create Logix rules such that changing Turn1 causes Turn1Pair to also change.  ( Watch you don't create circular run-away rules by creating too many.  Its safer to have rules from only one of the turnouts, and treat the second as not active and not clickable (by editing it to "disabled" on the panel). 

 

foo1.png.9162d63528e424817db2ea023b1e1c5b.png

  • Thanks 1
Link to post
Share on other sites

I've got a better work-around from a JMRI developer....  seems to do what was asked now:

 

Create the two turnouts, A and B, as RH and LH turnouts on the panel.   If there is only one DCC address, then B uses either an internal turnout, or a fictional DCC address. 

Right click on A  (which is "t1" in my diagram) and get the Edit panel.   Click "also throw turnout" and select the second turnout, then change the "continuing route turnout state" drop-down from "closed" to "thrown". 

 

If the turnout "thrown/closed" is inverted, then undo the "also throw" on A, and do it to B instead, and its possible to invert the thrown/closed pairing. 

 

That works on my panel.

 

 

1989569996_Annotation2020-07-09210925.png.bb71f55d6efee42580762bfdb5e8036f.png

Edited by Nigelcliffe
  • Thanks 1
Link to post
Share on other sites

  • RMweb Gold
On 09/07/2020 at 21:12, Nigelcliffe said:

I've got a better work-around from a JMRI developer....  seems to do what was asked now:

 

Many thanks, Nigel, it all works beautifully now. I hadn't spotted the "invert" option, and my pair of point motors were continually changing whenever I chose to run a "start of day" script. The dreaded never-ending loop.

 

Your help was invaluable.

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...