¿ªÔÆÌåÓý

Locked Signal Mast Appearance definition file


 

Hello. I am trying to learn how to set up Signal Mast logic. The JMRI documentation "JMRI: Signal Mast Logic" is pretty good but has me stumped when it talks about the?Signal Mast Appearance definition file. I've loaded a sample panel file (AFarfelu16Fadj1.xml) in order to learn something, but can't figure out where the?Signal Mast Appearance definition file would be for this. Nor do I know how to view r modify it. Thanks!


 

"Haltz" (or whatever "friendly name" you would prefer),

Setting up JMRI "signal mast logic" _does not require_ that you modify any "Signal Mast Appearance definition file" if you are using one of JMRI's pre-defined "Signaling Systems".

If you are using a pre-defined "Signaling System", have you looked at the "JMRI: Signaling Quickstart" page ( )? This may be a better place to look for help on setting up some signaling than the "JMRI Signal Mast Logic" page.

If you are indeed creating a new "Signaling System", then it will be necesasry necessary to create one or more "Signal Mast Appearance definition files". Information on this may be found in the "JMRI: Defining your own Signaling System" page ( ). "Signal Mast Appearance definition files" are part of the "Signaling System" files. File location information for "Signaling System" files may be found in the first paragraph of the "Creating a new Signaling System" section of the "JMRI: Defining your own Signaling System" page.

Regards,
Billybob


 

Thanks, Billybob, vey helpful. I was just trying to figure out what the logic is as described in the "JMRI Signal Mast Logic" page. There it says (italics mine):

"Which Aspect our source Signal Mast displays after being released from "Danger" is firstly determined by the Aspect mapping that has been defined in the Signal Mast Appearance definition file. If there is only one Aspect that could be displayed, then the Signal Mast will be set to that Aspect.
However if multiple Aspects could potentially be displayed then the logic looks at two areas to determine the resulting Aspect to be displayed:"...Diverging Route...Block/Signal Speed..."

That's why I was trying to look at a definition fie, but didn't know which one to look at nor how to look at it (short of reading xml, which is fine as a last resort)
I'll look closer at all you wrote and maybe understand better. Thanks again, Hal.


 

Hal,

In order to understand the internals of signal mast logic does require looking at xml files.

When a signal mast is defined in the JMRI Signal Mast table, the?Signal System and Mast Type are selected. ?The same Signal System is used for all of the masts.

Each mast type has an appearance-??????.xml file in the signal system directory. ?The <name> element has the user friendly name that is shown in JMRI.

The <appearances> section defines what the mast looks like, including the icons to be displayed on a JMRI panel.

The <aspectMappings> section defines what aspect should be displayed based on the current aspect of the next signal mast. ?A <aspectMapping> set is defined for each possible aspect as defined in aspects.xml. ?The next aspect name is defined using <advancedAspect>. ?This is followed by one or more <ourAspect> entries using one of the appearances listed in the <appearances> section.

If more than one <ourAspect> is listed, then the route and speed values in the aspects.xml file are used to determine the correct aspect for the mast.

The speed is based on the Path Speed as shown in the Signaling Mast Pairs SML window. ?This is based on block and turnout speeds.

The route is Normal if all turnouts are normal and Diverging if any turnout is diverging.

I hope I have not made things more confusing.

Dave Sand



On Sep 19, 2019, at 7:40 AM, haltz@... wrote:

Thanks, Billybob, vey helpful. I was just trying to figure out what the logic is as described in the "JMRI Signal Mast Logic" page. There it says (italics?mine):

"Which Aspect our source Signal Mast displays after being released from "Danger" is firstly determined by the?Aspect mapping that has been defined in?the Signal Mast Appearance definition file.?If there is only one Aspect that could be displayed, then the Signal Mast will be set to that Aspect.
However if multiple Aspects could potentially be displayed then the logic looks at two areas to determine the resulting Aspect to be?displayed:"...Diverging Route...Block/Signal Speed..."

That's why I was trying to look at a definition fie, but didn't know which one to look at nor how to look at it (short of reading xml, which is fine as a last?resort)
I'll look closer at all you wrote and maybe understand better. Thanks again, Hal.


 

David¡¯s explanation is right, but should be prefixed.

If you¡¯re just _using_ signal masts, you don¡¯t need to worry about any of this. Look at the various signal systems linked on this page: Pick the one you want, then select it when creating your signal masts. That¡¯s all that¡¯s needed. Each of those systems is defined by multiple files. The help pages describes how it works, because some people want to know that. That¡¯s fine. But the existing systems _do_ work, and those web pages show what they do. All you have to do is pick one.

Bob


On Sep 19, 2019, at 5:58 PM, Dave Sand <ds@...> wrote:

Hal,

In order to understand the internals of signal mast logic does require looking at xml files.

When a signal mast is defined in the JMRI Signal Mast table, the Signal System and Mast Type are selected. The same Signal System is used for all of the masts.

