Keyboard Shortcuts
Likes
- Jmriusers
- Messages
Search
Locked
Re: How to terminate python script
Fred,
toggle quoted message
Show quoted text
Here is my take. import java import javax.swing import jarray import jmri class TestA(jmri.jmrit.automat.AbstractAutomaton) : def doClose(self, event): print("Close") # **** close command here **** self.f.setVisible(False) self.f.dispose() self.stop() def setup(self): print "Setup" self.f = javax.swing.JFrame("TEST",preferredSize = (200,80)) self.f.contentPane.setLayout(javax.swing.BoxLayout(self.f.contentPane,javax.swing.BoxLayout.Y_AXIS)) self.f.setDefaultCloseOperation(javax.swing.JFrame.DO_NOTHING_ON_CLOSE) self.f.setLocationRelativeTo(None) relButton = javax.swing.JButton("CLOSE WINDOW") relButton.actionPerformed = self.doClose panel1 = javax.swing.JPanel(preferredSize = (170,30)) panel1.add(relButton) self.f.contentPane.add(panel1) self.f.pack() self.f.show() self.start() return def handle(self): self.waitMsec(10000) print "loop" return True a = TestA() a.setName("TestA Code") a.setup() Since this thread is about terminating a script, I included the stop() call. I also changed the ON CLOSE to do nothing instead of DISPOSE. Otherwise the script keeps running without a window, which might be appropriate in some cases. Since this class is an AbstractAutomaton, I added the handle() method so that stop() does not create an error. Dave Sand On Aug 15, 2018, at 9:14 AM, Fred Miller via Groups.Io <tractionfan@...> wrote: |
Locked
Re: Signal Masts and Signal Mast Logic vs SSL
Allen,
toggle quoted message
Show quoted text
From the Dispatcher menu, select "Options >> Dispatcher Options". You can choose either "Signal Heads/SSL" or "Signal Masts/SML¡±. After you have made your changes, select "Options >> Save Options". Dave Sand On Aug 14, 2018, at 9:41 PM, ahouse3761 <trainmail1@...> wrote: |
Locked
Re: How to terminate python script
Bob,? thanks for your patient response to my query.? Unfortunately, I still am not "getting it."? Would you be so kind as to make what ever changes are necessary to close the window in the following script:
import java import javax.swing import jarray import jmri class TestA(jmri.jmrit.automat.AbstractAutomaton) : ?def doClose(self,event): ??print("Close") ??# **** close command here **** ??return ??def setup(self): ??print "Setup" ??f = javax.swing.JFrame("TEST",preferredSize = (200,80)) ??f.contentPane.setLayout(javax.swing.BoxLayout(f.contentPane,javax.swing.BoxLayout.Y_AXIS)) ??f.setDefaultCloseOperation(javax.swing.JFrame.DISPOSE_ON_CLOSE) ??f.setLocationRelativeTo(None) ??self.relButton = javax.swing.JButton("CLOSE WINDOW") ??self.relButton.actionPerformed = self.doClose ??self.panel1 = javax.swing.JPanel(preferredSize? = (170,30)) ??self.panel1.add(self.relButton) ??f.contentPane.add(self.panel1) ??f.pack() ??f.show() ??self.start() ??return a = TestA() a.setName("TestA Code") a.setup() |
Locked
Re: Scripts
Dear Ken,
Our last two messages have crossed each other. As far as I understand, I try to replace the sensor part in AutomatonExample.py by ReporterFormatter.py suggested by Paul Bender (second post in this topic). I am going to do that but being the first instance ever I write a script, I reserve the right of failure. Thank you very much. Yours, ????????????? Gabor |
Locked
Re: Scripts
Complement to the latter: the state of a sensor changes also when my train leaves its area; of course, this change is to be ignored, as well.
|
Locked
Re: Scripts
Gabor,
So for your purpose, you would change the script to use the reporters instead of the sensors. It would watch for the reporter to change, read it, if it sees the matching loco, then it would do the rest of the job be it stopping, pausing, reversing, etc... as needed. So you are setting up reporter listeners, which watch for the loco id, instead of the sensor listener, which watches the state of the sensor. Should be a fairly easy job of replacing the one part with the other. Just hope the other trains know how to stay out of the way of the train in the script. -Ken Cameron, Member JMRI Dev Team www.jmri.org www.fingerlakeslivesteamers.org www.cnymod.com www.syracusemodelrr.org |
Locked
Re: Scripts
The first alternative is the case: the (address of the) loco I want to move is known, action (stopping it and reversing its direction) is to be taken only when it gets reported by a sensor, while other possible change of sensor? state (caused by another train) is to be ignored.
Gabor |
Locked
Re: Operations - Somewhat complex senario - would like help
Thank you so much.? ?I will work on your recommendations this week and see what I get.? ?I had just started working with schedules so I will dive into this more along with your recomendation.
thanks. John Crellin Bradenton, FL |
Locked
Re: Two computers
¿ªÔÆÌåÓýGrahamI'm assuming you're running a recent version of Windows, as I don't see any explicit list of your computer's OS or hardware.? If I'm wrong, ignore the following. To perhaps gain insight into your problem, open task manager, go to the performance pane, and at the bottom, click on resource monitor.? Between the various task manager panes, and the resource monitor presentation, you should be able to identify where your bottleneck resides.? In particular, in Task Manager, remember that you can click at the top of each column and the column will sort in ascending or descending order, making it simple to identify the biggest performance hogs, memory hogs, disk hogs, etc.? Blair On 8/15/2018 7:37 AM, whmvd wrote:
|
Locked
Re: New file uploaded to [email protected] - tcs-wow.zip
¿ªÔÆÌåÓýMichael, ? That¡¯s exactly what I needed to know. ? Thanks for all your work! ? Greg Komar gkomar@... "Never fear shadows. They simply mean there's a light somewhere shining nearby" From: [email protected]
[mailto:[email protected]] On Behalf Of Michael Mosher
Sent: Tuesday, August 14, 2018 4:40 PM To: [email protected] Subject: Re: [jmriusers] New file uploaded to [email protected] - tcs-wow.zip ? Either should work for Diesel 3 or 4 Michael Mosher Webmaster, ECSFM? ?????????? Member SFRH&MS????????????? DCC Master PVSMR???????????
On 8/14/2018 7:11 AM, Greg Komar wrote:
? |
Locked
Re: Two computers
¿ªÔÆÌåÓýI¡¯ve found JMRI runs faster on a Raspberry PI than quite a few mid-range Windows machines.?? Theoretical CPU and memory speed says the PI is slower.? So it¡¯s probably the operating system.? If the computer is dedicated to railway use, try booting it with a Linux boot disk/stick and see if that fixes the issues. ??Might be that going Linux for a railway computer is more cost-effective.? ?? ? ? -????????? Nigel ? ? ? From: [email protected] [mailto:[email protected]]
On Behalf Of Graham Orriss via Groups.Io
Sent: 15 August 2018 10:23 To: [email protected] Subject: Re: [jmriusers] Two computers ? Thank you Wouter ? I have added more memory but it still struggles.? Sometimes I can't use the throttles until something clears.? ? Graham ? On Wednesday, 15 August 2018, 10:14, whmvd <vandoornw@...> wrote: ? Hello Graham, What would interest me is what sypmtoms you've seen that make you think it's necessary. There may be more subtle ways of attacking those than the very brute force of throwing multiple computers at it. It is, for instance, usually a lot easier to add (say) memory to the computer to resolve issues than it is to get computers collaborating. Wouter ? On 14 August 2018 at 16:00, Graham Orriss via Groups.Io <graham.orriss@...> wrote: Thank you Nigel.? I shall delve into this one.?? ? Cheers ? Graham ? On Tuesday, 14 August 2018, 15:27, Nigel Cliffe <nigel.cliffe@...> wrote: ? Suggested reading ? ? ? The former is general purpose and might be what you need given the Elite which isn¡¯t a LocoNet based item. ? ? -????????? Nigel ? ? From:
[email protected] [mailto:[email protected]]
On Behalf Of Graham Orriss via Groups.Io ? Hi all, ? Is there any way of using two computers on JMRI ?? There is such a lot going on in my layout including Dispatcher.? The sensors and TowerController are run off the Loconet bus.? The trains off the Hornby Elite controller.? Could I run?the Loconet ?part on a separate laptop?? ? Thank you ? Graham Orriss ? ? ? |
Locked
Re: Two computers
Hi Graham, The memory was just an example. It's not trivial to find out what a struggling computer is actually struggling with - and it's not necessarily the computer either. The problem could be a software limitation, network settings, antivirus activity, or, or, or...If it were my problem (and I'm quite happy it isn't...) I'd start with finding tooling that analysis the performance of my computer. Know the problem, THEN solve it. On 15 August 2018 at 10:23, Graham Orriss via Groups.Io <graham.orriss@...> wrote:
|
Locked
Re: Scripts
I think what you are asking about would be like backandforth, but with the
addition of it listening for the sensor first, but then checking the reporter to see if the right loco is reporting. Or is the idea that you don't have to tell the script which loco to run? Here it would watch the sensors, and when one went active, it would read the reporter and pick up the loco id. Then it would open the throttle and run that loco back and forth? -Ken Cameron, Member JMRI Dev Team www.jmri.org www.fingerlakeslivesteamers.org www.cnymod.com www.syracusemodelrr.org |
Locked
Re: Scripts
I appreciate your patience with an outsider like me.
I don't mind, either, if I mistake, say, a command for a definition but basically I must follow what is going on in the examples for I want to build up my program from elements taken from them. I cannot expect of anyone to write it for me (and rewrite it each time I make a change). I feel that I could make such a use of AutomatonExample and its refinement, but your example seemed to me too long and complicated at first sight to do this. However, I didn't say that! I just wanted to make sure whether or not we are speaking about the same thing. Total of four sensors for two trains, or six sensors for three trains.Arriving at this point of reading made me feel that we were misunderstanding each other but we seem to be understanding each other, after all. So, let me start from scratch. There is a single loco I want to move back and forth between two blocks. No other train can touch its route. The only intrusion can occur in either of the terminal blocks that can accommodate another train, but physically these blocks are long enough to cause any collision. A RailCom current sensing detector is attached to each of these terminal blocks. (Actually, the two blocks could be connected together electrically and a single detector would suffice provided we know where my train is at program start but let's not complicate matters). Can your example handle this situation? If so, I am going to make a more thorough effort to grasp it. You may facilitate my effort by pointing out part of the script where the sensor reporter, also referred to by Paul in the second of this series of posts, is used to trigger the change of movement of my train ignoring, however, whether or not another train enters, stays or leaves there. Gabor |
Locked
Re: Two computers
Graham Orriss
Thank you Wouter I have added more memory but it still struggles.? Sometimes I can't use the throttles until something clears.? Graham On Wednesday, 15 August 2018, 10:14, whmvd <vandoornw@...> wrote: Hello Graham, What would interest me is what sypmtoms you've seen that make you think it's necessary. There may be more subtle ways of attacking those than the very brute force of throwing multiple computers at it. It is, for instance, usually a lot easier to add (say) memory to the computer to resolve issues than it is to get computers collaborating.On 14 August 2018 at 16:00, Graham Orriss via Groups.Io <graham.orriss@...> wrote:
|
Locked
Re: Two computers
Hello Graham, What would interest me is what sypmtoms you've seen that make you think it's necessary. There may be more subtle ways of attacking those than the very brute force of throwing multiple computers at it. It is, for instance, usually a lot easier to add (say) memory to the computer to resolve issues than it is to get computers collaborating.On 14 August 2018 at 16:00, Graham Orriss via Groups.Io <graham.orriss@...> wrote:
|
Locked
Re: 2 way working on single track - signals
Your tip to place direction sensors on the layout worked a treat and after some forensic debugging have now solved the signalling issues.? Thanks very much for your help.
Peter |
Locked
Re: Operations - Somewhat complex senario - would like help
John,
An alternative to only allowing non "E" or "L"? on the barge is to use the the destination tool to "Only allow cars with a final destination" for the barge C/I tracks.? This method would eliminate the need for custom loads.? Your industry schedules would only demand a certain car type, custom loads would be optional. Dan |
Locked
Re: Operations - Somewhat complex senario - would like help
Hi John,
You want your cars to move with purpose rather than just random movement.? In your configuration, the program will grab the first 10 cars from your storage track with the lowest moves, drop them off to the barge, and hope there's places for them to go to.? What you need is for your industries to demand certain cars.? ?That can be done using schedules. To generate the loads and destinations for your industries, you would make your storage "staging" tracks.? It can be one large one with all of your cars, or if you use boxes, one staging track per box. Place all of your "storage" boxes in one location, we'll call it "Storage" for now.? The route for the train that services the "Storage" and barge looks like this" Storage -> barge -> Storage Set up the train to allow cars to return back to storage if they can't find room on the barge.? So for example, say you have 50 cars in storage, the program will try and find 10 cars to place on the barge that have destinations on the layout, and return the other 40 back to storage.? If the barge has 10 cars on it, the program will try and pull all 10 back into storage, effectively swapping the cars on the barge for you.? You should configure the barge C/I tracks to only accept cars with custom loads, this will prevent cars from being placed randomly onto the barge. The best way to do this is to exclude the "E" and "L" default loads for your barge tracks. Let us know if you get it to work! Dan |
Locked
Signal Masts and Signal Mast Logic vs SSL
Hi,
I have a couple of panels with the, apparently older, SSL type signaling logic set up. Works OK for just running trains around manually. In looking at the instructions for signal masts and signal mast logic there was a statement to not use SSL and Signal mast constructs in the same panel. So if I want to use Dispatcher for example do I need to delete the SSL content? Thanks, Allen |