Keyboard Shortcuts
Likes
- Jmriusers
- Messages
Search
Re: Block occupancy without resistive wheelsets
Yes, there is a"software" solution ... rather two solutions now.
Steve_G added a "ghost" block to be connected to a turnout.
When both real detectors on either side of the turnout are active, the "ghost" is active.
?
I haven't used the "ghost" as my layout predates that feature.
I summarize my "software" approach in my blog ?...
--
Ken NYNH&H, Old Colony Division, Cape Cod Branch (1949-1959) Loconet * JMRI 5.11.1 * OSX,Win10,Ubuntu Blog: ?
Youtube:
|
Re: How to edit script, re-exec without restarting?
#scripting
I don't know the best way to remove old listeners, but I have tested this and it seems to work.
Jython variables that are not within a class are global for the duration of the JMRI session. The first run will create the listener. ?Subsequent runs will remove the old listener and add a new one. Dave Sand ----- Original message ----- From: stevemac <steveo@...> Subject: [jmriusers] How to edit script, re-exec without restarting? #scripting Date: Wednesday, March 19, 2025 11:06 AM I'm working on a script to facilitate virtual block handling (time before unoccupied, etc) by considering time entered and exited and block length. Since every car being pulled draws power I can estimate how long it will be in a virtual block (assuming same speed). ? The script is loaded at startup and adds property change listeners. ? Since I'm learning JMRI I have to make incremental changes and every time I have to restart since the old listener is still active. ? Maybe I could save my chained listener objects in a memory and check if it's there if I re-execute the script but wanted to check with experts first. Is there any advice for avoiding a restart? |
Re: The future of control and automation - thoughts?
With tiny cameras in our phones, and AI, and ever higher integration, someday soon it should be possible to have a camera in every loco, and have it run on clear track, obey signals if they are used, and stop short of other trains or end of track. I enjoy running my trains manually, but my loop to loop railroad doesn't lend itself to having a train or two run in the background while I switch (shunt) cars or change motive power. The railroad is much more enjoyable when more than one train runs, in my opinion. But, I make mistakes when I try to run two or three at a time by myself. -- Don Weigt Connecticut |
Re: How to edit script, re-exec without restarting?
#scripting
stevemac,
?
The document at provided two implementations of () and one of those might be used as your script closes down for the next trial run.
?
If your development is still at the stage of unexpected termination, this idea might not be very useful.
?
Suggestions for all beginning Jython programmers: Keep the Console window open and at least partially visible and put in a lot of print or log statements.
?
Cliff in Baja SoCal |
Re: Block occupancy without resistive wheelsets
开云体育Brsidesa, you are trusting the operator to run at a very precise speerd. Probably impossible. Rspecially with track conditions and other issues. ? Dana Zimmerli Z System Designs ? From: [email protected] <[email protected]> On Behalf Of Dave Sand
Sent: Tuesday, March 18, 2025 8:18 PM To: [email protected] Subject: Re: [jmriusers] Block occupancy without resistive wheelsets ? Operations has a max train length value. ?This is used to limit train sizes between switching locations. ? Dispatcher has a max train length for automatically controlled trains. ? I am not aware of any other places where train length might be stored. ? ? Dave Sand ? ? ----- Original message ----- From: "p.lavers via groups.io" <p.lavers=[email protected]> Subject: Re: [jmriusers] Block occupancy without resistive wheelsets Date: Tuesday, March 18, 2025 9:48 PM ? That JMRI has the facility to store the train length. This would allow the calculation of the position of the end of the train. ? |
How to edit script, re-exec without restarting?
#scripting
I'm working on a script to facilitate virtual block handling (time before unoccupied, etc) by considering time entered and exited and block length. Since every car being pulled draws power I can estimate how long it will be in a virtual block (assuming same speed).
?
The script is loaded at startup and adds property change listeners.
?
Since I'm learning JMRI I have to make incremental changes and every time I have to restart since the old listener is still active.
?
Maybe I could save my chained listener objects in a memory and check if it's there if I re-execute the script but wanted to check with experts first.
Is there any advice for avoiding a restart? |
Re: Signal Mast Logic
#sml
David, Step 1: ?Use the Layout Editor "Tools -> Check" menu items to clean up the non-contiguous blocks. Step 2: ?Run the GrandReset.py script. ?This will delete all of the transits, sections, SML and block paths. ?After doing a Store and re-start, use "Auto Generate Signaling Pairs" in the Signal Mast Logic table menu to create new SML. I have not looked at all of the signals yet, but it appears that the inner loop signals are all set for counter clockwise traffic. ?If so, that explains why the buffer signals have no SML. ?There is no source signal for clockwise traffic. Dave Sand ----- Original message ----- From: "David Smith via groups.io" <daversmth=[email protected]> Subject: [jmriusers] Signal Mast Logic Date: Wednesday, March 19, 2025 6:43 AM Hi All, ? I have added the panel file ?exhib.xml to the David Smith folder in ProblemsBeingWorked? There are some issues with some of the signal masts. Could someone please advise what the problem may be ? ? Buffer masts Mst_Buff_SdS4, Mst_Buff_SdS5, Mst_Buff_SdS6 are set to Unknown ? Mst_SE3, Mst_SE2, Mst_SW3e, Mst_SW3f, Mst_W4 signal logic does not see other masts correctly ( I am aware that I could fix the issues by manually editing the signal logic but would prefer not to ) ? Can I also please ask, if ?I add a mast that is not visible on the panel, is there a way to see or edit it afterwards ? ? Also, can I ask why all of the signal heads appear in the Turnouts table ? ? Thanks Dave |
Re: The future of control and automation - thoughts?
Speaking of WS2812 3-color LED controller IC's, RR-CirKits offers an LCC-based signal controller for their "Simple Serial?Signal Bus" that controls signal LEDs using these inexpensive IC's!
?
Even if signals & switch controllers were wireless, you'd still have to wire power to them.
?
And while controlling track switches via the DCC track bus, using stationary decoders, simplifies and saves wiring, running a train against such a switch would short out both the track and the means by which to rectify the problem from the throttle/panel.
?
-- Andy |
Re: Signal Mast Logic
#sml
If it helps when looking at the panel, the script below will initalise all the sensors and points to a known value.
?
import jmri
vSnsLst=['V_E1a', 'V_E1b','V_E2a','V_E2b','V_E2c','V_E3a','V_E3b','V_E3c','V_E4',\
? ? ? ? ?'V_NE1a','V_NE1b','V_NE1c','V_NE2a','V_NE2b','V_NE2c','V_NE2d',\ ? ? ? ? ?'V_NE3a','V_NE3b','V_NE3c','V_NE3d','V_NE4a','V_NE4b','V_NE4c','V_NE4d',\ ? ? ? ? ?'V_NW1a','V_NW1b','V_NW2','V_NW3','V_NW4a','V_NW4b',\ ? ? ? ? ?'V_SE1a','V_SE1b','V_SE2a','V_SE2b','V_SE3a','V_SE3b',\ ? ? ? ? ?'V_SE4a','V_SE4b','V_SE5a','V_SE5b','V_SE6a','V_SE6b',\ ? ? ? ? ?'V_SW1a','V_SW1b','V_SW1c','V_SW1d','V_SW1e','V_SW1f',\ ? ? ? ? ?'V_SW2a','V_SW2b','V_SW2c','V_SW2d','V_SW2e','V_SW2f',\ ? ? ? ? ?'V_SW3a','V_SW3b','V_SW3c','V_SW3d','V_SW3e','V_SW3f',\ ? ? ? ? ?'V_SW4a','V_SW4b','V_SW4c','V_SW4d','V_SW4e','V_SW4f',\ ? ? ? ? ?'V_SdE','V_SdN3a','V_SdN3b','V_SdN4a','V_SdN4b','V_SdN5a','V_SdN5b',\ ? ? ? ? ?'V_SdNE1a','V_SdNE1b','V_SdNE2a','V_SdNE2b',\ ? ? ? ? ?'V_SdNW1a','V_SdNW1b','V_SdNW2a','V_SdNW2b',\ ? ? ? ? ?'V_SdNxa','V_SdNxb','V_SdNxc','V_SdNxd','V_SdNxe',\ ? ? ? ? ?'V_SdS1a','V_SdS1b','V_SdS2a','V_SdS2b','V_SdS3a','V_SdS3b',\ ? ? ? ? ?'V_SdS4a','V_SdS4b','V_SdS5a','V_SdS5b','V_SdS6a','V_SdS6b',\ ? ? ? ? ?'V_W1a','V_W1b','V_W1c','V_W1d','V_W1e',\ ? ? ? ? ?'V_W2','V_W3','V_W4a','V_W4b'] for sns in vSnsLst:
?sensors.provideSensor(sns).setState(4) print '## All Sensors initialised to Inactive ##' ptLst=['Pt_E1_NE1','Pt_E1_SE1','Pt_E1_SdN','Pt_E2_SE3','Pt_E3_SE5',\
? ? ? ?'Pt_NE1_NE2','Pt_NE2_NE1','Pt_NE2_NE3','Pt_NE3_NE4','Pt_NE4_NE3','Pt_NE4_SdNa','Pt_NE4_SdNb','Pt_NE4_SdNc',\ ? ? ? ?'Pt_SE1_SdS1','Pt_SE1_SdS2','Pt_SE1_SdS3','Pt_SE6_SdS4','Pt_SE6_SdS5','Pt_SE6_SdS6',\ ? ? ? ?'Pt_SW1_SW2','Pt_SW2_SE3','Pt_SW2_SW1','Pt_SW2_SW3','Pt_SW3_SE5','Pt_SW3_SW4','Pt_SW4_SW3',\ ? ? ? ?'Pt_W1_SdNa','Pt_W1_SdNb','Pt_W4_SdNa','Pt_W4_SdNb','Pt_W4_SdNc'] class ds_init_pts(jmri.jmrit.automat.AbstractAutomaton):
? def handle(self): ? ? for pt in ptLst: ? ? ? turnouts.provideTurnout(pt).setState(2) ? ? ? self.waitMsec(200) ? ? print '## All Points initialised to Closed ##' ? ? return False a=ds_init_pts()
a.start() |
Re: The future of control and automation - thoughts?
Regarding Bluetooth control:? is it possible to control more than 1 locomotive at the same time from a single throttle over Bluetooth with any of the current systems?? I don't have any experience with any of them.
?
Also, I'd just like to add that while some people certainly aren't interested in automatic operations - and that's fine - other people do like automation, and that's fine too.? I personally loved the challenge of setting up my layout so it could be operated fully manually, semi-automatically, or fully automatically, and enjoy using it in any of those modes depending on how I feel at the time.? That's the beauty of "My Railroad, My Rules", and the great thing about the flexibility of JMRI.
?
Cheers,
Trevor. |
Re: Block occupancy without resistive wheelsets
Roger, With turnouts in a separate block, and not even very long trains, you'd see the occupancy indicator of the turnout go off while both blocks at either side remain on - unless there's added logic. Wouter On Wed, 19 Mar 2025 at 12:17, Roger Thomas via <rogert=[email protected]> wrote:
|
Re: The future of control and automation - thoughts?
Same here. OperationsPro is my sole use of JMRI these days. (And occasionally DecoderPro, but mostly LokProgrammer)
?
So in that vein, I've begun to wonder if I could use AI (namely, v0.dev) to write code modifications for OpsPro to mold it more to my niche-prototype likings. Would love to have suggestions on how specifically to do so if anyone has any, as I'm willing to learn but would prefer not to if I can help it. Am the wrong kind of engineer by trade!
?
More to OP's original question, I think Bluetooth is the future (especially for loco-to-loco comms) but the current offerings (namely Blunami & RailPro) are neither mature nor featured enough to get me to switch from DCC.
?
Isaac |
Re: The future of control and automation - thoughts?
At Wed, 19 Mar 2025 04:55:45 -0400 "Mick Moignard" <mick@...> wrote:
Don't forget that Soundtraxx offer Bluetooth-controllable decoders as well.Sometimes it can be more interesting to have an additional train or two operated "by the computer" along with the one mnually operated train. It is effectively prototypial to have "resistive" wheelsets, if you count a solid steel axle as a "resistor"... -- Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364 Deepwoods Software -- Custom Software Services -- Linux Administration Services heller@... -- Webhosting Services |
Re: Block occupancy without resistive wheelsets
The dispatcher functionality was only implemented from 5.10. I need to update and have a look. I was impressed by which implements a solution in the detector hardware (arduino) to calculate (estimate) the end of train position. It will be interesting to compare all the options!? |
Re: Current state of DMX support on Apple Silicon Macs?
#mac-m1
#powerline
Returning to the original question in this thread: Would an Apple Silicon Mac, e.g. an M4, be able to run a DMX512 connection natively?
I’ve made some more progress on this: I have been able to set up a M1 Mac with the right native libraries (as opposed to x86_64 Intel libraries) and JMRI is able to make a HID connection to another device in the same way an Anyma connection would be made. So that works. I think the answer is “Yes, if the Mac is set up with native libraries”. I don’t have an actual Anyma DMX512 system to check with, so I can’t be 100% sure. Bob — Bob Jacobsen rgj1927@... |
Re: Signal Mast Logic
#sml
On 3/19/2025 7:43 AM, David Smith via groups.io wrote:
Can I also please ask, if ?I add a mast that is not visible on the panel, is there a way to see or edit it afterwards ?Sure there is. "Tools"->"Tables"->"Signals"->"Signal Masts" . Or "Tools"->"Tables"->"Signals"->"Signal Mast Logic" . As appropriate. Also, can I ask why all of the signal heads appear in the Turnouts table ?It depends on how you have defined the signals. If you build a JMRI "Signal Head" or a JMRI "Signal Mast" using individual JMRI "Turnout"s, by definition JMRI _must_ define the turnouts before it can use those "Turnout"s. (This goes back to the original NMRA DCC specifications where where the only way to control anything of an "accessory" nature was via a DCC turnout. JMRI followed this assumption. And the majority of Signal hardware uses that same assumption. Where a hardware signaling device _does not_ use a DCC "Turnout" address, that device will generally not use a JMRI "Turnout".) |
Re: Block occupancy without resistive wheelsets
Hi
Dispatcher runs trains automatically or with manual drivers need only the head of the train detectable and a length for the train.
After the head leaves a block it shows that the block is unoccupied but allocated (so it cannot be allocated to another train) until the calculated end of the train exits the block.
It uses pessamistic assumptions about the position of the head in an occupied block.
You can also use Head and tail detection so a single car detected car at the rear is required. Lighted caboose , track powered FRED.
The major down side of head only is the failure to detect broken trains, so I would never use them for an exhibition piece.
Steve G.
? |
Re: Block occupancy without resistive wheelsets
My mainline freights always have a last car with a FRED which is drawing power. A lighted caboose would be the same. So the occupancy light trips as soon as the loco enters, and doesn't release until the last car leaves. No need for resistor wheels on intermediate rolling stock. |
Signal Mast Logic
#sml
Hi All,
?
I have added the panel file ?exhib.xml to the David Smith folder in ProblemsBeingWorked?
There are some issues with some of the signal masts.
Could someone please advise what the problem may be ? ?
Buffer masts Mst_Buff_SdS4, Mst_Buff_SdS5, Mst_Buff_SdS6 are set to Unknown
?
Mst_SE3, Mst_SE2, Mst_SW3e, Mst_SW3f, Mst_W4 signal logic does not see other masts correctly
( I am aware that I could fix the issues by manually editing the signal logic but would prefer not to ) ?
Can I also please ask, if ?I add a mast that is not visible on the panel, is there a way to see or edit it afterwards ?
?
Also, can I ask why all of the signal heads appear in the Turnouts table ?
?
Thanks
Dave
|
Re: Zimo MS450P22 CVs above #841
#zimo
#definitions
开云体育Now in JMRI GitHub as issue #13945
And from there, should find its way through approvals to a JMRI test release.??
- Nigel
------ Original Message ------
From "Nigel Cliffe via groups.io" <nigel.cliffe@...>
Date 14/03/2025 14:50:26
Subject Re: [jmriusers] Zimo MS450P22 CVs above #841 #zimo #definitions
|