Each mast type has an appearance-??????.xml file in the signal system directory. The <name> element has the user friendly name that is shown in JMRI.

The <appearances> section defines what the mast looks like, including the icons to be displayed on a JMRI panel.

The <aspectMappings> section defines what aspect should be displayed based on the current aspect of the next signal mast. A <aspectMapping> set is defined for each possible aspect as defined in aspects.xml. The next aspect name is defined using <advancedAspect>. This is followed by one or more <ourAspect> entries using one of the appearances listed in the <appearances> section.

If more than one <ourAspect> is listed, then the route and speed values in the aspects.xml file are used to determine the correct aspect for the mast.

The speed is based on the Path Speed as shown in the Signaling Mast Pairs SML window. This is based on block and turnout speeds.

The route is Normal if all turnouts are normal and Diverging if any turnout is diverging.

I hope I have not made things more confusing.

Dave Sand



On Sep 19, 2019, at 7:40 AM, haltz@... wrote:

Thanks, Billybob, vey helpful. I was just trying to figure out what the logic is as described in the "JMRI Signal Mast Logic" page. There it says (italics mine):

"Which Aspect our source Signal Mast displays after being released from "Danger" is firstly determined by the Aspect mapping that has been defined in the Signal Mast Appearance definition file. If there is only one Aspect that could be displayed, then the Signal Mast will be set to that Aspect.
However if multiple Aspects could potentially be displayed then the logic looks at two areas to determine the resulting Aspect to be displayed:"...Diverging Route...Block/Signal Speed..."

That's why I was trying to look at a definition fie, but didn't know which one to look at nor how to look at it (short of reading xml, which is fine as a last resort)
I'll look closer at all you wrote and maybe understand better. Thanks again, Hal.
--
Bob Jacobsen
rgj1927@...


 

Hal,

Ok - with a better understanding of what you are trying to do, here's a better answer.

Assuming that you are working with a pre-defined JMRI "signal system", simply look at the JMRI web site page on "Aspect Signaling" and its list of available pre-defined Signal Systems (at ). Click on the particular signal system you are interested in - AAR-1946, for example (at ).

Each page as a headling like "Signal Mast definitions:" followed by a list of links to the different mast types supported by the signaling system defintion. **Click on one of those listed mast types for a human-readable interpretation of the various XML files for that specific mast type.**

As an example, the AAR-1946 JMRI signalling system defines 12 different "mast" types. To see the appearance definition information for the "Double searchlight dwarf signal" mast type, select that mast type's link (at ).

That linked page is titled **JMRI ": Double head dwarf signal" Appearance Table** and shows:
- any descriptive text in the mast definition
- for each defined aspect, the colors displayed on each head, and the screen icon which can appear on a JMRI panel when the panel mast is giving a particular aspect, and any "reference text" provided with the aspect definition
- a table showing the "aspect mapping" for the mast.
- a table showing any "specific appearance mapping". Most importantly, this table will generally define a mapping between the JMRI generic term "Danger" - the most-restrictive aspect for the mast, and the aspect shown by the mast for that condition. In US signaling practice, this is typically the "Stop" aspect or the "Stop and Proceed" aspect.

While the content of these pages are missing some text (see below), the page contents which do appear is largely intact and still may be helpful for your purposes!

To interpret the aspect mapping table, consider a sequence of two signals: the signal being controlled and the next signal in advance of that signal. This is a "forward-looking" view, not a "backward-looking" view. The aspect to be displayed on "this" signal does not care what the aspect is or was on a signal which has already been passed. But it _does_ depend on the aspect of the signal which next will be encountered!

Consider a train approaching "the signal being controlled". It's possible aspects are constrained, in part, by the aspect of the next signal in advance (i.e. the second signal to be encountered by the train). The table's left column shows the "name" of the signal rule for the state of the signal in advance. The table's right column shows the possible states of the "signal being controlled" in the "Our Aspect" column of the table.

In the example above, if a train is approaching a signal, the possible aspects it can display depend on the aspect shown by the next signal in advance. If that next signal is displaying "Limited Clear", then the signal being approached may display either "Approach Medium" or implicitly, the mast's "Danger" aspect. Alternately, if if the next signal is displaying "Approach", then the signal being approached may display either "Advance Approach", Approach Medium", "Slow Approach", or, implicitly, the mast's "Danger" aspect.

FYI - The aspect mapping table will typically include one row for each possible aspect that can be displayed on a signal in advance of the one which is being defined. Since any one mast type can typically "protect" movement toward any other mast type (in a given signaling system definition), there is typically one row per possible unique aspect that can be displayed by _any_ mast type in the signaling system.

Unfortunately, it appears that some recent web page re-organization work is incomplete. This means that the individual mast-specific pages are not rendering correctly. This leaves these pages partially "broken", with some missing text. I have filed an issue with the JMRI development team.

Regards,
Billybob


 

¿ªÔÆÌåÓý

From what I can see in the reference below, and the links on its page, I believe that semaphores are not covered in any of the existing tables; that they are set up only for lights. Am I correct?


