Locked
Re: Actually getting Raildriver working (on windows) How to Calibrate???
#raildriver
Bob J,
I believe the ReDACIOModule was used for the full-size AAR control stand that PI Engineering produced.? It is quite different than the desktop Rail Driver.
?
Bob Bucklew
?
toggle quoted message
Show quoted text
From: Bob <rgj1927@...> To: jmriusers <[email protected]> Date: Saturday, 7 September 2024 9:03 AM EDT Subject: Re: [jmriusers] Actually getting Raildriver working (on windows) How to Calibrate???
I don¡¯t think JMRI has a calibration menu for the RailDriver. There used to be a little Windows program that could do the calibration, but I don¡¯t know where to get that now.
There are two files in the JMRI distribution that carry calibration data:
xml/jinputDevices/ReDACIOModule.xml
xml/jinputDevices/RailDriverModernDesktop.xml
I don¡¯t know why there are two.
Bob
> On Sep 7, 2024, at 10:21?AM, joshuaclough via groups.io <joshuaclough@...> wrote: > > TL;DR > How do you calibrate this thing in JMRI? > ................................................................................................. > > So I have come to the conclusion that do to "reasons" (jhidrawplugin-win.dll only existing in 32bit form) Raildriver only works on 32bit versions of JMRI. This Translates to using version 4.26 as the last 32bit compatible version. > So after downgrading I do actually get the "raildriver" menu item (under debug) to do something. I does actually seem like it's trying to work, unfortunately it is said that one should calibrate the deadzones least it overloads JMRI and it runs out of memory. > Well that seems to be exactly what is happening. > Where is this calibration window that never seems to appear?
¡ª Bob Jacobsen rgj1927@...
|
Vimal,
After you start PanelPro, you need to load the stored xml file using "File -> Load table content and panels".
Dave Sand
toggle quoted message
Show quoted text
----- Original message -----
Subject: [jmriusers] New to JMRI: Can't open PanelPro after selecting DCC-EX Simulation connection #dcc-ex #preferences
Date: Saturday, September 07, 2024 11:35 AM
I am new to JMRI and trying to setup my layout in the panel editor.?
Since I want to work off-line, I opened PanelPro and selected DCC++ ?connection with DCC++ Simulation.
When I saved the connection, it asked me to restart the application.
Upon restart, it now only shows a simple dialog with Help and Quit buttons. The main PanelPro window is not displayed.
?
Here is my installation info:
?
Laptop: MacBook Pro M2 Max?
OS: Sonoma 14.6.1
JMRI: PanelPro version 5.8+Rbc21ce2ce7
Java Version: ?17.0.10
?
I have attached session.log and message.log files.
?
--
+==========
Attachments:
|
Ken,
You have 4 signal masts using the "DCC Signal Mast Decoder".
Since you mention having a SE74, I looked at the manual for the device. ?One of the options is to use "DCC Aspect control" instead of the traditional SE8C turnout control. ?In JMRI terms, this is the "DCC Signal Decoder" option for signal head appearances.
Note: ?In JMRI, signal masts have aspects, such as Clear. ?The aspect is the meaning based on one or more signal heads. ?Signal heads have appearances, such as green.
As a test, I created four DCC Signal Decoder signal heads starting at 100. ?I am assuming the SE74 base address is 100. ?I then "moved" the user names from the SE8C heads to the DCC heads. ?After a store/stop/start/load, I tested closing turnout 1. ?The SML changed the signal mast aspects which then changed the signal head appearances which then sent the appropriate command to the LocoNet.
Requesting Switch at LT1 to Closed (Output On).
Requesting Switch at LT1 to Closed (Output Off).
Extended Accessory Decoder Set Digitrax Address 103 (NMRA Address 99) to Aspect 0.
Extended Accessory Decoder Set Digitrax Address 102 (NMRA Address 98) to Aspect 1.
Extended Accessory Decoder Set Digitrax Address 100 (NMRA Address 96) to Aspect 1.
Note: ?The signal masts refer to the signal head user names. ?This makes the change to the signal head connection transparent.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] SML signal mast problem #sml
Date: Saturday, September 07, 2024 7:30 AM
Good morning, Dave
?
Thank you again for your thoughts.
I am using an SE74 and only have physical signals at four locations.?
I read on another post that all of the turnouts should be set up even though they don't physically have signal masts.?
I changed all the signal masts last night and still have the same original problem. I started working on turnout 01 and it has the same problem.?
I do have sectors established so I will need to correct those but nothing further.?
Also using BDL168, PR4, DCS52, 2DS64, 2DS74 all Kato track and turnouts, Digitrax signals.?
I hope this helps.?
Best
Ken
|
I am new to JMRI and trying to setup my layout in the panel editor.? Since I want to work off-line, I opened PanelPro and selected DCC++ ?connection with DCC++ Simulation.
When I saved the connection, it asked me to restart the application.
Upon restart, it now only shows a simple dialog with Help and Quit buttons. The main PanelPro window is not displayed.
?
Here is my installation info:
?
Laptop: MacBook Pro M2 Max?
OS: Sonoma 14.6.1
JMRI: PanelPro version 5.8+Rbc21ce2ce7
Java Version: ?17.0.10
?
I have attached session.log and message.log files.
?
--
+========== |. Vimal
+==========
|
Daniel,
Thank you for identifying my oversight.
I have confirmed that calling the public getActiveTrainsList() method works as expected. ?It creates a LogixNG array of active train objects.
The goal is to create a module that takes the train name and returns the current speed. ?This can be used instead of calling a Jython script.
Dave Sand
toggle quoted message
Show quoted text
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with LogixNG
Date: Saturday, September 07, 2024 11:04 AM
Dave,
The method DispatcherFrame.getSignalTypeString() is protected.
And since LogixNG is executing Java methods from a different
package, it's not possible for LogixNG to access that method.
I'm surprised Jython can do it. It seems that Jython in some way
circumvent Java protected status.
The solution is to change the method getSignalTypeString() to
public. Maybe other methods in that class should be made public as
well?
Daniel
On 2024-09-07 17:18, Dave Sand wrote:
Daniel,
Here is the LogixNG:
LogixNG: Dispatcher Manager Test
??? ConditionalNG: Dispatcher Manager
??????? ! A
??????????? Many
?????????????? ::: Local variable "mgr", init to None ""
?????????????? ::: Local variable "sigtype", init to String
""
??????????????? ! A1
??????????????????? Digital Formula: mgr =
InstanceManager.getDefault("jmri.jmrit.dispatcher.DispatcherFrame")
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A2
??????????????????? Log local variables
??????????????? ! A3
??????????????????? Digital Formula: value =
mgr.getSignalTypeString()
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A4
??????????????????? Log local variables
An error occurs during the execute of the LogixNG:
I selected the About option.
Here is the system console:
10:04:36,264 apps.util.Log4JUtil?????????????????? INFO? -
* JMRI log ** [main]
10:04:36,269 apps.util.Log4JUtil?????????????????? INFO? -
This log is stored in file:
/Users/das/Library/Preferences/JMRI/log/session.log [main]
10:04:36,270 apps.util.Log4JUtil?????????????????? INFO? -
This log is appended to file:
/Users/das/Library/Preferences/JMRI/log/messages.log [main]
10:04:36,275 apps.Apps???????????????????????????? INFO? -
PanelPro version 5.8+Rbc21ce2ce7 starts under Java 17.0.11 on
Mac OS X aarch64 v14.6.1 at Sat Sep 07 10:04:36 CDT 2024
[main]
10:04:38,759 apps.Apps???????????????????????????? INFO? -
Starting with profile Dispatcher.3ccc2fc9 [main]
10:04:38,802 jmri.util.node.NodeIdentity?????????? INFO? -
Using aea674cb-bb05-467f-be01-3844e010f99f as the JMRI storage
identity for profile id 3ccc2fc9 [AWT-EventQueue-0]
10:04:38,824 jmri.jmrix.ConnectionConfigManager??? INFO? -
No local configuration found. [main]
10:04:38,932 jmri.jmrix.loconet.LnPacketizer?????? INFO? -
lnPacketizer Started [main]
10:04:38,933 i.jmrix.loconet.hexfile.LnHexFilePort INFO? -
LocoNet Simulator Started [LocoNet HexFileFrame]
10:04:39,029 jmri.jmrit.roster.Roster????????????? INFO? -
Reading roster file with
rootFromName(/Users/das/JMRI/_Profiles/)
[main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path program: is /Applications/JMRI/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path preference: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path profile: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path settings: is /Users/das/Library/Preferences/JMRI/
[main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path home: is /Users/das/ [main]
10:04:39,208 jmri.util.FileUtilSupport???????????? INFO? -
File path scripts: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,631 apps.PanelPro.PanelPro??????????????? INFO? -
Main initialization done [main]
10:04:44,142 jmri.configurexml.LoadXmlConfigAction INFO? -
Loading selected file: /Users/das/JMRI/_Profiles/ [AWT-EventQueue-0]
10:04:45,138 t.display.layoutEditor.BlockValueFile INFO? -
4 of 4 block values restored. Rule=RESTOREONLYIFALLOCCUPIED,
Power=OFF [AWT-EventQueue-0]
10:05:07,501 jmri.jmrit.audio.JoalAudioFactory???? INFO? -
Initialised JOAL using OpenAL: vendor - OpenAL Community
version - 1.1 ALSOFT 1.23.1 [Listed Table Generation]
10:06:10,519 rit.logixng.actions.LogLocalVariables WARN? -
Log local variables: [JMRI LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN?
-???? Name: sigtype, Value: , java.lang.String [JMRI
LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN?
-???? Name: mgr, Value:
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true],
jmri.jmrit.dispatcher.DispatcherFrame [JMRI LogixNGThread]
10:06:10,525 rit.logixng.actions.LogLocalVariables WARN? -
Log local variables done [JMRI LogixNGThread]
10:06:14,747 g.implementation.DefaultConditionalNG WARN? -
ConditionalNG IQC:AUTO:0001 was aborted during execute:
jmri.jmrit.logixng.util.parser.CannotCallMethodException: Can
not call method getSignalTypeString() on object
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
[JMRI LogixNGThread]
jmri.jmrit.logixng.util.parser.CannotCallMethodException:
Can not call method getSignalTypeString() on object
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeMethod.calculate(ExpressionNodeMethod.java:173)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeComplex.calculate(ExpressionNodeComplex.java:24)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeAssignmentOperator.calculate(ExpressionNodeAssignmentOperator.java:234)
~[jmri.jar:?]
at
jmri.jmrit.logixng.actions.DigitalFormula.execute(DigitalFormula.java:145)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45)
~[jmri.jar:?]
at
jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37)
~[jmri.jar:?]
at
jmri.jmrit.logixng.actions.DigitalMany.execute(DigitalMany.java:116)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45)
~[jmri.jar:?]
at
jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultConditionalNG.internalExecute(DefaultConditionalNG.java:173)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultConditionalNG$ExecuteTask.run(DefaultConditionalNG.java:216)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.LogixNG_Thread.lambda$new$0(LogixNG_Thread.java:148)
~[jmri.jar:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Doing a Jython print of the result of
jmri.InstanceManager.getDefault(..) returns the same content,
but Jython is still able to resolve the method calls.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with
LogixNG
Date: Saturday, September 07, 2024 3:34 AM
Dave,
> For Dispatcher, the DispatcherFrame class is both the
Dispatcher manager and the main JmriJFrame.? The
"InstanceManager" function returns the JFrame, not the object.
Can you explain this?
Create a ConditionalNG that calls the InstanceManager to get
the instance of DispatcherFrame and put it in a local
variable. Then use LogLocalVariables with show class name.
What class name do you get?
Daniel
On 2024-09-06 16:43, Dave Sand
wrote:
Daniel,
It could be done using LogixNG except for one problem.
The "InstanceManager" function normally returns a manager
object, for example using a formula such as:
mgr = InstanceManager.getDefault("jmri.Sensor")
where "mgr" is a local variable. ?For Dispatcher, the
DispatcherFrame class is both the Dispatcher manager and the
main JmriJFrame. ?The "InstanceManager" function returns the
JFrame, not the object.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with
LogixNG
Date: Friday, September 06, 2024 9:07 AM
Jos,
No, not currently. But you can use a Jython script to do
that. Hopefully someone else will join in and give you an
example on a Jython script for it.
Daniel
On 2024-09-06 15:11, Jos
Smeele wrote:
Is there a way that I can query an active throttle
with LogixNG and, for instance, store the current speed
in a local variable with LogixNG?
I want to get the current train speed with LogixNG
when Dispatcher is executing Transits.
I've learned that Memory variables can be queried
with: memories.getMemory(<memory name>) so is
there something similar for throttle data?
Thanks,
Jos
|
Locked
Re: Precise position of trains and maneuvers automation
I¡¯d be interested in hearing more about work with sonic GPS. A while back, there was a commercial system called ¡°RPS¡± that did this. It worked really well but the electronics was bulky and it had a large transmitter that was pretty ugly on top of the locomotive. It even had JMRI support: Unfortunately, the owner passed. Somebody, I don¡¯t recall who, bought the system and was going to try to repackage the transmitter, but I don¡¯t think anything came of that. Perhaps the time has come for this tech! Bob On Sep 7, 2024, at 4:04?PM, Scott Walton via groups.io <jscottwalton@...> wrote:
What about the railway GPS for model railroads (I think there¡¯s a beta test of that now) using a sonic transmitter in the locomotive and several receivers around the room. You can calculate the position in 3-space from the transmission time to each receiver.
¡ª Bob Jacobsen rgj1927@...
|
Locked
Re: Adding Consist Column to DecoderPro Roster Screen
#roster
All,
?
In addition to creating a column to manually keep track of consist locos (I use this to note the Advanced Consist Address)), I suggest creating a Group to organize consisted locos. That will give you a way to show only consisted locos, in addition to sorting them by consist address.
?
I actually use yet another column (I call Category) to sort locos according to my preference, which is without regard to any alphanumeric order any other column might provide.
?
Regards
|
Dave,
The method DispatcherFrame.getSignalTypeString() is protected.
And since LogixNG is executing Java methods from a different
package, it's not possible for LogixNG to access that method.
I'm surprised Jython can do it. It seems that Jython in some way
circumvent Java protected status.
The solution is to change the method getSignalTypeString() to
public. Maybe other methods in that class should be made public as
well?
Daniel
On 2024-09-07 17:18, Dave Sand wrote:
toggle quoted message
Show quoted text
Daniel,
Here is the LogixNG:
LogixNG: Dispatcher Manager Test
??? ConditionalNG: Dispatcher Manager
??????? ! A
??????????? Many
?????????????? ::: Local variable "mgr", init to None ""
?????????????? ::: Local variable "sigtype", init to String
""
??????????????? ! A1
??????????????????? Digital Formula: mgr =
InstanceManager.getDefault("jmri.jmrit.dispatcher.DispatcherFrame")
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A2
??????????????????? Log local variables
??????????????? ! A3
??????????????????? Digital Formula: value =
mgr.getSignalTypeString()
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A4
??????????????????? Log local variables
An error occurs during the execute of the LogixNG:
I selected the About option.
Here is the system console:
10:04:36,264 apps.util.Log4JUtil?????????????????? INFO? -
* JMRI log ** [main]
10:04:36,269 apps.util.Log4JUtil?????????????????? INFO? -
This log is stored in file:
/Users/das/Library/Preferences/JMRI/log/session.log [main]
10:04:36,270 apps.util.Log4JUtil?????????????????? INFO? -
This log is appended to file:
/Users/das/Library/Preferences/JMRI/log/messages.log [main]
10:04:36,275 apps.Apps???????????????????????????? INFO? -
PanelPro version 5.8+Rbc21ce2ce7 starts under Java 17.0.11 on
Mac OS X aarch64 v14.6.1 at Sat Sep 07 10:04:36 CDT 2024
[main]
10:04:38,759 apps.Apps???????????????????????????? INFO? -
Starting with profile Dispatcher.3ccc2fc9 [main]
10:04:38,802 jmri.util.node.NodeIdentity?????????? INFO? -
Using aea674cb-bb05-467f-be01-3844e010f99f as the JMRI storage
identity for profile id 3ccc2fc9 [AWT-EventQueue-0]
10:04:38,824 jmri.jmrix.ConnectionConfigManager??? INFO? -
No local configuration found. [main]
10:04:38,932 jmri.jmrix.loconet.LnPacketizer?????? INFO? -
lnPacketizer Started [main]
10:04:38,933 i.jmrix.loconet.hexfile.LnHexFilePort INFO? -
LocoNet Simulator Started [LocoNet HexFileFrame]
10:04:39,029 jmri.jmrit.roster.Roster????????????? INFO? -
Reading roster file with
rootFromName(/Users/das/JMRI/_Profiles/)
[main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path program: is /Applications/JMRI/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path preference: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path profile: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path settings: is /Users/das/Library/Preferences/JMRI/
[main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? -
File path home: is /Users/das/ [main]
10:04:39,208 jmri.util.FileUtilSupport???????????? INFO? -
File path scripts: is
/Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,631 apps.PanelPro.PanelPro??????????????? INFO? -
Main initialization done [main]
10:04:44,142 jmri.configurexml.LoadXmlConfigAction INFO? -
Loading selected file: /Users/das/JMRI/_Profiles/
[AWT-EventQueue-0]
10:04:45,138 t.display.layoutEditor.BlockValueFile INFO? -
4 of 4 block values restored. Rule=RESTOREONLYIFALLOCCUPIED,
Power=OFF [AWT-EventQueue-0]
10:05:07,501 jmri.jmrit.audio.JoalAudioFactory???? INFO? -
Initialised JOAL using OpenAL: vendor - OpenAL Community
version - 1.1 ALSOFT 1.23.1 [Listed Table Generation]
10:06:10,519 rit.logixng.actions.LogLocalVariables WARN? -
Log local variables: [JMRI LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN?
-???? Name: sigtype, Value: , java.lang.String [JMRI
LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN?
-???? Name: mgr, Value:
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true],
jmri.jmrit.dispatcher.DispatcherFrame [JMRI LogixNGThread]
10:06:10,525 rit.logixng.actions.LogLocalVariables WARN? -
Log local variables done [JMRI LogixNGThread]
10:06:14,747 g.implementation.DefaultConditionalNG WARN? -
ConditionalNG IQC:AUTO:0001 was aborted during execute:
jmri.jmrit.logixng.util.parser.CannotCallMethodException: Can
not call method getSignalTypeString() on object
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
[JMRI LogixNGThread]
jmri.jmrit.logixng.util.parser.CannotCallMethodException:
Can not call method getSignalTypeString() on object
jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeMethod.calculate(ExpressionNodeMethod.java:173)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeComplex.calculate(ExpressionNodeComplex.java:24)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.parser.ExpressionNodeAssignmentOperator.calculate(ExpressionNodeAssignmentOperator.java:234)
~[jmri.jar:?]
at
jmri.jmrit.logixng.actions.DigitalFormula.execute(DigitalFormula.java:145)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45)
~[jmri.jar:?]
at
jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37)
~[jmri.jar:?]
at
jmri.jmrit.logixng.actions.DigitalMany.execute(DigitalMany.java:116)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45)
~[jmri.jar:?]
at
jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultConditionalNG.internalExecute(DefaultConditionalNG.java:173)
~[jmri.jar:?]
at
jmri.jmrit.logixng.implementation.DefaultConditionalNG$ExecuteTask.run(DefaultConditionalNG.java:216)
~[jmri.jar:?]
at
jmri.jmrit.logixng.util.LogixNG_Thread.lambda$new$0(LogixNG_Thread.java:148)
~[jmri.jar:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Doing a Jython print of the result of
jmri.InstanceManager.getDefault(..) returns the same content,
but Jython is still able to resolve the method calls.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with
LogixNG
Date: Saturday, September 07, 2024 3:34 AM
Dave,
> For Dispatcher, the DispatcherFrame class is both the
Dispatcher manager and the main JmriJFrame.? The
"InstanceManager" function returns the JFrame, not the object.
Can you explain this?
Create a ConditionalNG that calls the InstanceManager to get
the instance of DispatcherFrame and put it in a local
variable. Then use LogLocalVariables with show class name.
What class name do you get?
Daniel
On 2024-09-06 16:43, Dave Sand
wrote:
Daniel,
It could be done using LogixNG except for one problem.
The "InstanceManager" function normally returns a manager
object, for example using a formula such as:
mgr = InstanceManager.getDefault("jmri.Sensor")
where "mgr" is a local variable. ?For Dispatcher, the
DispatcherFrame class is both the Dispatcher manager and the
main JmriJFrame. ?The "InstanceManager" function returns the
JFrame, not the object.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with
LogixNG
Date: Friday, September 06, 2024 9:07 AM
Jos,
No, not currently. But you can use a Jython script to do
that. Hopefully someone else will join in and give you an
example on a Jython script for it.
Daniel
On 2024-09-06 15:11, Jos
Smeele wrote:
Is there a way that I can query an active throttle
with LogixNG and, for instance, store the current speed
in a local variable with LogixNG?
I want to get the current train speed with LogixNG
when Dispatcher is executing Transits.
I've learned that Memory variables can be queried
with: memories.getMemory(<memory name>) so is
there something similar for throttle data?
Thanks,
Jos
|
Ken,
I recommend that you do the GrandReset.py script. ?You will lose the transit and sections, but at this point the goal is to get the signals working. ?In the long term, it will be less to work to re-create the sections than trying to fix them.
Dave Sand
toggle quoted message
Show quoted text
----- Original message -----
Subject: Re: [jmriusers] SML signal mast problem #sml
Date: Saturday, September 07, 2024 7:30 AM
Good morning, Dave
?
Thank you again for your thoughts.
I am using an SE74 and only have physical signals at four locations.?
I read on another post that all of the turnouts should be set up even though they don't physically have signal masts.?
I changed all the signal masts last night and still have the same original problem. I started working on turnout 01 and it has the same problem.?
I do have sectors established so I will need to correct those but nothing further.?
Also using BDL168, PR4, DCS52, 2DS64, 2DS74 all Kato track and turnouts, Digitrax signals.?
I hope this helps.?
Best
Ken
|
Daniel,
Here is the LogixNG:
LogixNG: Dispatcher Manager Test
??? ConditionalNG: Dispatcher Manager
??????? ! A
??????????? Many
?????????????? ::: Local variable "mgr", init to None ""
?????????????? ::: Local variable "sigtype", init to String ""
??????????????? ! A1
??????????????????? Digital Formula: mgr = InstanceManager.getDefault("jmri.jmrit.dispatcher.DispatcherFrame")
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A2
??????????????????? Log local variables
??????????????? ! A3
??????????????????? Digital Formula: value = mgr.getSignalTypeString()
??????????????????????? ?* E1
????????????????????????????
??????????????? ! A4
??????????????????? Log local variables
An error occurs during the execute of the LogixNG:
I selected the About option.
Here is the system console:
10:04:36,264 apps.util.Log4JUtil?????????????????? INFO? - * JMRI log ** [main]
10:04:36,269 apps.util.Log4JUtil?????????????????? INFO? - This log is stored in file: /Users/das/Library/Preferences/JMRI/log/session.log [main]
10:04:36,270 apps.util.Log4JUtil?????????????????? INFO? - This log is appended to file: /Users/das/Library/Preferences/JMRI/log/messages.log [main]
10:04:36,275 apps.Apps???????????????????????????? INFO? - PanelPro version 5.8+Rbc21ce2ce7 starts under Java 17.0.11 on Mac OS X aarch64 v14.6.1 at Sat Sep 07 10:04:36 CDT 2024 [main]
10:04:38,759 apps.Apps???????????????????????????? INFO? - Starting with profile Dispatcher.3ccc2fc9 [main]
10:04:38,802 jmri.util.node.NodeIdentity?????????? INFO? - Using aea674cb-bb05-467f-be01-3844e010f99f as the JMRI storage identity for profile id 3ccc2fc9 [AWT-EventQueue-0]
10:04:38,824 jmri.jmrix.ConnectionConfigManager??? INFO? - No local configuration found. [main]
10:04:38,932 jmri.jmrix.loconet.LnPacketizer?????? INFO? - lnPacketizer Started [main]
10:04:38,933 i.jmrix.loconet.hexfile.LnHexFilePort INFO? - LocoNet Simulator Started [LocoNet HexFileFrame]
10:04:39,029 jmri.jmrit.roster.Roster????????????? INFO? - Reading roster file with rootFromName(/Users/das/JMRI/_Profiles/) [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? - File path program: is /Applications/JMRI/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? - File path preference: is /Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? - File path profile: is /Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? - File path settings: is /Users/das/Library/Preferences/JMRI/ [main]
10:04:39,207 jmri.util.FileUtilSupport???????????? INFO? - File path home: is /Users/das/ [main]
10:04:39,208 jmri.util.FileUtilSupport???????????? INFO? - File path scripts: is /Users/das/JMRI/_Profiles/Dispatcher.jmri/ [main]
10:04:39,631 apps.PanelPro.PanelPro??????????????? INFO? - Main initialization done [main]
10:04:44,142 jmri.configurexml.LoadXmlConfigAction INFO? - Loading selected file: /Users/das/JMRI/_Profiles/ [AWT-EventQueue-0]
10:04:45,138 t.display.layoutEditor.BlockValueFile INFO? - 4 of 4 block values restored. Rule=RESTOREONLYIFALLOCCUPIED, Power=OFF [AWT-EventQueue-0]
10:05:07,501 jmri.jmrit.audio.JoalAudioFactory???? INFO? - Initialised JOAL using OpenAL: vendor - OpenAL Community version - 1.1 ALSOFT 1.23.1 [Listed Table Generation]
10:06:10,519 rit.logixng.actions.LogLocalVariables WARN? - Log local variables: [JMRI LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN? -???? Name: sigtype, Value: , java.lang.String [JMRI LogixNGThread]
10:06:10,520 rit.logixng.actions.LogLocalVariables WARN? -???? Name: mgr, Value: jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true], jmri.jmrit.dispatcher.DispatcherFrame [JMRI LogixNGThread]
10:06:10,525 rit.logixng.actions.LogLocalVariables WARN? - Log local variables done [JMRI LogixNGThread]
10:06:14,747 g.implementation.DefaultConditionalNG WARN? - ConditionalNG IQC:AUTO:0001 was aborted during execute: jmri.jmrit.logixng.util.parser.CannotCallMethodException: Can not call method getSignalTypeString() on object jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] [JMRI LogixNGThread]
jmri.jmrit.logixng.util.parser.CannotCallMethodException: Can not call method getSignalTypeString() on object jmri.jmrit.dispatcher.DispatcherFrame[frame0,564,261,954x512,invalid,layout=java.awt.BorderLayout,title=Dispatcher,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,954x484,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
at jmri.jmrit.logixng.util.parser.ExpressionNodeMethod.calculate(ExpressionNodeMethod.java:173) ~[jmri.jar:?]
at jmri.jmrit.logixng.util.parser.ExpressionNodeComplex.calculate(ExpressionNodeComplex.java:24) ~[jmri.jar:?]
at jmri.jmrit.logixng.util.parser.ExpressionNodeAssignmentOperator.calculate(ExpressionNodeAssignmentOperator.java:234) ~[jmri.jar:?]
at jmri.jmrit.logixng.actions.DigitalFormula.execute(DigitalFormula.java:145) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45) ~[jmri.jar:?]
at jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37) ~[jmri.jar:?]
at jmri.jmrit.logixng.actions.DigitalMany.execute(DigitalMany.java:116) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultMaleDigitalActionSocket.execute(DefaultMaleDigitalActionSocket.java:45) ~[jmri.jar:?]
at jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalActionSocket.execute(DebuggerMaleDigitalActionSocket.java:35) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket.execute(DefaultFemaleDigitalActionSocket.java:37) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultConditionalNG.internalExecute(DefaultConditionalNG.java:173) ~[jmri.jar:?]
at jmri.jmrit.logixng.implementation.DefaultConditionalNG$ExecuteTask.run(DefaultConditionalNG.java:216) ~[jmri.jar:?]
at jmri.jmrit.logixng.util.LogixNG_Thread.lambda$new$0(LogixNG_Thread.java:148) ~[jmri.jar:?]
at java.lang.Thread.run(Thread.java:840) [?:?]
Doing a Jython print of the result of jmri.InstanceManager.getDefault(..) returns the same content, but Jython is still able to resolve the method calls.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with LogixNG
Date: Saturday, September 07, 2024 3:34 AM
Dave,
> For Dispatcher, the DispatcherFrame class is both the
Dispatcher manager and the main JmriJFrame.? The "InstanceManager"
function returns the JFrame, not the object.
Can you explain this?
Create a ConditionalNG that calls the InstanceManager to get the
instance of DispatcherFrame and put it in a local variable. Then
use LogLocalVariables with show class name. What class name do you
get?
Daniel
On 2024-09-06 16:43, Dave Sand wrote:
Daniel,
It could be done using LogixNG except for one problem.
The "InstanceManager" function normally returns a manager
object, for example using a formula such as:
mgr = InstanceManager.getDefault("jmri.Sensor")
where "mgr" is a local variable. ?For Dispatcher, the
DispatcherFrame class is both the Dispatcher manager and the
main JmriJFrame. ?The "InstanceManager" function returns the
JFrame, not the object.
Dave Sand
----- Original message -----
Subject: Re: [jmriusers] Getting throttle settings with
LogixNG
Date: Friday, September 06, 2024 9:07 AM
Jos,
No, not currently. But you can use a Jython script to do
that. Hopefully someone else will join in and give you an
example on a Jython script for it.
Daniel
On 2024-09-06 15:11, Jos Smeele
wrote:
Is there a way that I can query an active throttle with
LogixNG and, for instance, store the current speed in a
local variable with LogixNG?
I want to get the current train speed with LogixNG when
Dispatcher is executing Transits.
I've learned that Memory variables can be queried with:
memories.getMemory(<memory name>) so is there
something similar for throttle data?
Thanks,
Jos
|
Locked
Re: Precise position of trains and maneuvers automation
"Bob Jacobsen" <rgj1927@...> writes: It might be a little late for this, but can I suggest another way of detecting position that might both (1) meet your goals and (2) be fun to work on?
Put a video camera above the layout, and use visual pattern recognition to find the locations of the individual pieces.
People have played with this a little, but as far as I know nobody has made it work well. The technology wasn¡¯t up to it. But maybe it is now?
Bob I have considered this solution too, but the installation of the camera could be a problem. It need to be stable and it need space. It could cause a problem with hidden station who are under the layout, or under a mountain. And the contrast of some wagon with what is around them could be not enough to detect them.
|
Locked
Re: Precise position of trains and maneuvers automation
What about the railway GPS for model railroads (I think there¡¯s a beta test of that now) using a sonic transmitter in the locomotive and several receivers around the room. You can calculate the position in 3-space from the transmission time to each receiver.
?
And add in JMRI OpsPro ¡ª if JMRI is building the trains you know the cars in each train and the length of each car. From that you should be able to deduce the position of each coupler. ?That should cover all the information you need. What I don¡¯t think has been done yet is to connect them all together to operate (as in run an OpsPro operating session automatically), running one on more trains completely under computer control.
?
Scott Walton?
|
Locked
Re: Precise position of trains and maneuvers automation
# What I planned to do
After passing a looooot of time documenting the state of the art on the hardware side, and evaluating the few detection methods that are available and not in the state of the art: I've finally decided what to develop.
The majority of methods that I have documented only detect the passing of a train or a block occupation. The only few that directly measure the precise position are either impracticable in some situation or completely vanished.
So, I decided to use 2 consecutive IR detectors, working by reflection against the train, to measure speed. By using the raw value of the detectors, I also hope to detect where begin and end each vehicle and where the coupling are. Or even each vehicle signature. Then, using a modified JMRI, calculate the exact position of the train and where each vehicles and coupling are.
Of course, this only work if trains maintain their speed after the detectors, or only stop and restart. But, I could also use the speed values measured by the detectors to build a speed table of each locomotive. And then use these tables to estimate new speed in case of speed change.
After having the precise position of the trains and wagons, I planned to modify JMRI add what miss to manage train composition and de-composition, and wagon distribution, from a high level interface with abstraction of the moving management needed for each maneuver.
It might be a little late for this, but can I suggest another way of detecting position that might both (1) meet your goals and (2) be fun to work on? Put a video camera above the layout, and use visual pattern recognition to find the locations of the individual pieces. People have played with this a little, but as far as I know nobody has made it work well. The technology wasn¡¯t up to it. But maybe it is now? Bob ¡ª Bob Jacobsen rgj1927@...
|
Locked
Re: Precise position of trains and maneuvers automation
Hello,
So, after reading a lot of the JMRI online manual, lot of articles and watching a lot of videos, I have still some difficulties to understand to which extend JMRI already do what I wanted to develop myself.
# What I need to do
I want to add some precision to what I need to develop. But to not make it to complex, I will also re-explain what I need to develop.
So, for the bachelor work I need to do for the school, I have to develop something that can:
"Automate train movement by detecting their precise location."
By "automate movement", they mean regular service and maneuver. Especially composing and de-composing trains, and distribute wagons on different tracks.
By "detecting precise location", they mean with 2 to 3 cm accuracy. And, as the system need to maneuver the vehicles composing the trains, it need to detect position, beginning and end of each of these vehicles. Including the position of the couplings.
I can use any solution, but I am not allowed to:
* Cut the track into pieces
* Re-do something who is already seen as state of the art
For obtaining the train position, I measure it or calculate it from other measured values.
The state of the art including hardware and software made by railway model makers. Whether they are companies or hobbyists.
# What I planned to do
After passing a looooot of time documenting the state of the art on the hardware side, and evaluating the few detection methods that are available and not in the state of the art: I've finally decided what to develop.
The majority of methods that I?have documented only detect the passing of a train or a block occupation. The only few that directly measure the precise position are either impracticable in some situation or completely vanished.
So, I decided to use 2 consecutive IR detectors, working by reflection against the train, to measure speed. By using the raw value of the detectors, I also hope to detect where begin and end each vehicle and where the coupling are. Or even each vehicle signature. Then, using a modified JMRI, calculate the exact position of the train and where each vehicles and coupling are.
Of course, this only work if trains maintain their speed after the detectors, or only stop and restart. But, I could also use the speed values measured by the detectors to build a speed table of each locomotive. And then use these tables to estimate new speed in case of speed change.
After having the precise position of the trains and wagons, I planned to modify JMRI?add what miss to manage train composition and de-composition, and wagon distribution, from a high level interface with abstraction of the moving management needed for each maneuver.
# Is JMRI already capable of all of this??
In my long documentation of state of the art, I've forgotten to check the state of the art for the software side. Because the solution I?have chosen use a software to calculate the train position and automate all movements.
By reading the JMRI manual [1], I have seen that it can detect train location when they entering a bloc. And all other positional information can be calculated with at must the track speed of the train and the length of the path.
But what kind of position calculation?? Is it only a point of the map?? Or is it also the beginning and the end of the train with position of each coupling??
From where the track speed of the train come from?? Also by using 2 consecutive detectors??
Is this calculation can use the length of the train?? If yes, from where this information come from??
I have also seen that the JMRI Dispatcher System could automate train control [2]. But it only control the movement from point A to point B and executing pre-written script at point A or B??
In the manual of the dispatcher, I didn't found a more high level control. Like, you choose which wagon and locomotive compose the train and JMRI will automatically do the maneuver to build the train and then send it to the next station where JMRI will distribute the wagons on different tracks. From what I understand, all the maneuver need to be scripted in advance. Or did I miss something??
Before starting to develop anything, I need to know if JMRI, or any other software, can already do what I plan to do, in the way I plan to do it. Because if it's the case, I cannot do what I plan and need to found another way.
The only other software I know is TrainController. But from what I understand, it only do train position based on block occupancy detection.
[1] , section "The Importance of Block Path Lengths"
[2]
Best regards
------- Gendre S¨¦bastien
S¨¦bastien Gendre <seb@...> writes:
toggle quoted message
Show quoted text
Hello, I have a few questions. Does JMRI can deduce the precise location of a train from its speed, it's size and a few object detectors ? If yes:
* With which precision ? * Does JMRI can use train precise location to automate the maneuvers, including uncoupling and train formation ?
Do you know of other software than JMRI who can do that ? For my diploma work for engineering, I need to develop a system that can measure, or deduce, the precise location of a train, with a precision of 2-3 cm. Then, using this location, the system need to automate the maneuvers, including uncoupling and train formation. But before developing this system, I need to document what's already exist in the field of model making. And then found a new way of doing it. I'm only allowed to develop something that nobody have already done. For the detectors, it's seems that model makers have already done every possibilities. Including using 2 objects detectors to measure speed (and JMRI already have a speedometer). For positon deduced from other data, I have seen that JMRI already have a Train Tracker [1]. But, as I have only used the Decoder Pro until now, I don't know if the Train Tracker correspond to what I'm asked to develop or not. Best regards. PS: If my diploma work can be done, I plan to release the result software and hardware as free (as in freedom) software and hardware. And all the documents in similar licence. And if it implies modifying JMRI, I would be very happy to send my modifications as contribution to JMRI. [1]
|
Locked
Re: Actually getting Raildriver working (on windows) How to Calibrate???
#raildriver
I don¡¯t think JMRI has a calibration menu for the RailDriver. There used to be a little Windows program that could do the calibration, but I don¡¯t know where to get that now. There are two files in the JMRI distribution that carry calibration data: xml/jinputDevices/ReDACIOModule.xml xml/jinputDevices/RailDriverModernDesktop.xml I don¡¯t know why there are two. Bob On Sep 7, 2024, at 10:21?AM, joshuaclough via groups.io <joshuaclough@...> wrote:
TL;DR How do you calibrate this thing in JMRI? .................................................................................................
So I have come to the conclusion that do to "reasons" (jhidrawplugin-win.dll only existing in 32bit form) Raildriver only works on 32bit versions of JMRI. This Translates to using version 4.26 as the last 32bit compatible version. So after downgrading I do actually get the "raildriver" menu item (under debug) to do something. I does actually seem like it's trying to work, unfortunately it is said that one should calibrate the deadzones least it overloads JMRI and it runs out of memory. Well that seems to be exactly what is happening. Where is this calibration window that never seems to appear? ¡ª Bob Jacobsen rgj1927@...
|
Locked
Re: Actually getting Raildriver working (on windows) How to Calibrate???
#raildriver
I can't help with Raildriver, but will say 4.26 is NOT the last 32 bit compatible version. 32 bit Java is available from at least 2 locations.
-- Peter Ulvestad
JMRI Users Group Moderator ( ) Tam Valley Group Moderator ( ) Sprog-DCC Group Moderator ( ) Edmonton Model Railroad Association ( )
|
Locked
Actually getting Raildriver working (on windows) How to Calibrate???
#raildriver
TL;DR How do you calibrate this thing in JMRI?
.................................................................................................
So I have come to the conclusion that do to "reasons" (jhidrawplugin-win.dll only existing in 32bit form) Raildriver only works on 32bit versions of JMRI. This Translates to using version 4.26 as the last 32bit compatible version.
?
So after downgrading I do actually get the "raildriver" menu item (under debug) to do something. I does actually seem like it's trying to work, unfortunately it is said that one should calibrate the deadzones least it overloads JMRI and it runs out of memory.
Well that seems to be exactly what is happening.
Where is this calibration window that never seems to appear?
|
Good morning, Dave
?
Thank you again for your thoughts.
I am using an SE74 and only have physical signals at four locations.?
I read on another post that all of the turnouts should be set up even though they don't physically have signal masts.?
I changed all the signal masts last night and still have the same original problem. I started working on turnout 01 and it has the same problem.?
I do have sectors established so I will need to correct those but nothing further.?
Also using BDL168, PR4, DCS52, 2DS64, 2DS74 all Kato track and turnouts, Digitrax signals.?
I hope this helps.?
Best
Ken
|
Steve,
What happens is that Dispatcher for transit#1 sets the crossing to thrown fro train#1? then immediately after transit#2 for train#2 causes the crossing to be set to closed. This is before train#1 has passed the crossing.
?
I have figured out that the logic for one of the signal heads at the crossing was incomplete and needed to watch the second leg of the crossing. Once I corrected that the crashes stoped from happening.
?
However when the above scenario happens both trains now stop at the crossing. If I manually toggle the crossing one train proceeds and when it has cleared the section the second train proceeds.?
?
The ConditionalNG I want to write is to automatically toggle the crossing and get the trains to continue to run automatically.
Dave's sample script and ConditionalNG looks like what I need for this.
Thanks, Jos
?
|
Dave,
The variable from the Block value is a string which is the train's roster name.
The ConditionalNG uses the Throttle-command to start and stop the train.
Jos
|