¿ªÔÆÌåÓý

Date

Locked Re: panel xml file corrupted

 

Hi, yes there is a main script running that waits on TCP/IP connections from a remote raspberry Pi that is controlling the physical devices. When I save the panel there are no active communication? happenig but there is a thread on the JMRI instance sitting and waiting for incomming messages.

Thanks Jim


Locked Re: panel xml file corrupted

 

James,

Each of your internal sensors has the property attached. It appears to be a reference to a Python based listener.

Are you running any scripts while JMRI is running? Any other software that might communicate with JMRI?

Dave Sand

On Nov 8, 2018, at 12:58 PM, James Anderson <james_anderson_999@...> wrote:

sorry - worked it out I have put it there.


Locked Re: BD20 block detection

 

Very funny Dave, laugh out loud. Thanks very, very much for all your help. Tonight I will connect some new BD,s to the new AIU and I don¡¯t expect to have any problems. I am learning a lot.
Cheers.


Locked Re: Injecting a delay between turnout operations

 

BTW I use feedback on my module and so far one other module in our group has it. It is really cool to watch the signals dropping back to red as a train passes. The feedback is on the mainline turnouts and block detection, which also stops routes being set into occupied blocks or oncoming traffic.
?
See here for them operating, a bit long but shows the signals changing.


Mike


Locked Re: panel xml file corrupted

 

sorry - worked it out I have put it there.


Locked Re: Injecting a delay between turnout operations

 

Several ways I can think of to cut down on interference.
1. Can the decoder and motor supplies be separated? If not use the decoder to switch a relay that then uses a different supply to operate the motors. I've done this for other reasons, using latching relays, they then remember the last position and can be used by pulse output decoders.
2. Fit VDRs (voltage dependant resistors) across the motor connections, these will cut off any high voltage spikes, I had to use them on some Fulgurex motors which messed up a hardwired signal system.
3. If voltage is dropping when motors operate fit a larger capacity supply if the voltage drops at the power supply. If the power supply end is ok run larger cables to the decoder / motors. We had this on a modular layout where the wire runs were long or used small wire.

Mike


Locked Added sensors and logix to panels. The sensors and logix have disappeared

 

After extensive work (and frequent saves), all the sensors and logix have disappeared no that I have quit JMRI and restarted it. I can see (by looking at the raw XML) that those elements are still present but JMRI is ignoring them. I have edited the files only with the Layout Editor (though I have looked at them several times with a text editor, but never saved from that). The environment is:
Windows 8.1 Pro
JMRI 4.13.3
Java 1.8.0_181
Digitrax (DCS 240 with LocoBuffer USB connection)