Peace,

Mike G.

On 9/19/2019 10:57 AM, billybob experimenter wrote:

Assuming that you are working with a pre-defined JMRI "signal system", simply look at the JMRI web site page on "Aspect Signaling" and its list of available pre-defined Signal Systems (at  ). 


 

Mike wrote:
"From what I can see in the reference below, and the links on its page, I believe that semaphores are not covered in any of the existing tables; that they are set up only for lights. Am I correct?"

"Yes and No" (one of my _favorite_ answers!).

- Most JMRI signaling system definitions do not _specifically_ call out masts with "semaphore-style" heads. Exceptions include "B&O-1980", "B&O-Semaphore" and "BR-2003".

- JMRI signaling system definitions are _not required_ to define _every_ style of signal head that a given railroad actually used. Depending on which head styles the JMRI developer was willing to create, given signaling system may or may not include "semaphore-shaped" icons. Some pre-defined JMRI signaling systems have defined masts with a greater variety of "head" types than others.

- It is important to note that many prototype railroad rule books define their signaling rules in a very simplified way. The rule book I have most easily available states "The aspects may be shown by color of lights and by the position of semaphore arms." That rule book does _not_ specify which types of signal heads present a "color of light". So a given signal aspect might be conveyed by any signal head type: semaphore, searchlight, color-light, color-position-light, position-light, etc.

- From the perspective of the icons on a JMRI panel, most users find that it does not matter what the icon looks like, so long as it correctly represents the "aspect" of the associated signal mast and so long as it is properly interpretable on the finished panel. So a layout might physically implement a combination of semaphore and position-light signals, but the panel might only show "searchlight" icons. This can be thought of as a simple matter of practicality, ease panel development, and/or ease of interpretation by a panel viewer.

One key thing to understand is how to map control of a given model of a physical signal to something that JMRI can control. In many cases, this is done via proper configuration of a JMRI "Signal Head" object which controls a given head on the physical signal, and in other cases it is via proper configuration of a JMRI "Signal Mast" object. Which of these two defines the hardware interactions between JMRI and the physical signal depends on exactly what signaling hardware you are using, and can be very layout-specific. If interested in that topic, I suggest that you investigate the hardware you are using and how it is proprerly controlled via JMRI, and relate that to the JMRI "Signal Heads" and "Signal Masts" documentation. If you need further help on that topic, feel free to start a new thread...

Regards,
Billybob


 

I found a different way to view the signal system mast appearance files that will properly view the files and display all of the information even though the files don't "correctly" reference the JMRI web site. (At least it does on my computer!)

I did this by:
- opening PanelPro.
- Starting the "JMRI Web Browser" via Tools->Start JMRI Web Browser
- Used a web browser to open a page on the JMRI Web Browser. By default, the URL is your computer's IP address followed by ":12080". So a typical URL would be "192.168.1.5:12080" (without the quotes). Your computer's IP address is likely to be different, though.
- scroll to the bottom right of the page, in the "File Access" section of the page, and click on the "/xml/signals" link. This gives a list of the JMRI-defined "Signaling Systems". Click on the one you want, for example AAR-1946. Then click on one of the appearance files. This gives the complete output.

Regards,
Billybob


 

On Thu, Sep 19, 2019 at 07:55 PM, billybob experimenter wrote:
Unfortunately, it appears that some recent web page re-organization work is incomplete. This means that the individual mast-specific pages are not rendering correctly. This leaves these pages partially "broken", with some missing text. I have filed an issue with the JMRI development team.

Regards,
Billybob
Billybob,

This issue should now be fixed.

Thanks for raising it.

Best regards,

Matt H


 

Thanks all for the clarifications. I'll try to digest it all (with a Tums or two), but for now, since I'm just starting with signalling, I think I'm gong back to SSL and signal heads. Thanks again! Hal


 

¿ªÔÆÌåÓý

Hal,

Do not be fooled into thinking that SSL is simpler than aspect based signaling. It most definitely is not. The 'Simple' in the name means Simplistic, not easy. You wind up having to do strange things and add invisible signals to do even easy things like crossovers properly. It was all that was originally available in JMRI until things got advanced enough so that JMRI could follow actual prototype rules. Now that JMRI can use actual signal rules for different railroads, using SSL is sort of like filling out your taxes with quill pen and abacus instead of getting a copy of Quicken because you want to keep things 'simple'.

There is no more reason to understand the details of the aspect based signaling control files than there is a need to understand your ECU in order to drive to work.

Dick :)

On 9/20/2019 4:06 PM, haltz@... wrote:

Thanks all for the clarifications. I'll try to digest it all (with a Tums or two), but for now, since I'm just starting with signalling, I think I'm gong back to SSL and signal heads. Thanks again! Hal


 

Some of the systems include semaphores such as BR-2003 and BNSF-1996 for example - there may be others. Which system do you require?


 

FYI -- Czechoslovak State Railways -- mechanical signals


--
Petr ?¨ªdlo
Czech Republic