Unable to Find Where a Sensor is Used and thus Cannot Delete It
3
#sensors
PanelPro 5.10 Java 17.0 Windows 11 My config XML is attached. It is actually working as expected and issues no errors when I'm using it. I'm new to the LogixNG feature. A few days ago, I created many LogixNGs to set routes and visually show when routes were set. Then, I found my approach should be different. I added new LogixNGs and sensors and deleted the unneeded LogixNGs. I saved my XML and restarted and, again, all is working okay. Now, if I try to delete sensor "Set Route: Bypass Main" (IS20) and I get this message: I actually get this message when I try to delete several of the old sensors. What's really bad is if I try this several times and then try to save my XML, I get a Java exception saying something about a nullReference. I was able to use a backup copy of the XML to get back working but I need to be careful about trying to delete the old stuff now. I examined the attached XML and found some lines with "IQDA:AUTO:0047". It looks like the LogixNGs that I thought I had deleted still have some remnant components in the XML. Here's the list of LogixNGs that PanelPro shows: I can see that this list matches up with the list in the XML. However, there are lots of "leftover" DirectActions (and other stuff) that didn't get deleted when I deleted the LogixNGs. Suggestions?
|
Locked
HELP: Lost In Space
13
I posted a question about revesing loops in the late January early February timeframe and have been searching the group for almost an hour and cannot find anything to do with it. I had several replies, many if not all had helpful information. I was confident (at the time) that I could find the information whenever. Well that has proven not to be the case. I am adding a image that was used during these conversations in the hope that it will help trigger something for those that responded. Since I have a terrible memory, I do not even remember the topic of the Title that I used. I do not think I used any hastags as it was a more general layout question. The image is seen below. I will take due deligence in keeping the information that I receive in return. Thank you for your help.
|
Lost roster upgrading to 5.11.3
6
#roster
I just updated my Decoder pro to 15.1.3 and it wiped my Roster! is that right? fortunately I’ve got a back up.
|
JMRI and HM7000 decoder
4
#definitions
I am new to this group and would appreciate some help with an issue I have encountered. I am a JMRI user and run my railway using an Arduino Mega. I have a number of Hornby locos all of which I have been able to set up successfully through PanelPro. However, I have just purchased a new Hornby loco fitted with a HM7000 decoder which I have not been able to set up in JMRI. I cannot see an option for the HM7000 Txs in the list of Hornby decoders, and using the option in the Roster menu of getting JMRI to identify the decoder with the loco on the programming track has not been successful. I have read that selecting the decoder NRMA standard will work but I have not managed this either, maybe because beyond selecting this option, I am unsure what else is required. I have also read that some work is being done to add the HM7000 Txs to the list of decoders in JMRI so perhaps it's just a matter of being patient. I would be grateful for any advice on this subject. Many thanks Michael
|
BLI locomotive, No Acknowledge from locomotive
11
#bli
Before anyone tells me about CV217, I am aware of this issue. I cannot read or write to one of my BLI locomotives using JMRI's Decoder Pro. Things that I have tried, what am I missing. Used another BLI locomotive of same decoder type, and confirmed that everything is connected and working as expected. I am able to read CV217 on this other locomotive and change it to a lower value and read and program without issue. I started thinking that maybe the decoder was dead, but I can run it and access all functions on Short Address 03. I am trying to change the address and lower the volume. Tried both Direct Byte and Paged. Tried writing CV217 to 70, over and over again, hoping that it would take. I can run the loco both before and after, confirming that I have connection/control on the track. Any thoughts? (I stopped using BLI locomotives about 1.5 years ago due to all the issues I was having with P3 decoders. But the P4 decoders had less issues, so I decided I would get them out and try running them again. Three of them have been fine, but this one is not cooperating) JMRI version: 5.10 (last stable release) BLI Locomotive: 3930, SW7, ACL #645, Paragon 4 (I have too many of these NW2/SW7 switchers, when they work, they are nice) Command Station: YD7001 (Digikeijs DR5000 upgraded to YaMoRC) I also have an ESU programmer, but not sure how to use it with BLI locos? Is there a way to try to use the ESU programmer to change CV217 to 70? Thanks -- Heath @ Human[c]ity http://www.humancity.org http://www.riversidetransfer.nyc http://www.manhattanmodelers.com
|
Where does JMRI get the date on the Trains screen
21
#operationspro
I build all of my trains before an Ops Session. I print the Manifests and Switchlists and then Terminate the train so the cars are moved to their destination and will be available for pick-up. The status column shows the date and time that the train is terminated, but I don't understand where the date is coming from: These were all built on February 3rd and 4th of 2025. Looking at the builds I've done over the last several months, they all have dates in October of 2024. Where is JMRI getting those dates. I understand that the time is based on the JMRI clock which is normally stopped when I do the builds and I my system date is correct. Is there a setting somewhere that JMRI uses to determine this? I have the Year Modeled in OperationsPro Settings set to 1955. Dennis Coglianese
|
EngineDriver Beta v2.38.193 released to Play Store
15
#enginedriver
EngineDriver Users, we've published another Beta, EngineDriver v2.38.193. Check out the changes here: https://enginedriver.mstevetodd.com/changes#beta-changes. Thanks to Peter Akers for his dedication to this project, and to all the EngineDriver users who provide useful feedback and testing. NOTE: We really need some careful testing on this version, as I am planning to promote it to Production if no issues uncovered in Beta. --SteveT
|
Marker Over 3 Color - Marker Hack with SE74
8
#signals
I've been running signals successfully for over a year. We have several marker over 3 color high lights using 2 signal head addresses. I wanted to reclaim the marker address - seems silly using a address just for the red. So out of curiosity - I wanted to see if I could get the aux slot to power the marker lamp (red) and then the green/yellow/red normally, but using 1 single head, 1 address. The answer is yes - but the behavior was not what I expected. Below is a summary of the behavior: 1. The lunar/aux lamp appearance does not go dark when the signal head goes dark. 2. You can set a G/Y/R appearance on the head and then set the head to dark the lunar lamp stays lit. 3. If you set the lunar appearance first and then set the head to dark the lunar goes dark. 4. Setting aspects - the same holds true as expected - if I set restricting then medium clear for example - the aux stays lit. If I set restricting then set the head to dark - it makes the lunar go dark. In general - this seems to work fine for the marker over 3 since I want the top red (connected to the aux) always on. The unexpected behavior here is that the lunar seems to be highly dependent on the order of which it is set. Before I start changing all the marker over 3's to this "hack" - does anyone see any downstream/unexpected side effects that I'm not thinking about? PS: From the JMRI layout panel pov - my intention is to create a virtual signal head and use it with the addressable signal head for the mast. The virtual will become the marker - then the addressable signal head will continue to be as it is now except taking advantage of the aux to power the marker on the physical layout. Setup below: SE74, JMRI 5.10. SE74 Aspect Control mode (OPSW 5 "C"losed), Lunar aspects are NOT persistent (OPSW 41 "T"hrown). TSMKs for simplicity. In JMRI - using DCC signal decoder signal heads, signal head controlled masts, SML.
|
"Hide and Show" attribute for icons is not working on web panels
3
#logixng
#webserver
I only recently discovered the LogixNG component of JMRI. I found out about the "Id" attribute that can be associated with an an icon (or any item I guess). I found that this was implemented because that was needed for LogixNG to be able to reference items to hide, show, enable and disable them, among other things I guess. I don't know why I would need to disable or enable an icon but I was happy to find I could hide and show icons. By stacking them and writing some LogixNG items I was able to produce some visual effects that weren't possible before. Quite by accident, today I came across a post that said that if you disable an icon, that behavior does not appear on web panels. I've confirmed that this issue also occurs when you use the hide or show features. Well, it kinda works. If you hide or show an icon, the icon's visibility will not change on the web panel unless you click refresh on your browser. I guess I have to give up on my nice visual effects because I will use JMRI's web server to display my panels so I can use my tablet device to control my layout. I'm not sure how useful the hide/show feature is if it doesn't work when using the web server. Please tell me I'm missing something.
|
Logging configuration (or trying to get Withrottle to be quieter)
4
#logging
WiThrottle likes to spam my system console with irrelevant INFO messages and I'd like to quiet it down. I've found PanelPro -> Debug -> Display/Edit Log Categories and can change jmri.jmrit.withrottle.DeviceServer to WARN but this is only good for the session. https://www.jmri.org/help/en/html/apps/Debug.shtml says "A "default_lcf.xml" file in the User Settings directory will take precedence over the default_lcf.xml file in the main program directory. The main program directory version will be reset each time JMRI is updated, whereas the user preference version will not be updated." According to Help -> File Locations there isn't a User Settings location; there is a 'User Files' location, and there's a 'Settings' location. Which one is it? Second question - is this an adequate default_lcf.xml file assuming I can figure out where to put it: <?xml version="1.0" encoding="UTF-8"?> <!-- # default_lcf.xml --> <Configuration status="INFO"> <Loggers> # Minimise WiThrottle noise tdc 2025-02-22 13:52 <Logger name="jmri.jmrit.withrottle.DeviceServer" level="WARN"> </Loggers> </Configuration> Thanks much. -- Tim D. Childs tim.d.childs@... Lansing Model Railroad Club - lmrc.org
|
LogixNG Editing: Losing Ability to Select a Panel After Switching to Panel Editor
2
#controlpaneleditor
#logixng
Java 17 JMRI 5.10 Windows 11 On PanelPro, I have 4 panels: All, Left, Center, Right. I've spent lots of time getting everything to work fine. I'm seeing some odd behavior while trying to modify a LogixNG item, in one specific case. Problem statement: I start PanelPro and load the profile. Everything works as expected. I edit one of my LogixNG entries that sets the hide/show for an icon. This is what I see. Note that all 4 panel names are shown in the dropdown. I Cancel out and make no changes to this entry. I edit the Right panel using Control Panel Editor. I then switch to Panel Editor. I've changed nothing at this point. Now, when I edit that same LogixNG entry, this is what I see. Note that only 3 panel names are shown in the dropdown and the panel that the icon is on (Right) is not an option. If I switch back to Control Panel Editor, the problem persists: the "Right" panel does not appear in the pulldown. As a test, at this point I saved my configuration to a new filename. I then exited PanelPro and restarted and loaded the newly saved file. At that point, I could again see that the LogixNG tables were able to be edited as expected (as long as I didn't try using Panel Editor again). So, it appears that no permanent damage occurs when I switched to Panel Editor on my initial try. Still, it's disconcerting to see the LogixNG editing environment get screwed up this way. What is going on and how do I proceed, other than using the workaround I describe above?
|
Causes for conditionalNGs to not run when expressions are TRUE
10
#logixng
On occasion I find cNGs that run properly if I manually execute them but won't run on their own. The following fragment is an example of a cNG that has two branches, neither will start running despite having their expressions evaluating as true. I can click the Execute button on the cNG table where this lives and run each branch. In other cNG's this has happened I've included a (5Hz) clock pulse in the expression to "kick" them into action, which also works here, but that seems sloppy. I'd like to know what the cause is and how to properly run without that workaround... unless that's necessary. ConditionalNG: Control Status Array - Active processing ::: Startup ! A Many ! A1 // Fire the Control array processing under proper conditions If Then Else. Always execute ? If Digital Formula: E1 && E2 && E3 ?* E1 Digital Formula: CtrlStatArray[CtrlPointer] == "ACTIVE" ::: No Listen ?* E1 ?* E2 Sensor sysTCSmode is Active ?* E3 Sensor sysTCSRUNmode is Active ?* E4 ! Then // branch on status of audio source playing If Then Else. Always execute ? If Digital Formula: E1 ?* E1 Digital Formula: CtrlAudioStatusArray[CtrlPointer] != "PLAY" ::: No Listen ?* E1 ?* E2 ! Then Many ! A1 Audio: Play by table TCS Panel Table, row by local variable "CtrlPointer", column Ctrl Audio ! A2 Digital Formula: CtrlAudioStatusArray[CtrlPointer] = "PLAY" ?* E1 ! A3 Set sensor Pnl-CCKE to state Active ! A4 ? Else_If_1 Digital Formula: E1 && E2 ?* E1 Digital Formula: CtrlAudioStatusArray[CtrlPointer] == "PLAY" ::: No Listen ?* E1 ?* E2 Audio by table TCS Panel Table, row by local variable "CtrlPointer", column Ctrl Audio is Stopped ?* E3 ! Then_1 Many ! A1 Digital Formula: CtrlAudioStatusArray[CtrlPointer] = "OFF" ?* E1 -- Jim Moomaw Portland, OR - Willamette Model Railroad Club (WMRC) - NMRA, Pacific NW
|
Changing Function Labels - again...
10
#functionlabels
Mid-last-year I asked about a way to update labels for functions, so that they matched how I re-programmed my WOWSound Steam. Peter suggested I could with care (back up and rename) modify the xml file at the <functionlabels> </functionlabels> block for each loco, then rebuild the roster at FILE / REBUILD ROSTER (assuming I understood). Perhaps I am doing something wrong. For kicks, I modified the line for F4 for one loco as <functionlabel num="4" lockable="true" functionImage="" functionImageSelected="">Bart Simpson</functionlabel> When I rebuilt the roster, Bart Simpson went away, and was replaced with the original value of "Whistle Quill" Good thing I only tried one mod... and failed. Am I not understanding where to change the value?
|
Programming CV49 on PSXXs with DecoderPro question
3
#psx
I just bought some PSXX DCC circuit breakers from Tony's Train Exchange. They are preset to trip at 2 Amps. The trip current is controlled by CV49. I want to increase the trip current to 3 or 4 Amps, which means writing 3 or 4 to each PSXX's CV49. This is done as Programming on the Main (Operations Mode programming?) Has anyone in the group done this? Did you encounter any odd problems, or was it straightforward? My DCC system is EasyDCC, but since it just passes any JMRI instructions along in the DCC packet stream, I don't think the DCC system should matter here. -- Don Weigt Connecticut
|
Return When Empty not always working...
7
#operationspro
JMRI's (particulary Dan), I am running 5.10 on one machine and 5.11 on another, and I don't believe the Return When Empty is working correctly in all cases. I've done this on both machines. I've attached a portion of a build report for car NP-P 1017 with a Return When Empty of: Location: Dickinson, ND Track: Hebron, ND-HbrnBrick Load: MTY (Custom) If I manually set Destination and Track, or Final Destination and Track in the Set Car window to match the RWE location and build the train, the car routes correctly, so it's not a track, train, roadname, or load restriction issue, nor is it a capacity issue for the route, train, spur, or C/I. Here is the expected RWE routing and what happens when I copy the RWE info to Destination and Track or Final Destination and Track): Car (NP-P 1017) type (Boxcar-DF) empty (MTY) at C/I (Glendive, MT, Glendive, MT) has final destination (Dickinson, ND, Hebron, ND-HbrnBrick) routing begins Train (X04) doesn't service location (Dickinson, ND) Find train for car (NP-P 1017) from (Glendive, MT, Glendive, MT) to (Dickinson, ND, Hebron, ND-HbrnBrick) Train (0-Dilworth, MN BN) doesn't service location (Glendive, MT) Train (0-Drake, ND Soo) can't service car (NP-P 1017) Train (0-Glendive, MT BN) doesn't service location (Dickinson, ND) Train (0-Refresh Mandan) can't service car (NP-P 1017) type (Boxcar-DF) Train (0-Superior, WI LST&T(BN)) doesn't service location (Glendive, MT) Train (085) doesn't service location (Dickinson, ND) Train (086) doesn't service location (Dickinson, ND) Train (121) doesn't service location (Glendive, MT) Train (122) doesn't service location (Glendive, MT) Train (157) doesn't service location (Dickinson, ND) Train (158) doesn't service location (Dickinson, ND) Train (43408) doesn't service location (Glendive, MT) Train (43620) can't service car (NP-P 1017) type (Boxcar-DF) Train (43621) can't service car (NP-P 1017) type (Boxcar-DF) Train (43622) can't service car (NP-P 1017) from (Glendive, MT, Glendive, MT) route id 51r1 track (Glendive, MT) pick ups not allowed by train (43622) Train (43623) can't service car (NP-P 1017) from (Glendive, MT, Glendive, MT) route id 50r2 Train (43812) doesn't service location (Glendive, MT) Train (43817) doesn't service location (Glendive, MT) Train (43817-(Mine)) can't service car (NP-P 1017) type (Boxcar-DF) Train (B18) can't service car (NP-P 1017) type (Boxcar-DF) Train (B19) can't service car (NP-P 1017) type (Boxcar-DF) Train (C06) can't service car (NP-P 1017) type (Boxcar-DF) Train (C07) can't service car (NP-P 1017) type (Boxcar-DF) Train (C60) can't service car (NP-P 1017) type (Boxcar-DF) Train (C61) can't service car (NP-P 1017) type (Boxcar-DF) Train (C74) can't service car (NP-P 1017) type (Boxcar-DF) Train (C75) can't service car (NP-P 1017) type (Boxcar-DF) Train (D26) can't service car (NP-P 1017) type (Boxcar-DF) Train (D27) can't service car (NP-P 1017) type (Boxcar-DF) Train (Mandan Switcher) doesn't service location (Glendive, MT) Train (N38) can't service car (NP-P 1017) type (Boxcar-DF) Train (N39) can't service car (NP-P 1017) type (Boxcar-DF) Train (W06) can't service car (NP-P 1017) type (Boxcar-DF) Train (W07) can't service car (NP-P 1017) type (Boxcar-DF) Train (W90) can't service car (NP-P 1017) type (Boxcar-DF) Train (W91) can't service car (NP-P 1017) type (Boxcar-DF) Train (ZZ000) can't service car (NP-P 1017) type (Boxcar-DF) Train (ZZ001) can't service car (NP-P 1017) type (Boxcar-DF) Router could not find a train able to transport car (NP-P 1017) directly from (Glendive, MT) to (Dickinson, ND) begin two train routing Router find C/I track for car (NP-P 1017) final destination (Dickinson, ND, Hebron, ND-HbrnBrick) Can't use C/I (Glendive, MT, Bieber, CA WP) for (NP-P 1017) due to road (NP-P) Can't use C/I (Glendive, MT, Butte, MT UP) for (NP-P 1017) due to road (NP-P) Can't use C/I (Glendive, MT, Klamath Falls, OR SP) for (NP-P 1017) due to road (NP-P) Can't use C/I (Glendive, MT, Missoula, MT Milw) for (NP-P 1017) due to road (NP-P) Can't use C/I (Glendive, MT, Vancouver, BC CN) for (NP-P 1017) due to
|
Script with wait timer - how do I do it?
4
#jython
A while back I asked about how to make a script that would simulate a train moving around a layout. I got some help but the task seemed to complex so I gave up - until now. So, It was given some hints by Dave Sand and Bob Jacobson on ways to do this. Also I hadn't looked yet at all of the scripts and tools available. Now I see there are some scripts that kind of do what I want but not exactly. Here is what I am trying to do: Start a virtual train in some block with a direction to head and an average speed. the script will look ahead to the next signal and add up the distance. If the signal is clear it will begin to activate block sensors in the direction of travel at a rate near the average speed. It will also de activate block sensors "behind" the train. With this script a human dispatcher could control the movement by setting switches and signals. In the future maybe It could actually run a train. I see there is a script that called RobotThrottle.py that kind of does this, but I don't think it does any simulation, also I can't get it to run. maybe because I have simulated I/O ? I also found a script called blocklister.py that seemed like something I could understand so I used that as my starting point. ( I also added the block metric to the lister output since there seems to be no easy way to get that info). So now I have a script that will look east to the next signal mast, add up the distance and then prepare to set the block sensors accordingly. the problem I am having is how to control the timing? waitMsec() doesn't work because apparently it will run in a different thread and does not make my script wait. There is a timer for a grade crossing in GradeCrossing.py I can get this timer to work but I am a bit lost on how to use it as a variable delay in some kind of while or for next loop that is stepping through a list or series of blocks at a controlled rate. I admit that I have a lot to learn about python classes and objects so up to now I have just been hacking the examples. Also the JMRI documentation is huge and there seems to be many different classes and methods that can to the same or similar things. If you can give me some hints I would appreciate it.
|
Problem with NCE powercab
4
#nce
I put the BLI E1A, that I mentioned having trouble programming in another thread, on my programming track at home today and discovered that the address had reverted to 3 with the factory reset. Trying to read the address at the club after the reset kept telling me it was still at the address I thought I had programmed. Long story made shorter - for some reason I have to remove power from the engine after making programming changes for those changes to take effect. After it "reboots" then I can control it as expected with the new changes. I hadn't taken it off the rails at the club and so it appeared to have locked up. I think these Paragon 4 decoders are weird birds at this point, but it gets crazier. Once that one was working to my satisfaction (I hope) I put the E1B unit one the programming track. In Decoder Pro I followed the usual routine - New loco, then Read Decoder. At this point the B unit began to move on its own on the programming track and I couldn't get it to stop from the PowerCab. It would move forward, make various engine and braking noises, reverse, change directions again, all the time ignoring the zero speed command from the PowerCab. I had to remove it from power. I put it back on the rails and went back to Decoder Pro but couldn't seem to read anything. At some point I noticed the two messages in the lower left corner about the programming modes were red. Unplug and plug in the USB cable, check the serial port configuration, power down the PowerCab and restart multiple times, as well as shut down Decoder Pro and restart multiple times, nothing worked. When DP is restarted those two messages on the programming modes are green for a few seconds and then they turn red. Gave up on programming the E1B for now but need some advice on how to get Decoder Pro back into normal operation. What else to check besides the things I've already tried listed above? -- Rick Jones Cats regard people as warm-blooded furniture.
|
JMRI install on Raspberry Pi 3b+
3
#linux
#rpi
I have installed JMRI on my raspberry Pi 3b+ but when I go to open PanelPro I just get the script details an not the application. I wasn't able to install JMRI only extract the files in the tgz file. When I extracted them to the destination folder, they appear there but when I try to open Panel Pro I get a message "This text file appears to be an executable script. What do you want to do with it?" Choices are Execute, Execute in terminal, Open or Cancel. What have I done wrong? Also I have had trouble installing Java onto my Raspberry Pi. Regards.
|
Proper ways to reference Global Arrays in Expressions to avoid symbol table errors
3
I can't find an example online or in past GIO postings that shows how to format arrays for use in LogixNG expressions. No matter how I format them or the index they throw symbol table errors. I haven't tested maps but I would expect the same issues. I have no issues with arrays in actions... those are simple. I can view the arrays are correctly written using the log local vars function. These global objects are used between multiple cNGs; my hope is to use the arrays directly in the cNGs vs. sharing global buffer vars. CtrlStatArray is 40 cell global array CtrlPointer is global integer var These are lifted from FOR and IFTHENELSE structures in the same cNG. statements that work: ? E1 Local variable CtrlPointer is less than or equal "41" ! A1 Digital Formula: CtrlPointer++ ! A1 Digital Formula: CtrlStatArray[CtrlPointer] = "ACTIVE" ! A2 Digital Formula: CtrlXmitArray[CtrlPointer] = 1 statements that fail (symbol table error): ? E2 Local variable CtrlStatArray[CtrlPointer] is not equal to "END" ? E3 Local variable CtrlStatArray[0] is not equal to "END" -- Jim Moomaw Portland, OR - Willamette Model Railroad Club (WMRC) - NMRA, Pacific NW
|
LCC Traffic Monitor Information
3
#lcc
I'm looking for some information on the fields displayed in the LCC traffic monitor display. In particular Consumer Identified Invalid for EventID Producer Identified Unknown for EventID Do these all represents errors that need to be resolved for successful operation? Wayne
|