The only error messages in the log are about "No assigned Turnout" for several blocks (log will be uploaded to folder "Scott_Walton_Panels). An addition (though minor) problem is that one panel (Pennsy_West_Main) when "Zoom to fit" becomes very small -- there must be some element way outside the boundaries but I can't seem to find it.

I hope someone can help find the problem. If you do find it, I would like to know what the issue is, so I don't feel quite so helpless in the future.

Scott Walton


Locked Re: panel xml file corrupted

 

Thanks - how do I do that?


Locked Re: panel xml file corrupted

 

Jim,

Upload the corrupted file to the ProblemsBeingWorkedOn area. This will simplify the analysis since we will have the full context.

Dave Sand

On Nov 8, 2018, at 12:37 PM, James Anderson <james_anderson_999@...> wrote:

Hi, I have hit a problem that when I save a panel it comes up as corrupted when I try to reload it.

Looking at the panel after I save it, the lines it objects to are with the <properties> tag

<properties>
<property>
<key>ISBS1</key>
<value class="org.python.proxies.__builtin__$_LISTENER$28">org.python.proxies.__builtin__$_LISTENER$28@1c998ae</value>
</property>
</properties>

I go through and manualy delete all references to the properies tag then all is OK once again.

can anyone help?

Thansk jim


Locked panel xml file corrupted

 

Hi, I have hit a problem that when I save a panel it comes up as corrupted when I try to reload it.

Looking at the panel after I save it, the lines it objects to are with the <properties> tag

????? <properties>
? ?? ????? <property>
?? ? ? ????? <key>ISBS1</key>
?? ? ? ? ???? ? ?? <value class="org.python.proxies.__builtin__$_LISTENER$28">org.python.proxies.__builtin__$_LISTENER$28@1c998ae</value>
???? ? ? ? </property>
????? </properties>

I go through and manualy delete all references to the properies tag then all is OK once again.

can anyone help?

Thansk jim


Locked Re: Injecting a delay between turnout operations

 

Iain,

The Logix actions all occur one after another with no delays. When delay is specified, the action is assigned a timer which will eventually execute the action.

You need to stagger the delays: T1 - 1sec, T2 - 2 secs, T3 - 3 secs, etc. This results in them going 1 second apart.

Dave Sand

On Nov 8, 2018, at 12:11 PM, Iain <iain@...> wrote:

Thanks Steve,

Now is there anyone out there who can tell me how to increase the throw delay on a turnout using any part of the user interface.

Routes allows me to set a delay of a maximum of 1.25 secs, and I have that working -- but I need more.

I have tried Logix, but (see above #153323) set delayed does not do what you (I?) would expect - it add all the delays together.

Iain


Locked New file uploaded to [email protected]

[email protected] Notification
 

Hello,

This email message is a notification to let you know that a file has been uploaded to the Files area of the [email protected] group.

File: Pennsy_West_Yard.xml

Uploaded By: Scott Walton

Description:
Panels (two) with missing sensors and logix

You can access this file at the URL:
/g/jmriusers/files/ProblemsBeingWorkedOn/Scott_Walton_Panels/Pennsy_West_Yard.xml

Cheers,
The Groups.io Team


Locked Re: Injecting a delay between turnout operations

 

Thanks Steve,

Now is there anyone out there who can tell me how to increase the throw delay on a turnout using any part of the user interface.

Routes allows me to set a delay of a maximum of 1.25 secs, and I have that working -- but I need more.

I have tried Logix, but (see above?) set delayed does not do what you (I?) would expect - it add all the delays together.

Iain


Locked Re: Injecting a delay between turnout operations

 

Hi Iain,?

I code Java, php, Python + xml with notepad++ , it's whatever you're most comfortable with :-)

As long as you take a backup of the layout xml before having a play you should be fine, you'll need to restart JMRI for any changes to have effect,
I'd strongly recommend 1 change at a time!

Not sure about editing turnout settings in the xml, I'd say the User Interface will steer towards getting towards what you want than editing the xml,
others may be able to advise more on this.

As I'm using the MERG CBUS kits I can sense a point position ( via micro-switch ) for about 60p each ;-)
I think you'd be surprised how many people have block? + point detection, it's not particularly difficult to setup ( especially if using Servo's ).

I'm not advocating in any way that you rip up your existing layout though, there should be an easy-ish way to do what you want,

Steve.


Locked Re: Lap Counting Script

 

¿ªÔÆÌåÓý

Steve

Thanks for such a prompt reply.?

That is exactly what I¡¯m looking for

I will certainly give this a go. I maybe back to you if I struggle?


Thanks?

Again?


Cheers?

Peter?


On 8 Nov 2018, at 17:31, steve young via Groups.Io <icklesteve@...> wrote:

Hi Peter,

I've done this via Memory Variables so the count will be maintained between sessions.

I've got 6 memory variables for this,
IMSESSIONCLOCKWISE
IMSESSIONBOTH
IMSESSIONANTICLOCKWISE
IMALLTIMECLOCKWISE
IMALLTIMEANTICLOCKWISE
IMALLTIMEBOTH


For my test loop, when a train enters a block in clockwise direction then it calls a script which has the following Jython script :

#session clockwise
?
sessionclock=memories.provideMemory("IMSESSIONCLOCKWISE")
sessionclockvalue=int(sessionclock.getValue())+1
sessionclock.setValue(sessionclockvalue)
?
#session both
sessionclock=memories.provideMemory("IMSESSIONBOTH")
sessionclockvalue=int(sessionclock.getValue())+1
sessionclock.setValue(sessionclockvalue)
?
?
#alltime clockwise
?
alltimeclock=memories.provideMemory("IMALLTIMECLOCKWISE")
alltimeclockvalue=int(alltimeclock.getValue())+1
alltimeclock.setValue(alltimeclockvalue)
?
#alltime both
?
alltimeclock=memories.provideMemory("IMALLTIMEBOTH")
alltimeclockvalue=int(alltimeclock.getValue())+1
alltimeclock.setValue(alltimeclockvalue)
which increments the stats by 1, another script along the same lines increments the anti-clockwise counts.
The memory variables display fine in the panels I've done this with.
To reset the session counts I've got a button which sets the memory variables to 0 via a logix action.

It would be nice at some point to increment a value directly within logix actions, however a project for another day.

Hope this helps,
Steve.


Locked Re: Mobile Control II and Side bottons

 

Roland:

Matt will need to sort this out but... I have two of the MCII throttles one the first one I had only "one shots" the horn button though the screen F2 holds until you stop touching it. The other throttle has the button work like the touch screen.

I do not see any preference to change this so I have to assume some change in the hardware since both throttles are running the same firmware, OS and WiThrottle...

Stay tuned sports fans...

Jim Albanowski


Locked Re: Lap Counting Script

 

Hi Peter,

I've done this via Memory Variables so the count will be maintained between sessions.

I've got 6 memory variables for this,
IMSESSIONCLOCKWISE
IMSESSIONBOTH
IMSESSIONANTICLOCKWISE
IMALLTIMECLOCKWISE
IMALLTIMEANTICLOCKWISE
IMALLTIMEBOTH


For my test loop, when a train enters a block in clockwise direction then it calls a script which has the following Jython script :

#session clockwise
?
sessionclock=memories.provideMemory("IMSESSIONCLOCKWISE")
sessionclockvalue=int(sessionclock.getValue())+1
sessionclock.setValue(sessionclockvalue)
?
#session both
sessionclock=memories.provideMemory("IMSESSIONBOTH")
sessionclockvalue=int(sessionclock.getValue())+1
sessionclock.setValue(sessionclockvalue)
?
?
#alltime clockwise
?
alltimeclock=memories.provideMemory("IMALLTIMECLOCKWISE")
alltimeclockvalue=int(alltimeclock.getValue())+1
alltimeclock.setValue(alltimeclockvalue)
?
#alltime both
?
alltimeclock=memories.provideMemory("IMALLTIMEBOTH")
alltimeclockvalue=int(alltimeclock.getValue())+1
alltimeclock.setValue(alltimeclockvalue)
which increments the stats by 1, another script along the same lines increments the anti-clockwise counts.
The memory variables display fine in the panels I've done this with.
To reset the session counts I've got a button which sets the memory variables to 0 via a logix action.

It would be nice at some point to increment a value directly within logix actions, however a project for another day.

Hope this helps,
Steve.


Locked First layout. Do the blocks seem sensible (and other questions)

 

Greetings all.?Here is a picture of my first go at a layout for my dining room table top. It's not immediately clear from the picture but the Upper East/West Loop is elevated above the yard and main.

I'm wondering if the blocks make sense? I'd like to get to a point I can automate the simultaneous running of 3 trains using block detection for collision avoidance using the NCE BD20s (plus PowerCab, NCE USB/AIU.) JMRI runs on an RPI3. I do have an Arduino loaded with DCC++ and am waiting on a motorshield but so far I appreciate the low barrier to entry with the NCE stuff if it will work for me.

Couple of questions:

1) Do I need to add physical signals right off the bat to achieve this or is that more of an element for realism I can add down the line??

2) Among many things I don't quite grasp yet is once block occupancy is established, how does JMRI know which train to hold to avoid a collision? Suppose train 2814 is coming clockwise along Westerly Pass. Train 3201 is approaching counterclockwise on North Main. And lets say traffic on the Main always gets the right of way. How does JMRI establish that it's 2814 it needs to address and hold till North Main is clear? Do I need additional inputs to achieve this like Transponding or RFID? Or can you just kill track power to a block with the effect of holding whatever train is on it? (In that case I'd have to modify my blocks so turnouts were isolated from power cuts.)

I started out on this a couple weeks ago for my toddler who's into trains but I've been having a ton of fun with this. Thanks in advance!

jb


Locked Lap Counting Script

 

Hello everyone

Has anyone produced a script for counting laps?

I would be interested if there was such a script which is triggered by a Sensor and then displaying the count on the screen

I assume a resent option would be required

Cheers

Peter


Locked Re: Injecting a delay between turnout operations

 

Steve,

Sorry if my childish '12" to the foot' upset you - it's the local way of saying "as per the real worlds" or "to prototype".

I don't know where you are based, but here in the north of the UK I know of no-one with large layout and turnout setting feedback - it's an expensive enough hobby and we prefer to spend the money on other types of hardware.

Anyway, enough of that irrelevance. I haven't tried your:

"In your panel xml file look out for? ?
<signalmastlogics class="jmri.managers.configurexml.DefaultSignalMastLogicManagerXml">
? ? <logicDelay>500</logicDelay>"

Is it OK to play about with these files?? I have a copy of Notepad++ which will present most programming files to me cleanly - and I think XML is on the list.

If it is OK - is there something similar for the turnouts (currently 250 ms I believe?) - if so can you point me at that one too?