¿ªÔÆÌåÓý

Date

Locked Re: SML signal mast problem #sml

 

Ok, thanks, Dave
?
I will keep working on the signals to make them work properly.
?
Best
KenF
Ecuador


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

On 10/3/2024 9:56 AM, John Purcell wrote:
Should I use Logix or LogixNG? ?Since there is no prior usage of either I¡¯m assuming the better choice is LogixNG, it being the current rendition.
You can choose either Logix or LogixNG. I personally choose Logix, because my signaling solutions _need_ to support older JMRI versions of some of my users. LogixNG has had an annoying challenge of using new XML constructs as newer LogixNG solutions have been introduced, making it difficult for me to support older JMRI versions.

Does Logix replace all the SML assigned to that particular mast? ?Or perhaps it operates alongside and augments SML?
Augments. SML calculates its Aspects. Much of the time, the SML-calculated Aspects are just fine, and are "left alone". But not every time. The Logix which I provided deals with _one_ route thru the interlocking. It is sensitive to the SML-calculated Aspect(s) (that I dont want!) for the specific _route_, and calculates new a new Aspect for that route.

If SML produces multiple "wrong-for your situation" cases, then you may need multiple Logix (or LogixNG) conditionals; at least one conditional per "route". In this particular interlocking, I have multiple Logix "overrides" on SML, because I was unable to "force" SML and "speeds" and "special, user-defined" aspects to solve every "odd situation".

For example, I have an "Over-and-back" signal for the same "route" but in the opposite direction.

?If I am reading your example correctly, Logix is looking at the aspect SML is displaying for mast M134 Main EB, combining that with other turnout and sensor states, then overriding SML to force the desired aspect on mast M134 Main EB.
Correct.


Locked Re: How to fix a "Parse error" when loading Panel Pro panel #layouteditor

 

John P,

In the debug menu is a command to test a XML file. It will give a
cleaner error about which line caused the issue.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

John,

I had done similar things but used Logix simply because that's what
there was at the time. Key thing is making the mast changing to the
aspect the signal system picked has to be your trigger. Then you
consider all the other conditions of turnouts, blocks etc... to say
effectively "when I see this aspect set, and I see these other
conditions, set the new aspect I want" seems to work best. That way
the logic only triggers when the 'wrong' aspect is set on the mast and
triggers to see if it should be changed to something else.

My usual case was seeing it set to diverging and the logic changing
what sort of diverging.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.com


Locked Re: How to fix a "Parse error" when loading Panel Pro panel #layouteditor

 

John,

You need to upload the file to the group's ProblemsBeingWorkedOn file folder.

Dave Sand


----- Original message -----
From: John Poray <johnporay@...>
Subject: [jmriusers] How to fix a "Parse error" when loading Panel Pro panel
Date: Thursday, October 03, 2024 3:47 PM

I am getting a Parse Error message when trying to load my Panel Pro panel (I use Layout Editor; JMRI 5.2; Windows10; Java 11.0.17). It loads the panel file but the signals on the panel aren't reacting when I close or throw a turnout. I went to the JMRI Parse error help page but the solutions are beyond my knowledge level. One of the solutions instructs to, "Seek assistance on the JMRI User's Group." (see below)
?
The actual error message follows, indicating that "Content is not allowed in prolog."
?
Requesting help on how to rectify this.
Thanks,
John P.

?
?
?
Parse error
The XML file is not readable for some reason. This can be for one of two reasons:
  1. The file is not valid XML. This could be the result of editing the file to fix another error, or it's being truncated by another process. Seek assistance on the JMRI User's Group.
  2. The file does not conform to the XML schema JMRI requires file to conform to. Specific schema validations and the recommended remediation are:
    Error
    Remediation
    Attribute "error" must be declared for element type "sensoricon"
    1. Remove the text?<!DOCTYPE layout-config SYSTEM "layout-config.dtd">
    2. Replace?<layout-config>?with?<layout-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jmri.org/xml/schema/layout.xsd">.
    cvc-pattern-valid: Value 'resource:something' is not facet-valid with respect to pattern '(program:|preference:|settings:|home:|profile:|file:|http:|[a-zA-Z]:)[a-z A-Z0-9/\-_\.]*' for type 'urlType'.
    Replace all instances of?resource:?in the XML file with?program:


