Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Locked Some questions about signaling and the best way to debug the layout
I've been building a Panel with the mainline for my railroad with quite a few signals on it and have several questions about how to debug the panel. I'd really like to know HOW to diagnose the problems, rather than have someone just fix the panel. The panel is located in the ProblemsBeingWorkedOn folder, under "Scott_Walton".
1. The ends of the layout still haven't been connected (it's an around the wall layout and I need to get my toolbox in and out still). What's the best way to place a signal at an "End Bumper" and set it to permanent Stop? How do you handle the Destination mast for a signal that doesn't have one? 2. I have named the blocks for the layout extension, but they don't have track yet. Is there a way to set a sensor to "Occupied" when it doesn't exist yet? (Short of putting a resistor across a block sensor and associating with the non-existent block? 3. I have phantom blocks. I know they don't exist, but when deleting them, Layout editor says they are in use in the panel. How do I find the object that uses them (either looking at the XML, or looking at the panel)? 4. Some of the signal masts find destination masts that seem to be far away (an example is "Sg_I34", which finds mast "Sg_I11", which should be several blocks away. So far the only way I've found is looking at "Block Routing" for several blocks and slowly narrowing down the bad block location by steadily reducing the Hop Count to the bad block. There has to be a better way! I wish there was a way to see the object names for the blocks, signals, turnouts and so forth, without selecting and editing each. Scott Walton |
Scott, 1. ?An end bumper is a block boundary. ?I create a virtual mast and attach it like any other mast using the right click context menu and select "Set Signal Mast...". ?This provides a destination mast. ?When a mast is the destination for signal mast logic, it will default to the "danger" aspect as defined in the appearance xml file for the mast. ?This will normally be Stop. A virtual mast can also be used at the transition from signaled to "dark" territory. ?For this case I use an initialization Logix to set the desired aspect. 2. ?I use a Route to set default values for future sensors (and for simulation mode). ?I use the LRoute Initializer to set the layout state during startup. ?It sets a "Reset" sensor which then triggers appropriate Routes and/or Logixs. 3. ?Your "Layout Editor >> Tools >> Check" items all look good for the Pennsy West Main panel. ?To see where a block is used, select the block on the tool bar and click on Highlight. ?You may need to check both panels. 4. ?If you have been making a lot of block changes, it helps to use the Tools >> Tables >> Blocks >> Paths >> Delete paths menu item. ?After doing a Store/Stop/Start/Open sequence, the block paths will be re-created. ? A double cross-over can cause strange behavior. ?Signal mast logic may not find all of the routes and may create a route the turns 180? in the cross-over. ?The bad SML has to be deleted and the missing ones created manually. The easiest method to find references is to search the xml file. ?The challenge is understanding the format of the file. ?Also, references are sometimes by system name and sometimes by user name. Dave Sand ----- Original message ----- From: Scott Walton <jscottwalton@...> Subject: [jmriusers] Some questions about signaling and the best way to debug the layout Date: Saturday, February 01, 2020 8:45 AM I've been building a Panel with the mainline for my railroad with quite a few signals on it and have several questions about how to debug the panel. I'd really like to know HOW to diagnose the problems, rather than have someone just fix the panel. The panel is located in the ProblemsBeingWorkedOn folder, under "Scott_Walton". 1. The ends of the layout still haven't been connected (it's an around the wall layout and I need to get my toolbox in and out still). What's the best way to place a signal at an "End Bumper" and set it to permanent Stop? How do you handle the Destination mast for a signal that doesn't have one? 2. I have named the blocks for the layout extension, but they don't have track yet. Is there a way to set a sensor to "Occupied" when it doesn't exist yet? (Short of putting a resistor across a block sensor and associating with the non-existent block? 3. I have phantom blocks. I know they don't exist, but when deleting them, Layout editor says they are in use in the panel. How do I find the object that uses them (either looking at the XML, or looking at the panel)? 4. Some of the signal masts find destination masts that seem to be far away (an example is "Sg_I34", which finds mast "Sg_I11", which should be several blocks away. So far the only way I've found is looking at "Block Routing" for several blocks and slowly narrowing down the bad block location by steadily reducing the Hop Count to the bad block. There has to be a better way! I wish there was a way to see the object names for the blocks, signals, turnouts and so forth, without selecting and editing each. Scott Walton |
Do the signaling parts of XML files display well when opening in a browser from the JMRI web server? (The file is translated via XSLT when that¡¯s done, but not all of the XSLT formatting is up to date)
Bob On Feb 1, 2020, at 10:23 AM, Dave Sand <ds@...> wrote:-- Bob Jacobsen rgj1927@... |
Bob,
toggle quoted message
Show quoted text
I have not noticed any issues with displaying the signaling aspect and appearance XML files using XSLT. If I understood correctly, Scott was looking for a global cross-reference. The "Tools >> Find Cross References" menu item in the Logix table does this but only for a specified item. It appears to have some issues with items that have the same user name in different classes. Dave Sand ----- Original message -----
From: Bob Jacobsen <rgj1927@...> To: [email protected] Subject: Re: [jmriusers] Some questions about signaling and the best way to debug the layout Date: Saturday, February 01, 2020 12:31 PM Do the signaling parts of XML files display well when opening in a browser from the JMRI web server? (The file is translated via XSLT when that¡¯s done, but not all of the XSLT formatting is up to date) Bob On Feb 1, 2020, at 10:23 AM, Dave Sand <ds@...> wrote:-- Bob Jacobsen rgj1927@... |
Thanks -- that was quite helpful. Of course that led to further questions --
It seems that LRoutes and Double Crossovers only understand Signal Heads and not Masts. So how do I associate a Signal Mast with a crossover (I only get the option to place Signal Heads)? I did manage to place a Signal Mast at the boundary of the next track segment and it successfully discovered the correct destinations through that crossover. Perhaps my problem is that I (luckily?) created my double crossover with track segments out of each of the four corners. I finally find the "LRoute Initializer" under the "Add LRoute", as a radio button. It sure would be nice if that were documented somewhere. (Based on your mention of it I started digging and finally found it -- the only mention seems to be where Bob Jacobsen calls it out in the release notes for 2.12). I'll use that to set up some of my sensors, though it looks like I can't actually set Masts. Scott |
Sorry, I meant the various block, logic, etc, parts that live in a panel file. If that all displays nicely in a browser, then it would be easy to move around with ^F (or equivalent) to see what references a given name.
toggle quoted message
Show quoted text
Bob On Feb 1, 2020, at 11:13 AM, Dave Sand <ds@...> wrote: |
Bob,
toggle quoted message
Show quoted text
I was able to get the browser view working. I had to change the style sheet href and disable cross-origin restrictions in the Safari Developer menu. The XSLT appears to work OK for most things. The blocks section is not picking up the block user name or the assigned sensor. The layout editor track segment does not include block assignments. The layout turnout entry does include the first block name, but not the additional blocks for cross-overs. I am thinking about creating a "Where Used" tool. This would replace the existing getTypeAndNames method in jmri.jmrit.beantable.Maintenance, currently accessed via the Logix Tools menu. Dave Sand ----- Original message -----
From: Bob Jacobsen <rgj1927@...> To: [email protected] Subject: Re: [jmriusers] Some questions about signaling and the best way to debug the layout Date: Saturday, February 01, 2020 1:58 PM Sorry, I meant the various block, logic, etc, parts that live in a panel file. If that all displays nicely in a browser, then it would be easy to move around with ^F (or equivalent) to see what references a given name. Bob On Feb 1, 2020, at 11:13 AM, Dave Sand <ds@...> wrote: |
I¡¯m not a LayoutEditor user, unfortunately. Is there a sample file somewhere that I can use as an example? Ideally one with just a few of each kind of thing.
Bob On Feb 1, 2020, at 1:19 PM, Dave Sand <ds@...> wrote:-- Bob Jacobsen rgj1927@... |
I improved the handling of the blocks section and track segments. I also cleaned up the instructions:
Let me know what¡¯s missing; I¡¯m sure it¡¯s not complete! Bob On Feb 1, 2020, at 1:19 PM, Dave Sand <ds@...> wrote:-- Bob Jacobsen rgj1927@... |
Hi Bob
This looks very useful and I hadn't realised it was built in. Is there an easy way to debug it when it fails? I have a panel that simply returns "Error loading stylesheet: Parsing an XSLT stylesheet failed." An example failing panel can be found in /g/jmriusers/files/ProblemsBeingWorkedOn/Andy%20Brown%20-%20161045/MavinsHillsSMFailure.jmri.zip I tried to view it using a recent dev release JMRI.4.19.3ish+jenkins+20200203T0523Z+Rfc1deeba0 on Ubuntu 19.04 using Firefox 72.02 with java 11.0.6 (en). Thanks Andy |
Sorry for the problem, thanks for the file to confirm. There will be a fix later today.
In the meantime, if you change this line near the top of the file from <?xml-stylesheet href="/xml/XSLT/panelfile-2-9-6.xsl" type="text/xsl¡±?> I hope it will bypass the problem. Debugging depends a lot on what you¡¯re using for a browser, as the formatting is done right in the browser. Bob On Feb 3, 2020, at 12:34 AM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
Bob
Unfortunately the work-around didn't work for me. When used on the 'test' file (v29) it yielded the same error. On my latest panel (v36) it produced 'gibberish' - no formatting at all, just a long list of the items. Here's an excerpt from the start of what was produced: 4 19 3 ish MS+2020 RS-X-XoverStraight MS+2021 RS-X-XoverLoopAB MS+2022 RS-X-XoverLoopCD MS+2023 RS-X-XoverInnerSwap MS+2024 RS-X-XoverOuterSwap MS+2031 RS-1-MainA Route Set MS+2032 RS-1-MainB MS+2033 RS-2-MainC MS+2034 RS-2-MainD MS+2100 KL-1-All MS+2101 KL-1-1 Keypad LED MS+2102 KL-1-2 MS+2103 KL-1-3 MS+2104 KL-1-4 MS+2105 KL-1-5 MS+2106 KL-1-6 MS+2107 KL-1-7....... I'm not in a hurry for this, so I'll give it another try when the new JMRI version is available. Thanks for quick response Andy |
Bob
I've tried it in JMRI.4.19.3ish+jenkins+20200203T1929Z+Rb4f477330b and my panel xml displays fine now. I think having a more readable format will encourage me to add comments against some of the items. That should help me and others understand it better when looking at in the future. Thanks for the quick fix! Andy |
Could you try this one please?
Bob On Feb 3, 2020, at 7:47 AM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
Thanks! (That¡¯s the same version as the mail I just sent, sorry for the confusion)
It was originally created to be a printable form, for people who wanted to pop something in a notebook. Let me know if you notice any issues, missing parts, etc. Bob On Feb 3, 2020, at 1:01 PM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
Bob
A couple of things I've noticed so far:
Hope that helps Andy |
Thanks! I think I¡¯ve fixed the first three now.
I don¡¯t see a ¡°Max Speed¡± value in the signal mast logic stored values. Could you provide a file that has it as an example? Bob On Feb 3, 2020, at 2:51 PM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
Bob, Andy,
toggle quoted message
Show quoted text
A typical signal mast logic xml entry consists of only the source mast and its destination masts. If the SML is manually created or modified, the user supplied blocks, turnouts, sensors and other masts will be included. The path speed is not included. For generated SML, the blocks and turnouts are identified during start up using block routing. The path speed is calculated using the block speeds and turnout leg speeds (based on turnout position). Dave Sand ----- Original message -----
From: Bob Jacobsen <rgj1927@...> To: [email protected] Subject: Re: [jmriusers] Some questions about signaling and the best way to debug the layout Date: Monday, February 03, 2020 5:13 PM Thanks! I think I¡¯ve fixed the first three now. I don¡¯t see a ¡°Max Speed¡± value in the signal mast logic stored values. Could you provide a file that has it as an example? Bob On Feb 3, 2020, at 2:51 PM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
Sorry, Max speed was my error - I was quickly scanning through the JMRI tables and comparing these to the xslt output and forgot it was calculated (I think I had block length in mind, which is also missing :)....)
I've tried JMRI.4.19.3ish+jenkins+20200204T0524Z+R02e3ae7ae2 and I can see Routes and Memory Variables changes ok - thanks. In Firefox my Blocks display is still "shifted". I've tried "Preferences-Clear Data" but to no avail. However, in Opera it looks fine. I'm thinking there's some cached item still floating around in Firefox. I'll try it on another machine when I get the chance. Using this made me think something similar for the tag ids xml would be really good.... Andy |
Happy to add ID tags, but I don¡¯t have a sample file that shows the kinds of things that appear. Is there one somewhere?
I¡¯ll add block length. (I¡¯m not just displaying all the content for some items, because there are a _lot_ of things that never seem to change) Firefox looks OK to me, but of course there are lots of versions, I might not be looking for the right thing, etc. You could try a shift-reload. Bob On Feb 4, 2020, at 4:04 AM, Andy Brown <andy.badshot@...> wrote:-- Bob Jacobsen rgj1927@... |
to navigate to use esc to dismiss