Keyboard Shortcuts
Likes
- Jmriusers
- Messages
Search
Re: Chaining transits with a different locomotive
#dispatcher
So, you are not continuing this train with a new transit, you are in a "tag-team" with another train.
That is, somewhere in the middle or end of Transit A you want to run a different train on Transit B.
If you built transits with a 1:1 correspondence with trainonfo files, you can specify the locomotive in traininfo.
When you "load traininfo B" action in transit A and that traininfo file B specifies locomotive B, then Transit B will run loco B.
--
Ken NYNH&H, Old Colony Division, Cape Cod Branch (1949-1959) Loconet * JMRI 5.11.1 * OSX,Win10,Ubuntu Blog: ?
Youtube:
|
|
Re: Automatic Dispatching
If you upload the layout data xml file to the group's ProblemsBeingWorkedOn file folder we can review what you have done so far. ?Which turnout has the issue with the continuing route? Dave Sand ----- Original message ----- From: "sontrak via groups.io" <sontrak=[email protected]> Subject: [jmriusers] Automatic Dispatching Date: Monday, March 24, 2025 9:25 PM I've tried several different ways to get trains to run automatically, but I keep running into ( maybe I should say "creating my own") roadblocks.? At 83, I'm not sure how many more wrong ways to do it I can afford to try. ? I've set signal heads all around the layout.? I try to set Blocks, Sections and a Transit to run a train and I get it set to go through several Sections, but then I get to a turnout and it will allow me to set the diverging route out, but the continuing route isn't available.? I can't find what's different between the Block on he diverging leg and the one on the continuing leg of the turnout. ? So, I read some of the JMRI documentation and decided to try using Signal Masts and letting JMRI set up Sections and Transits on the fly.? I took a portion of the Panel and deleted the signal heads around a turnout to use the Set Signal Masts menu.? It sets the Masts for both routes entering the frog end of the turnout, but there's no option to set a Mast with signals for the points end of the same turnout. ? Before I waste any more time on rabbit holes, can someone steer me to the easiest way to set up my goals?? Or point me at the page in the JMRI documents where I can read the proper steps to take and the order to build it? I'd like to: 1.? Be able to send a train autonomously from the modeled layout into a specific staging track. 2.? Be able to have trains scheduled to come out of staging into the modeled area at preprogrammed clock times or upon specified events. 3.? Be able to manually trigger a train in staging? by selecting either the train or the track it's on and select where it needs to go. ? ? This forum has been so great thanks to the helpful folks here who have been so willing to share their time and experience. |
|
Re: Java version 21.0.6
#java
Thank you Peter.?? I see you are running that combination.? I will probably change to JMRI 5.11.4+, as I could be affected by the NCE consist backup/restore issue.
?
Dave Morgan
https://www.tcmr.club/ |
|
Re: Java version 21.0.6
#java
Keep using Java 21 unless you run into issues. If you do have issues, please report them.
-- Peter Ulvestad Linux Mint 22.1, JMRI 5.11.4plus, Java 21.0.6 JMRI Users Group Moderator ( /g/jmriusers ) JMRI Developers Group Moderator ( ) Tam Valley Group Moderator ( ) Sprog-DCC Group Moderator ( ) Edmonton Model Railroad Association ( ) |
|
Java version 21.0.6
#java
I have just upgraded the club computer to Linux Mint 22.? As part of that upgrade, the system installed Java version 21.0.6.?? The JMRI version installed is5.2.?? I plan to upgrade it to 5.10.? Will that version of JMRI be compatible with java 21, or do I need to change to java 17??? I don't see that java 21 is recommended on the JMRI website.
?
Dave Morgan
https://www.tcmr.club/ |
|
Re: Automatic Dispatching
开云体育Did you do the followingCreate train length blocks / make each block into a section / create a layout panel without any switches / create the blocks physically by isolating the ends of each block and add detection to each block / physically on the actual layout ?include the switches you have at the end of a block / create sml virtual signals at the ends of every block on the layout panel-no real signals are needed / create transits /run trains. That will enable you to run trains automatically from one point to an end point or continuously in loops including trains chasing each other. If you want to use switching then create a second layout panel. ?Without changing your wiring physically now create a second layout panel with every switch in its own block. Create ghost blocks for the switches-need latest test version of jmri software. Or use logix to tell the virtual blocks you put switches in when to occupy them. Tony On Mar 24, 2025, at 10:25?PM, sontrak via groups.io <sontrak@...> wrote:
|
|
Automatic Dispatching
I've tried several different ways to get trains to run automatically, but I keep running into ( maybe I should say "creating my own") roadblocks.? At 83, I'm not sure how many more wrong ways to do it I can afford to try.
?
I've set signal heads all around the layout.? I try to set Blocks, Sections and a Transit to run a train and I get it set to go through several Sections, but then I get to a turnout and it will allow me to set the diverging route out, but the continuing route isn't available.? I can't find what's different between the Block on he diverging leg and the one on the continuing leg of the turnout.
?
So, I read some of the JMRI documentation and decided to try using Signal Masts and letting JMRI set up Sections and Transits on the fly.? I took a portion of the Panel and deleted the signal heads around a turnout to use the Set Signal Masts menu.? It sets the Masts for both routes entering the frog end of the turnout, but there's no option to set a Mast with signals for the points end of the same turnout.
?
Before I waste any more time on rabbit holes, can someone steer me to the easiest way to set up my goals?? Or point me at the page in the JMRI documents where I can read the proper steps to take and the order to build it?
I'd like to:
1.? Be able to send a train autonomously from the modeled layout into a specific staging track.
2.? Be able to have trains scheduled to come out of staging into the modeled area at preprogrammed clock times or upon specified events.
3.? Be able to manually trigger a train in staging? by selecting either the train or the track it's on and select where it needs to go.
?
?
This forum has been so great thanks to the helpful folks here who have been so willing to share their time and experience. |
|
Re: java
Ok thanks On Mon, Mar 24, 2025, 1:08?PM John Griffin via <johng.sst=[email protected]> wrote:
|
|
Locked
File /ProblemsBeingWorkedOn/dsand/Demo.py uploaded
#file-notice
Group Notification
The following items have been added to the Files area of the [email protected] group. By: Dave Sand <ds@...> Description: |
|
Re: Script output delayed
#scripting
I have uploaded a demo script at?/g/jmriusers/files/ProblemsBeingWorkedOn/dsand/Demo.py This provides an example of the structure that you need to use when implementing your signal logic with the timed delays. Dave Sand ----- Original message ----- From: "Canadian Locomotive Logistics via groups.io" <CanadianLocomotiveLogistics=[email protected]> Subject: Re: [jmriusers] Script output delayed #scripting Date: Sunday, March 23, 2025 9:11 PM Thanks, I will try that.... ? Currently the code it as follows. ? from java.util import Date from java.text import SimpleDateFormat from java.lang import Thread import time import jmri import java import java.beans formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") current_date_time = formatter.format(Date()) print("Current Date and Time: " + current_date_time) print("Confirmation on the script starting. Track Detection.") print("==================================================== ") print(" ") print("First Step, testing ou the ability to pause the program.") thread.sleep(3000) print("Did it work?") print(" ") print("Defining the listener to play a sound when a sensor goes active.") class SoundListener(java.beans.PropertyChangeListener): ?? ? def propertyChange(self, event): ? ? if ((event.newValue == ACTIVE) and (event.oldValue == INACTIVE)): ? ? ? ? self.snd.play() ? ? ? ? prin(" ? ?if statement is true.") # ? ? ? ?signal_routine("Limited Clear") ? ? else: ? ? ? ? print(" ? ?no thruth to this at all!") ? ? ? ? signal_routine("Limitied Clear") m = SoundListener() m.snd = jmri.jmrit.Sound("resources/sounds/Crossing.wav") print(" ? ?Finished defining the lisitener to play a sound.") sensors.provideSensor("N4S55").addPropertyChangeListener(m) ? def signal_routine (aspect): ? ? ################################################################################## ? ? print("Part 1") ? ? mast_1 = masts.getSignalMast('Signal Mast, Table 10, Track 5, West Bound') ? ? mast_1.setAspect('Limited Clear') ? ? print(" ? ? Signal Mast, Table 10, Track 5, West Bound is set to 'Limited Clear'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 2") ? ? mast_2 = masts.getSignalMast('Signal Mast, Table 12, Track 5, West Bound') ? ? mast_2.setAspect('Limited Clear') ? ? print(" ? ? Signal Mast, Table 12, Track 5, West Bound is set to 'Limited Clear'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? Before calling a wait statement.") ? ? self.waitMsec(3000) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 3") ? ? mast_3 = masts.getSignalMast('Signal Bridge, Table 12, Track 5, West Bound') ? ? mast_3.setAspect('Limited Clear') ? ? print (" ? ?Signal Bridge, Table 12, Track 5, West Bound is set to 'Limited Clear'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 4") ? ? mast_4 = masts.getSignalMast('Signal Bridge, Table 11, Track 5, West Bound') ? ? mast_4.setAspect('Limited Clear') ? ? print (" ? ?Signal Bridge, Table 11, Track 5, West Bound is set to 'Limited Clear'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ?################################################################################## ? ? ################################################################################## ? ? print(" ") ? ? print("Reseting The signals.") ? ? print("=====================") ? ? print(" ") ? ? print("Part 1 - Restting") ? ? mast_1 = masts.getSignalMast('Signal Mast, Table 10, Track 5, West Bound') ? ? mast_1.setAspect('Stop Signal') ? ? print(" ? ? Signal Mast, Table 10, Track 5, West Bound is set to 'Stop Signal'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 2 - Resetting") ? ? mast_2 = masts.getSignalMast('Signal Mast, Table 12, Track 5, West Bound') ? ? mast_2.setAspect('Stop Signal') ? ? print(" ? ? Signal Mast, Table 12, Track 5, West Bound is set to 'Stop Signal'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 3 - Resetting") ? ? mast_3 = masts.getSignalMast('Signal Bridge, Table 12, Track 5, West Bound') ? ? mast_3.setAspect('Stop Signal') ? ? print (" ? ?Signal Bridge, Table 12, Track 5, West Bound is set to 'Stop Signal'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ################################################################################## ? ? print("Part 4 - Resetting") ? ? mast_4 = masts.getSignalMast('Signal Bridge, Table 11, Track 5, West Bound') ? ? mast_4.setAspect('Stop Signal') ? ? print (" ? ?Signal Bridge, Table 11, Track 5, West Bound is set to 'Stop Signal'.") ? ? current_date_time = formatter.format(Date()) ? ? print(" ? ? After waiting... Current Date and Time: " + current_date_time) ? ? ################################################################################## print("End of the script.") ? ? ? |
|
Re: Script help please
#scripting
Richard, One way to share data between Jython classes is to use sensors for states and memory variables for values. If you really want to share the data within the Jython context, you have to use the "global" option. ?When a variable is modified within a class, the local variable will be modified. ?This will not be visible to other classes. ?If the first statement in the function is "global varname", the subsequent changes to the variable will be visible to other classes. Here is an example:
Dave Sand ----- Original message ----- From: "richard.taplin via groups.io" <richard.taplin=[email protected]> Subject: Re: [jmriusers] Script help please #scripting Date: Monday, March 24, 2025 2:15 PM I’m slowly learning the program I’ve got the part to find the mode working, but have found another problem I’m using the "TurnoutStatePersistence" script and added a new class for finding the LocoNet Simulator? mode The script I’m using is set up as several classes. I can set a variable with the loconet result in its class , but the value won’t show up in the other classes I have tried using a variable set at the start of the script This will show up in the different classes, but i can’t change it in one class and it stay changed in the next class nothing I’ve tried semes to work Help please |
|
Re: Script help please
#scripting
I’m slowly learning the program I’ve got the part to find the mode working, but have found another problem I’m using the "TurnoutStatePersistence" script and added a new class for finding the LocoNet Simulator? mode The script I’m using is set up as several classes. I can set a variable with the loconet result in its class , but the value won’t show up in the other classes I have tried using a variable set at the start of the script This will show up in the different classes, but i can’t change it in one class and it stay changed in the next class nothing I’ve tried semes to work Help please |
|
Re: java
Louis, That's Oracle for ya! Read this?short post: On Mon, Mar 24, 2025 at 7:55?AM Louis Grundman via <louis.grundman=[email protected]> wrote:
--
John Griffin Model Railroading Topics |
|
Re: java
开云体育Take another look at the JMRI JAVA pageShort answer “no I don’t. And no you don’t have to”
Phil G On 24 Mar 2025, at 13:55, Louis Grundman via groups.io <louis.grundman@...> wrote:
|
|
Re: WiThrottle function master list
#functionlabels
Lou, what decoder type are you using for those 150 Roster Entries? Often decoder definitions include the function key defaults.
?
Are you comfortable editing the XML directly? If you are, you can set up one and then copy the updated block in the XML to your other 149. Then Rebuild the Roster Index.
?
--SteveT |
|
Re: WiThrottle function master list
#functionlabels
Mike, not understanding your reply. You made mention of a master setting but then referred to the individual locomotive.
?
How do I go about setting a master function list for all locomotives to be applied to?
?
Lou
--
Modeling Conrail’s Boston Line in HO |
|
Re: java
Short answer: no. Longer answer: don't bother with Oracle's Java. There are
other options, none of which will ask for a subscription. Oracle Java (other than version 8) is only available as a JDK and is meant for developers who are writing Java code. Oracle wants to keep track (?) of people writing Java programs. Do go to JMRI.org/java and read that page carefully. There are *free* downloads for Java runtime (JRE) for Java 11 or Java 17 from a few other places besides Oracle. At Mon, 24 Mar 2025 09:55:15 -0400 "Louis Grundman via groups.io" <louis.grundman@...> wrote: -- Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364 Deepwoods Software -- Custom Software Services -- Linux Administration Services heller@... -- Webhosting Services |
|
Re: java
开云体育Louis, ? Many users have switched to Azul JAVA which does not require a subscription.? Azul also offers a JRE (JAVA Runtime Environment) installation which is much smaller than the JDK (JAVA Development Kit) installation. ? I’m using Azul JAVA 17 on several Windows 10 and 11 computers with no issues.? I used the ‘.msi’ installer. ? Make sure you remove your old JAVA installation before installing a new version. ? HTH, Ross ? ? ? From: [email protected] <[email protected]>
On Behalf Of Dave Sand
Sent: Monday, March 24, 2025 10:05 AM To: [email protected] Subject: Re: [jmriusers] java ? Only if you have a reason to get it directly from Oracle. ? ?has alternative sources. ?I use Azul.com. ? Dave Sand ? ? ----- Original message ----- From: "Louis Grundman via groups.io" <louis.grundman=[email protected]> Subject: Re: [jmriusers] java Date: Monday, March 24, 2025 8:55 AM ? Do you have to have a java subscription now. It sak me to subscribe. ? On Sun, Mar 16, 2025, 1:54?PM Phil G via <phil=[email protected]> wrote:
? |
|
Re: java
Only if you have a reason to get it directly from Oracle. ?has alternative sources. ?I use Azul.com. Dave Sand ----- Original message ----- From: "Louis Grundman via groups.io" <louis.grundman=[email protected]> Subject: Re: [jmriusers] java Date: Monday, March 24, 2025 8:55 AM Do you have to have a java subscription now. It sak me to subscribe. On Sun, Mar 16, 2025, 1:54?PM Phil G via <phil=[email protected]> wrote:
|