Locked How to fix a "Parse error" when loading Panel Pro panel #layouteditor

 

I am getting a Parse Error message when trying to load my Panel Pro panel (I use Layout Editor; JMRI 5.2; Windows10; Java 11.0.17). It loads the panel file but the signals on the panel aren't reacting when I close or throw a turnout. I went to the JMRI Parse error help page but the solutions are beyond my knowledge level. One of the solutions instructs to, "Seek assistance on the JMRI User's Group." (see below)
?
The actual error message follows, indicating that "Content is not allowed in prolog."
?
Requesting help on how to rectify this.
Thanks,
John P.
?
?
?
Parse error
The XML file is not readable for some reason. This can be for one of two reasons:
  1. The file is not valid XML. This could be the result of editing the file to fix another error, or it's being truncated by another process. Seek assistance on the JMRI User's Group.
  2. The file does not conform to the XML schema JMRI requires file to conform to. Specific schema validations and the recommended remediation are:
    Error Remediation
    Attribute "error" must be declared for element type "sensoricon"
    1. Remove the text?<!DOCTYPE layout-config SYSTEM "layout-config.dtd">
    2. Replace?<layout-config>?with?<layout-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jmri.org/xml/schema/layout.xsd">.
    cvc-pattern-valid: Value 'resource:something' is not facet-valid with respect to pattern '(program:|preference:|settings:|home:|profile:|file:|http:|[a-zA-Z]:)[a-z A-Z0-9/\-_\.]*' for type 'urlType'. Replace all instances of?resource:?in the XML file with?program:


Locked Re: SML signal mast problem #sml

 

Ken,

I have looked at the latest upload. ?It looks like the issue in this thread has been resolved.

Dave Sand


----- Original message -----
From: Ken Fordham <j.kenneth.fordman@...>
Subject: Re: [jmriusers] SML signal mast problem #sml
Date: Wednesday, October 02, 2024 7:46 AM

Good morning
I thought it might be helpful for you to know a little more about my layout.
It is a Kato Amherst 2005 modified by adding 3 additional feet because I wanted longer trains.
I have a passenger station between turnouts 22 and 14. The passenger train stops at turnout 26 to allow for passengers to board. I have a freight train that sometimes delivers cars to my grain mill in the center of the layout.?
Because I am new to the hobby some of my items on the layout are experimental like the sensors on the west side.?
I hope that helps to understand some of my ideas.
Best
Ken
?
?


Locked Re: Animating Icon On Panel #logixng

 

Another approach is to use a multi-sensor icon. That shows a different icon depending on which one of N sensors is Active. (These can be internal sensors that e.g.some logic operates on)



The example is showing 3 states of a lever, but you can have as many states as you want.

Bob

¡ª
Bob Jacobsen
rgj1927@...


Locked Re: Can you add a car to a train? #operationspro

 

On Thu, Oct 3, 2024 at 01:19 PM, Gene Tacey wrote:
Example: I have a beet dump that will have 3 or four loaded cars. Right now the program will pick up one when I build a train with that location. I want to go ahead and pick up all the loaded cars.
If you want to pick up all of your loaded cars, then the program should allow you to do so.? Something about how you have things configured is preventing the program from pulling all of the cars.? Attach the build report in very detailed mode to your next reply so we can see why the cars aren't pulled.? The solution might be as simple as changing the "Beet" load to a higher priority.? Even if you don't use custom loads, you can change the "L" load to a higher priority for a given car type.
?
?
And yes, using the "Set" button from the "Cars" window allows you can manually add the cars to a built train.
?
?
Dan


Locked Re: Animating Icon On Panel #logixng

 

¿ªÔÆÌåÓý

Seth,

Enable/disable an icon lets you control whenether the user should be able to click on it or not. For example, if you have a turnout icon, if the icon is enabled you can click on it to throw or close the turnout. If it's disabled, nothing happens when you click on the icon.

It seems to me that you want several icons on top of each other and then use the LogixNG action "Icon/Label on panel" to control which one should be visible.

Daniel


On 2024-10-02 08:04, S Olitzky wrote:

In another post someone mentioned animating their turntable display on the panel.? They said this was accomplished with logixng.
In looking at the documentation for logixng it appears that if I had multiple ICONS for the turntable that by using the
?
ICON Label On Panel (Digital Action:Display)
?
And hiding/showing the appropriate ICON, I could make an animation of the turntable
?
Is this how others have done it or is there another approach.? (I'm not sure what enable/disable for an ICON does in this logixng on a panel)
?
Thanks
Seth Olitzky
Panel Pro 5.8
Windows 11
?
?


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

¿ªÔÆÌåÓý

John,

> Should I use Logix or LogixNG?? Since there is no prior usage of either I¡¯m assuming the better choice is LogixNG, it being the current rendition.

LogixNG has much more features and is much more flexible than Logix. And it's much easier for developers to add new features to LogixNG than to Logix. So I would recommend LogixNG.

Daniel

On 2024-10-03 15:56, John Purcell wrote:

Thanks Billybob. ?
?
I was thinking I might need to add some Logix(NG) or scripting to deal with a few situations on the layout having complex, non-standard signaling needs. ?So next up is to learn Logix(NG).
?
I have a few questions.
?
Should I use Logix or LogixNG? ?Since there is no prior usage of either I¡¯m assuming the better choice is LogixNG, it being the current rendition.?

Does Logix replace all the SML assigned to that particular mast? ?Or perhaps it operates alongside and augments SML? ?If I am reading your example correctly, Logix is looking at the aspect SML is displaying for mast M134 Main EB, combining that with other turnout and sensor states, then overriding SML to force the desired aspect on mast M134 Main EB.
?
Thank you for your help.?

¡ª´³´Ç³ó²Ô.


Locked Can you add a car to a train? #operationspro

 

¿ªÔÆÌåÓý

Have looked through all the website information and the help screen. Can you add a car to a train manually? I can find all kinds of information on cars but there is nothing I can find as to how to add a car to a train. What I am trying to do is pick up cars from a specific location more prototypically. Example: I have a beet dump that will have 3 or four loaded cars. Right now the program will pick up one when I build a train with that location. I want to go ahead and pick up all the loaded cars. Is there a way to do this without cheating the system by picking them up and then changing the location manually?

Gene Tacey


Locked Re: Another way of adding roster media images without drag and drop? #rosterimage

 

¿ªÔÆÌåÓý

Steve_G,

> env -u WAYLAND_DISPLAY fullpathtopanelpro

What does this command do?

Daniel

On 2024-10-03 16:25, Steve_G wrote:

Have you tried by starting from command prompt.
env -u WAYLAND_DISPLAY fullpathtopanelpro


On Thu, Oct 3, 2024, 09:43 Steve Todd via <mstevetodd=[email protected]> wrote:
Hi Lionel,
I can duplicate the issue on my RPi5. I'm dragging a known-good .jpg file (same file works on Windows). Here is the session.log showing the error with DEBUG turned on.
--SteveT
?


Locked Re: Another way of adding roster media images without drag and drop? #rosterimage

 

On Thu, Oct 3, 2024 at 07:26 AM, Steve_G wrote:
Have you tried by starting from command prompt.
env -u WAYLAND_DISPLAY fullpathtopanelpro
Tried that just now, no visible change, same IOException.
--SteveT


Locked Re: Another way of adding roster media images without drag and drop? #rosterimage

 

Have you tried by starting from command prompt.
env -u WAYLAND_DISPLAY fullpathtopanelpro


On Thu, Oct 3, 2024, 09:43 Steve Todd via <mstevetodd=[email protected]> wrote:
Hi Lionel,
I can duplicate the issue on my RPi5. I'm dragging a known-good .jpg file (same file works on Windows). Here is the session.log showing the error with DEBUG turned on.
--SteveT
?


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

John,

You control the aspect selection by using SML path speed and route. ?This is tied to the selected signal system.
The path speed is the slowest speed of the assigned blocks and turnouts.

The default speeds for JMRI turnouts is Normal/Restricted for Close/Thrown. ?The first thing I do is change the Thrown speed.

Aspects have a speed value and a route value. ?If ALL turnouts are closed, the route is Normal. ?If ANY turnout is thrown, the route is Diverging.

The combination of route and speed is used to select the proper "ourAspect"?

The path speed can be manipulated by creating a dummy block.

Here are the changes I used to make 4136 work as expected:
  • Turnout thrown speed is set to Limited.
  • Block "Secondary" has a speed of Medium and it is assigned to 4088 destination.
  • The speed for the secondary aspects are all set to Medium in the aspect.xml file.

To simplify turnout feedback, I created a small LogixNG:

LogixNG: IQ:AUTO:0001
??? ConditionalNG: IQC:AUTO:0001
??????? ! A
??????????? Simulate turnout feedback. Delay: 3 seconds


Dave Sand



----- Original message -----
From: John Purcell <jdpurce@...>
Subject: [jmriusers] Getting SML to indicate "secondary diverging" through double crossover #5-4 #signals #sml
Date: Wednesday, October 02, 2024 10:55 PM

How do I inform SML to use the third light on a three light mast to indicate "secondary diverging"? ?Secondary diverging means route is through both crossovers.
?
In the screenshot, source mast is 4136 and destination mast is 4088. ?SML is treating the route as a standard "diverging" route and using the middle (second) head of mast 4136 to indicate diverging, when the intent is to use the lower (third) head to indicate "secondary diverging". ?(The "simple" cases where mast 4136 is source and destination is mast 4076 or 4072 work as expected.)
?
Note that I am using a modified signal system I created named "basic-enhanced" which I will contribute to JMRI after some confirmation that it works correctly. ?The basic-enhanced signal system is based on the standard "basic" signal system in JMRI, with addition of a three-head mast, an "advanced approach" indication (flashing yellow), and all icons cleaned up, renamed and gathered in one place rather than picking from other systems' icons.
?

?
Important supporting information:
  1. JMRI version is 5.4 both on computer connected to physical layout and on MacBook where editing is performed. ?Layout computer running Linux Mint. ?Both are running Azul Java 11
  2. Turnouts are in the same block as the track connected to facing point end
  3. Having the turnout in the same block as facing point track means masts cannot be placed at turnout using built-in tools as there is no block boundary at facing point end, only at the diverging and continuing ends.
  4. Signal Masts are simply placed on layout with shift-click using signal mast element from layout editor tool bar
  5. Turnouts are all Internal Turnouts because they are sense-only. ?Turnout control is via fascia panel mounted rocker switches. ?JMRI has no control over turnouts
  6. Turnout sensing is "TWOSENSOR"
  7. Turnout state and block occupancy function correctly and are reflected properly on layout. ?This is true with physical layout computer and on MacBook (when manually setting sensor state).
  8. Each crossover is created on layout using two separate turnouts
  9. SML created by hand using "Signal Mast Logic ..." selection from popup menu when right clicking on signal mast
  10. The layout is complete with block and turnout assignment, but signal logic is in beginning stage
  11. When clicking on signal masts, they cycle through the aspects correctly, so I believe that part of the signal definition is working.
  12. In simple cases, SML operates as intended and expected, but it's this double crossover case that has me stumped.
Thank you for your help.
?
--John.
?
Attaching files to this note. ?If they should be moved to files section I'm happy to move them there.
?
JMRI Panel and Table content: FWT_G_V1-99-13.xml
"basic-enhanced" signal system definition files unzipped into /xml/signals directory: basic-enhanced.zip
"basic-enhanced" image files for mast icons unzipped into /resources directory. Full path is /resources/icons/smallschematics/aspects/basic-enhanced. ?Zip file contains everything from /icons on down: icons.zip
?

Attachments:
  • FWT_G_V1-99-13.xml
  • basic-enhanced.zip
  • icons.zip


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

Thanks Billybob. ?
?
I was thinking I might need to add some Logix(NG) or scripting to deal with a few situations on the layout having complex, non-standard signaling needs. ?So next up is to learn Logix(NG).
?
I have a few questions.
?
Should I use Logix or LogixNG? ?Since there is no prior usage of either I¡¯m assuming the better choice is LogixNG, it being the current rendition.?

Does Logix replace all the SML assigned to that particular mast? ?Or perhaps it operates alongside and augments SML? ?If I am reading your example correctly, Logix is looking at the aspect SML is displaying for mast M134 Main EB, combining that with other turnout and sensor states, then overriding SML to force the desired aspect on mast M134 Main EB.
?
Thank you for your help.?

¡ª´³´Ç³ó²Ô.


Locked Re: Another way of adding roster media images without drag and drop? #rosterimage

 

Hi Lionel,
I can duplicate the issue on my RPi5. I'm dragging a known-good .jpg file (same file works on Windows). Here is the session.log showing the error with DEBUG turned on.
--SteveT
?


Locked Re: Another way of adding roster media images without drag and drop? #rosterimage

 

Hello;
?
Not at the moment, but I'll add something. Nevertheless, I've been developing that on Linux using XOrg in the past, and now Wayland for a while (with Gnome on Ubuntu), and never had any issue.
?
Check the traces, maybe you try to drag'n drop some exotic files like webp not supported now, try regular jpg or png.
?
Regards;
Lionel


Locked Re: Getting SML to indicate "secondary diverging" through double crossover #sml

 

On 10/2/2024 11:55 PM, John Purcell wrote:
How do I inform SML to use the third light on a three light mast to indicate "secondary diverging"? ?Secondary diverging means route is through both crossovers.
I have used Logix to "force" a specific aspect when SML "wants" to display a different aspect. Conditionally, it looks at the displayed aspect and switch positions so that the "consequent actions" can only apply to a given route thru the plant.

From the "Browse" display. Note that only _two_ antecedent variables are marked as "Trigger C" (alculation?) - "Diverging Clear" and "Diverging Approach". The other antecedent variables (for the route information) are _not_.

And note that I've used a "mixed" Logic Operator. That means the Logic showm on each Antecedent Variable shows "AND", while that is NOT what the Logix actually does.

=========

IX:AUTO:1002C2 M134 to M122 - over-and-back - Restricting
Antecedent: (R1 or R2) and R3 and R4 and R5 and R6 and R7 and R8 and R9 and R10
[x] R1 IF Signal Mast "M134 Main EB" Aspect is "Diverging Clear"
[x] R2 AND Signal Mast "M134 Main EB" Aspect is "Diverging Approach"
[ ] R3 AND Turnout "BY1" state is "Turnout Thrown"
[ ] R4 AND Turnout "BYEX" state is "Turnout Thrown"
[ ] R5 AND Turnout "BYWX" state is "Turnout Thrown"
[ ] R6 AND Sensor "BY1V Switch Contact" state is "Sensor Inactive"
[ ] R7 AND Sensor "BY2V Switch Contact" state is "Sensor Inactive"
[ ] R8 AND Sensor "BY3V Switch Contact" state is "Sensor Inactive"
[ ] R9 AND Sensor "BY4V Switch Contact" state is "Sensor Inactive"
[ ] R10 AND Sensor "BY5V Switch Contact" state is "Sensor Inactive"

THEN
On Change To True, Set Signal Mast Aspect, "M134 Main EB" to Restricting

=========

Sure, it's "not simple". But signaling rarely is!

Regards,
Billybob