¿ªÔÆÌåÓý

Date

Locked Re: Full timetable automation - AutoDispatcher 2 - abstraction - documentation - scripting

 

James,

YAAT is procedural oriented but flexible. As such, it is as you described. Set turnout, move at this speed, wait for something to change, etc.

YAAT evolved while helping a guy in England automate trains without block detection. He uses IR detectors at the stations.

The first part of the script has the documentation.

The zip file has a demo panel and text files that I use for testing. The most complex one has two trains coming from branches to the main station and back again. It uses a sensor group to control which train has access to the shared mainline.

I am working on version 1.7 which adds memory variables. This would the provide access to IMCURRENTTIME. That would still be procedural but would allow actions based on time.


Dave Sand

On Aug 14, 2018, at 12:17 PM, jamespetts via Groups.Io <jamespetts@...> wrote:

David,

thank you for your response. I had heard of YAAT, but the description gave me the impression that it was really only a template for simple procedural scripts of the "set throttle on train no. 21 to 60%, then throw turnouts nos. 7 and 8" sort rather than a system using a higher level of abstraction.

If this impression was incorrect, may I ask where I can find documentation on this and in particular its use in non-trivial instances of timetabled automation?

James.


Locked Re: Scripts

 

Dear Paul,

Thank you for your reply. It is kind of you that you are going to look into the matter further.
Can you get me a log of how the railcom detection messages are showing up from the Roco 10808 sections?
Unfortunately I don't know how to get such a log.? There is a program called "Z21 Maintenance Tool" that can be used to make the Roco10808 emulate R-Bus and/or LocoNet and/or Lissy/Marco detection.

Yours,
????????????? Gabor


Locked Re: Entering New Loco's in DEcoder Pro

 

??? I agree with you that decoders are becoming more sophisticated, but applying more (up to the safe limit)?voltage has been recommended by just about everyone who uses digital devices. I learned this as an auto tech, we couldn't get the express up feature on Mercedes without starting the car or using a battery charger. Car batteries are 12.5 volts but run at 14.5+. I have worked at many dealers where a battery charger had to be installed to do most reprogramming. Just my 2 cents.?????? Jim


Locked Re: NCE POWER PRO

 

¿ªÔÆÌåÓý

Many of us use an ESU cable (has a genuine FTDI chipset) for our Power Pro. Another one only costs ~$30 from an ESU dealer and doesn't need an M-F extender cable to fit.

The?UN8-BE from RRCirKits is similar and also works well with the Power Pro.

More economical than the Keyspan and work every bit as well. We use the ESU ones with an active 10metre USB extender as well at times.

--?
Dave in Australia

The New England Convention 2018

On 15 Aug 2018, at 12:20 AM, Bob via Groups.Io <GMRC405@...> wrote:

AIU is set default not enable.
I solve the problem but further testing will go on. The Belkin Serial to USB that I have been using for serval years does not like Window's 10. I switch out the cable for the serial to usb cable that came with my ESU programmer and things are working fine now. Was able to monitor the cabs, backup, add marcos. set clock etc. So I guess I have to buy the Keyspan Serial to usb now. Thanks for all the help.
Bob


Locked Re: Inconsistent behaviour with the dispatcher

 

Thank you for that. I have now enabled this. With the debug level enabled, the output logging for a single train is now as follows:
2018-08-14 18:21:53,714 util.Log4JUtil??????????????????????? INFO? - * JMRI log ** [main]
2018-08-14 18:21:53,733 util.Log4JUtil??????????????????????? INFO? - This log is appended to file: C:\Users\James\JMRI\log\messages.log [main]
2018-08-14 18:21:53,734 util.Log4JUtil??????????????????????? INFO? - This log is stored in file: C:\Users\James\JMRI\log\session.log [main]
2018-08-14 18:21:53,745 apps.Apps???????????????????????????? INFO? - PanelPro version 4.12+Rb6a9bb1 starts under Java 1.8.0_181 on Windows 7 amd64 v6.1 at Tue Aug 14 18:21:53 BST 2018 [main]
2018-08-14 18:21:58,097 apps.Apps???????????????????????????? INFO? - Starting with profile Automation_test_layout.3f6acf02 [main]
2018-08-14 18:21:58,454 node.NodeIdentity???????????????????? INFO? - Using jmri-dG1h9cpHGhNiaahg7KpNdQ-3f6acf02 as the JMRI Node identity [AWT-EventQueue-0]
2018-08-14 18:21:58,691 xml.AbstractSerialConnectionConfigXml INFO? - Starting to connect for "LocoNet" [main]
2018-08-14 18:21:59,186 locobufferusb.LocoBufferUsbAdapter??? INFO? - LocoBuffer-USB adapter set hardware flow control, mode=2 RTSCTS_OUT=2 RTSCTS_IN=1 [main]
2018-08-14 18:21:59,188 locobuffer.LocoBufferAdapter????????? INFO? - COM8 port opened at 57600 baud with DTR: true RTS: true DSR: true CTS: true? CD: true [main]
2018-08-14 18:21:59,268 loconet.LnPacketizer????????????????? INFO? - lnPacketizer Started [main]
2018-08-14 18:21:59,786 util.FileUtilSupport????????????????? INFO? - File path program: is C:\Program Files (x86)\JMRI\ [main]
2018-08-14 18:21:59,789 util.FileUtilSupport????????????????? INFO? - File path preference: is C:\Users\James\JMRI\Automation_test_layout\ [main]
2018-08-14 18:21:59,789 util.FileUtilSupport????????????????? INFO? - File path profile: is C:\Users\James\JMRI\Automation_test_layout\ [main]
2018-08-14 18:21:59,789 util.FileUtilSupport????????????????? INFO? - File path settings: is C:\Users\James\JMRI\ [main]
2018-08-14 18:21:59,789 util.FileUtilSupport????????????????? INFO? - File path home: is C:\Users\James\ [main]
2018-08-14 18:21:59,790 util.FileUtilSupport????????????????? INFO? - File path scripts: is C:\Program Files (x86)\JMRI\jython\ [main]
2018-08-14 18:22:01,117 PanelPro.PanelPro???????????????????? INFO? - Main initialization done [main]
2018-08-14 18:22:08,398 dispatcher.OptionsFile??????????????? DEBUG - Reading Dispatcher options from file C:\Users\James\JMRI\Automation_test_layout\dispatcheroptions.xml [AWT-EventQueue-0]
2018-08-14 18:22:08,484 dispatcher.DispatcherFrame??????????? DEBUG - Loading saved trains flagged as LoadAtStartup [AWT-EventQueue-0]
2018-08-14 18:22:08,485 dispatcher.TrainInfoFile????????????? DEBUG - directory of TrainInfoFiles is C:\Users\James\JMRI\Automation_test_layout\dispatcher\traininfo\ [AWT-EventQueue-0]
2018-08-14 18:22:08,485 dispatcher.DispatcherFrame??????????? DEBUG - initializing block paths early [AWT-EventQueue-0]
2018-08-14 18:22:43,505 dispatcher.DispatcherFrame??????????? DEBUG - trainID:47573 "The London STANDARD", tSource:1, startBlockName:IB1, startBlockSectionSequenceNumber:1, endBlockName:IB1, endBlockSectionSequenceNumber:5 [AWT-EventQueue-0]
2018-08-14 18:22:43,532 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": requesting throttle address=4573 [AWT-EventQueue-0]
2018-08-14 18:22:43,534 dispatcher.AutoTrainsFrame??????????? INFO? - No Throttle[47573 "The London STANDARD"/IZ6(Full circle from rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,538 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,539 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,541 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": new current signalmast Top right(Danger) for section IY:AUTO:0001(Rear) [AWT-EventQueue-0]
2018-08-14 18:22:43,542 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0002(Right)] [AWT-EventQueue-0]
2018-08-14 18:22:43,542 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,542 dispatcher.AutoAllocate?????????????? DEBUG - 47573 "The London STANDARD": auto allocating Section IY:AUTO:0002(Right) [AWT-EventQueue-0]
2018-08-14 18:22:43,543 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0003(Front)] [AWT-EventQueue-0]
2018-08-14 18:22:43,543 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,543 dispatcher.AutoAllocate?????????????? DEBUG - 47573 "The London STANDARD": auto allocating Section IY:AUTO:0003(Front) [AWT-EventQueue-0]
2018-08-14 18:22:43,544 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0004(Left)] [AWT-EventQueue-0]
2018-08-14 18:22:43,544 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,544 dispatcher.AutoAllocate?????????????? DEBUG - 47573 "The London STANDARD": auto allocating Section IY:AUTO:0004(Left) [AWT-EventQueue-0]
2018-08-14 18:22:43,545 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,545 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,545 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,545 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,546 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,546 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,546 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,546 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,547 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:43,547 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:43,672 loconet.LnThrottleManager???????????? WARN? - slot 1 address 4573 is already in-use. [AWT-EventQueue-0]
2018-08-14 18:22:43,674 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": New AutoEngineer, address=4573(L), length=65.7, factor=1.0 [AWT-EventQueue-0]
2018-08-14 18:22:43,678 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Top right at Held or Danger so Stop [AWT-EventQueue-0]
2018-08-14 18:22:43,678 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": StopInCurrentSection called for IY:AUTO:0001(Rear) [AWT-EventQueue-0]
2018-08-14 18:22:43,679 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": train is already stopped or stopping. [AWT-EventQueue-0]
2018-08-14 18:22:43,679 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": _speedIncrement=0.0033333334 [Auto Engineer 4573]
2018-08-14 18:22:43,683 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": AutoEngineer.setIsForward(true) [Auto Engineer 4573]
2018-08-14 18:22:44,294 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Top right(Caution) Slow(30), Dest: Bottom right, path max: 100 [AWT-EventQueue-0]
2018-08-14 18:22:44,295 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Top right setting speed to 30.0 for next [AWT-EventQueue-0]
2018-08-14 18:22:44,295 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedValue: Speed[30.0] [AWT-EventQueue-0]
2018-08-14 18:22:44,295 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedByProfile: SpeedState[0.3] [AWT-EventQueue-0]
2018-08-14 18:22:44,412 dispatcher.AutoTrainAction??????????? DEBUG - 47573 "The London STANDARD": setting light (F0) to On [Monitor Train Transit Action 4573]
2018-08-14 18:22:44,567 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Top right(Proceed) Normal(100), Dest: Bottom right, path max: 100 [AWT-EventQueue-0]
2018-08-14 18:22:44,567 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Top right setting speed to 100.0 for previous [AWT-EventQueue-0]
2018-08-14 18:22:44,567 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedValue: Speed[30.0] [AWT-EventQueue-0]
2018-08-14 18:22:44,568 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedByProfile: SpeedState[0.3] [AWT-EventQueue-0]
2018-08-14 18:22:51,680 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": new current signalmast Bottom right(Proceed) for section IY:AUTO:0002(Right) [Allocated Section Block Change on Right curve]
2018-08-14 18:22:51,680 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Bottom right(Proceed) Normal(100), Dest: Bottom left, path max: 100 [Allocated Section Block Change on Right curve]
2018-08-14 18:22:51,680 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Bottom right setting speed to 100.0 for previous [Allocated Section Block Change on Right curve]
2018-08-14 18:22:51,681 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedValue: Speed[100.0] [Allocated Section Block Change on Right curve]
2018-08-14 18:22:51,681 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedByProfile: SpeedState[1.0] [Allocated Section Block Change on Right curve]
2018-08-14 18:22:55,385 dispatcher.DispatcherFrame??????????? DEBUG - 47573 "The London STANDARD": releasing IY:AUTO:0001(Rear) [AWT-EventQueue-0]
2018-08-14 18:22:55,385 dispatcher.AutoAllocate?????????????? DEBUG - Allocating Train [47573 "The London STANDARD"/IZ6(Full circle from rear)] section [IY:AUTO:0001(Rear)] [AWT-EventQueue-0]
2018-08-14 18:22:55,385 dispatcher.AutoAllocate?????????????? DEBUG - Using Regular [AWT-EventQueue-0]
2018-08-14 18:22:55,386 dispatcher.AutoAllocate?????????????? DEBUG - 47573 "The London STANDARD": auto allocating Section IY:AUTO:0001(Rear) [AWT-EventQueue-0]
2018-08-14 18:22:57,807 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": new current signalmast Bottom left(Proceed) for section IY:AUTO:0003(Front) [Allocated Section Block Change on Front loop]
2018-08-14 18:22:57,808 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Bottom left(Proceed) Normal(100), Dest: Top left, path max: 100 [Allocated Section Block Change on Front loop]
2018-08-14 18:22:57,808 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Bottom left setting speed to 100.0 for previous [Allocated Section Block Change on Front loop]
2018-08-14 18:22:57,809 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedValue: Speed[100.0] [Allocated Section Block Change on Front loop]
2018-08-14 18:22:57,809 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedByProfile: SpeedState[1.0] [Allocated Section Block Change on Front loop]
2018-08-14 18:23:00,107 dispatcher.DispatcherFrame??????????? DEBUG - 47573 "The London STANDARD": releasing IY:AUTO:0002(Right) [AWT-EventQueue-0]
2018-08-14 18:23:00,225 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": new current signalmast Top left(Caution) for section IY:AUTO:0004(Left) [Allocated Section Block Change on Left curve]
2018-08-14 18:23:00,225 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Top left(Caution) Slow(30), Dest: Top right, path max: 100 [Allocated Section Block Change on Left curve]
2018-08-14 18:23:00,226 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": Signal Top left setting speed to 30.0 for next [Allocated Section Block Change on Left curve]
2018-08-14 18:23:00,226 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedValue: Speed[30.0] [Allocated Section Block Change on Left curve]
2018-08-14 18:23:00,226 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD":setTargetSpeedByProfile: SpeedState[0.3] [Allocated Section Block Change on Left curve]
2018-08-14 18:23:01,906 dispatcher.DispatcherFrame??????????? DEBUG - 47573 "The London STANDARD": releasing IY:AUTO:0003(Front) [AWT-EventQueue-0]
2018-08-14 18:23:03,370 dispatcher.AutoActiveTrain??????????? DEBUG - 47573 "The London STANDARD": StopInCurrentSection called for IY:AUTO:0001(Rear) [Allocated Section Block Change on Rear loop]
2018-08-14 18:23:03,404 roster.RosterSpeedProfile???????????? ERROR - Speed not available to compute distance travelled [Auto Engineer 4573]
2018-08-14 18:23:07,024 dispatcher.DispatcherFrame??????????? DEBUG - 47573 "The London STANDARD": releasing IY:AUTO:0004(Left) [AWT-EventQueue-0]
2018-08-14 18:23:12,816 dispatcher.AutoTrainAction??????????? DEBUG - 47573 "The London STANDARD": setting light (F0) to Off [Monitor Train Transit Action 4573]
2018-08-14 18:23:12,824 dispatcher.AutoActiveTrain??????????? DEBUG - executing task[0] [Wait for stop 47573 "The London STANDARD"/IZ6(Full circle from rear)]
I hope that this assists.


Locked Re: Full timetable automation - AutoDispatcher 2 - abstraction - documentation - scripting

 

David,

thank you for your response. I had heard of YAAT, but the description gave me the impression that it was really only a template for simple procedural scripts of the "set throttle on train no. 21 to 60%, then throw turnouts nos. 7 and 8" sort rather than a system using a higher level of abstraction.

If this impression was incorrect, may I ask where I can find documentation on this and in particular its use in non-trivial instances of timetabled automation?

James.


Locked How to terminate python script

 

I have a python script which runs a nice throttle.? It builds a window with necessary buttons, etc.? However I am trying to figure a way of closing the window (terminating the script) from within the script but in the same way as clicking on the?red title bar close button.? I have tried "exit()" but that closes down PanelPro altogether.? I have tried "f.dispose()" as?in one of the example scripts but?since I have my script in a Class, I am apparently not getting the f.dispose()?at the right level. within the code.? I wanted to execute it from a defined function called from a button click.?


Locked Re: Z21 and POM

 

¿ªÔÆÌåÓý

Moreno,


On Aug 9, 2018, at 11:31 PM, Paul Bender <paul.bender@...> wrote:
This is going to take a little time to sort out, but I should get it done within the next couple of days.

I have the write in POM mode working correctly now. ?You can download a daily build of JMRI that includes the update here:
?

Paul


Locked Re: Scripts

 

¿ªÔÆÌåÓý




On Aug 13, 2018, at 3:28 PM, halasz <halasz.gabor@...> wrote:
Both sensors watching the sections (channels of a Roco 10808 current detector connected to a Z21 command station), as well as the loco decoder are capable of RailCom, hence they can provide the feed-back needed.

Can you get me a log of how the railcom detection messages are showing up from the Roco 10808 sections?

I know how the railcom detector built into the Z21 command station provides information to us, but it looks like the Roco 10808 might report things in different ways based on how it is configured.

I am not familiar with Python (Jython) and know even less about the way RailCom feed-back is made use of. Can anybody tell me how to modify the code and, possibly, change the setting?

Railcom detection is provided via a reporter object. ?It is not quite the same as a sensor, though there is a sensor associated with it.

The example script:

Shows generally how to work with reporters in a script. ?This is a bit LocoNet specific in handling the reporter output. ?I may have an example that can be used with the railcom objects provided by the Z21 command station¡¯s internal railcom detector. Let me look into that later today.

Paul


Locked Re: Full timetable automation - AutoDispatcher 2 - abstraction - documentation - scripting

 

James,

There is another automation script that you might want to look at: YetAnotherAutoTrain.py (YAAT).

The download link is /g/jmriusers/files/Script%20examples//yaat1.6.zip

This uses text files to define train actions.

If you decide to try it, I recommend that you create a separate profile and expand the zip file there.


Dave Sand

On Aug 14, 2018, at 6:16 AM, jamespetts via Groups.Io <jamespetts@...> wrote:

I am in the process of evaluating whether JMRI is suitable for what I want to do. In simple terms, I am planning on building some UK based main line railway layouts focussing on passenger operations. Here is a track diagram for the one that I am planning to build first, in UK N gauge 1:148. I am after full automation, preferably with optional manual intervention in the area of signalling ("dispatching" in US terms). I have started with a small test layout, and have been having some difficulties in getting JMRI to work consistently, as discussed in more detail here. Some of those difficulties I have managed to resolve with assistance, but some remain.

I have seen that some people have managed some extremely impressive feats of (semi-)automation with JMRI, with the video in the preceding link showing a layout with a fully realistic IECC panel and simulated off-scene train movements.

However, the more that I look into this in detail, the more that I find that there is a lack of clear documentation about how to achieve all but the most basic of automation and what automation functions are actually built into JMRI and what has to be done by way of scripting (and, if the latter, quite how general and abstract that these scripts can practically be).

My own investigations so far have got as far as transits and Auto Active Trains running on transits. I note that transits cannot easily be used in an abstract way in scripting because only one Auto Active Train may be assigned to a transit at a time. So, for example, if I wish to have two trains on the down main, each stopping at the station and then returning to the fiddle yard, I need a separate transit for each.

Furthermore, there does not seem to be any built-in support for timetables. I had wondered whether OperationsPro would allow for this. IT does appear to have a timetable function. However, its documentation suggests that this tool is not suitable for passenger operations. To quote from the manual,

"The JMRI Operations program allows you to create computer generated train Manifests for your railroad. A train Manifest details the work that a crew will perform during an operations session. The Manifest provides a list of car pick up and set outs and shows where the cars are located and where they should be eventually positioned on the railroad. The program allows you to enter a roster of cars and locomotives, define locations (stations) on the railroad, and routes for trains to travel. The car roster includes information about the car, including road, number, type of car, color, length, weight, load, date built, and owner. Trains are assigned routes that define locations or stations where cars can be picked up or set out. Features include the ability to control what car types, roads, and car loads a location or industry can service, the available track space for a location, and the maximum length the train can be between any two locations in the train's route"

The whole of the documentation for OperationsPro seems to focus on the concept of industries and what "cars" (wagons) need to be dropped off or collected from such industries and the creation and subsequent automation of manifests that describe precisely this process. The timetable feature appears from what I can tell to link directly into the concept of manifests, which have no equivalent in UK passenger operation. Have I misunderstood OperationsPro - is it suitable for a high-level, abstracted implementation of timetable based UK style passenger operations on a substantial main-line layout? If so, is there any documentation on how it might be used in this way?

There is then the "AutoDispatcher 2" script in the scripting examples section of the JMRI website. This is described thus,

"This script provides full layout automation, using connectivity info provided by Layout Editor panels"

However, there is no documentation on how to use this or what its capabilities are. Looking at the code, I note that there is substantial code for parsing timetables, but there is no documentation on the format of these timetables. I could in theory eventually work out what it does by reading the code and testing it in practice, but this seems a rather absurd length to which to have to go to learn how some software works, especially if I cannot be sure before investing that sort of amount of time that it will do what I want in the first place.

Aside from OperationsPro with its apparent limitations, and the enigmatic AutoDispatcher 2, has anyone managed to use JMRI for layout automation in a way that does not involve writing layout-specific and possibly even timetable-specific logic in a Jython script? I do not want to have to rely on software in which code and data are not separated in order to automate my layout Do the tools built into JMRI itself allow for sufficient abstraction for this to work without having to write all the abstraction (and basic things such as text file parsing logic for interpreting timetables) into a Jython script? A scripting language seems inapposite for writing what would amount to a very substantial piece of abstracted program logic.

What would be ideal is a very high level of abstraction, although whether this is possible with any current software I am doubtful. Ideally, there would be diagrams, which would describe the service pattern of a train in a vaguely similar way to transits, but with a higher level of abstraction (e.g., start from somewhere (i.e., not a specific road, but any road) in the up fiddle yard, progress through the down relief line, stop at platform 5 (or, if that platform is not available, platform 3) until the timetabled departure time for the working in question from that station, then continue on the down line to any free road in the down fiddle yard). There would then be workings, which would define an individual instance of a train working that diagram. A timetable would specify timing points for each working on each diagram (in the above example, there would be timing points at the start of the working and for departure from the station platform), and would also give the workings each a unique name (which could be an alpahnumeric code such as 2A32 such as used in the UK TOPS system), which would then be displayed on the panel next to the train as it moves through the sections in the layout. (I have seen videos of this sort of train describer working, but I have never found any documentation on how to achieve this - the closest that I have got is using reporters for RailCom feedback devices, but these are very crude). The next layer of abstraction would be formations - a specific set of locomotives, carriages and/or wagons making up an individual train. At the first timing point of a working, a particular formation in the fiddle yard would be selected using an algorithm (which might be semi-random, e.g., pick any train in the up fiddle yard marked as suitable for this diagram that is not in the process of being re-marshalled).

Has anyone ever managed to achieve anything like this level of abstraction? I have seen lots of layout automation examples, but because they rarely come with detailed documentation on how they were achieved, it is hard to know whether they were anything more than a wholly procedural system (code explicitly providing, e.g., increase throttle on train no. 421 until sensor 15 is high, then decrease throttle after 2 seconds; when sensor 14 is low, throw points 19 and 20 then increase throttle on train no. 317...", etc.) specific to that layout and timetable.

I imagine that some of this abstraction could workably be implemented by scripts, but only if the base logic in JMRI were sufficient prevent the script from having to be in effect a fully fledged automation package with JMRI acting only as the interlocutor between the scripting language and the layout hardware: having to implement text parsing logic, a user interface for inputting timetables, etc. into a script (and a script is not really suited to that task in any event, I imagine) seems rather excessive.

I should be very grateful for feedback on this issue, as I am keen to make progress with evaluating various types of layout control software so that I am able to focus on learning only one and also so that I can consider my hardware needs in light of the software choice, as some hardware (specifically, MERG CBUS equipment) works only with JMRI.


Locked Re: Entering New Loco's in DEcoder Pro

 

Ah, you¡¯re probably right. The Sprog 2 I have has a 12volt .25 amp power supply. The Digitrax has a 14 volt, no amps given. I think upping the power supply¡¯s will probably do the trick. Thanks.


Locked Re: Dispatcher Questions

 

Nick
In SML the final stop signal mast is the "Destination", without it there would be no? route to... SSL doesn't need one.
I will see if I can play around with the stop to make it happen.
Steve G.


Locked Re: Layout editor turnout control issue

 

Andrew,

I created a DCC++ simulated connection.

When I try clicking the turnout on the panel it behaves as you described. At least for simulation, the known state (feedback) does not get populated. You can see this information by selecting the "Show Feedback Information¡± option at the bottom of the turnout table.

If I set the ¡°Mode" to BSTURNOUT or BSOUTPUT, then the feedback is simulated and the panel responds as expected.


Dave Sand

On Aug 14, 2018, at 4:42 AM, LMSFAN72 <andrew@...> wrote:

Just to add, my system is:

Raspberry Pi with Raspbian Stretch 9
Java 1.8.0_65
Panel Pro 4.12+Rb6a9bb1
DCC++ though Arduino Mega 2650 with Pololu motor shield


Locked Re: ADMIN: PERMITTED TOPICS - A general reminder for everyone #admin

 

Peter -

Thanks for the clarification. ?These posts should all be helpful in better using JMRI.

jerry
___________________________________
jerryg2003@...


Locked Re: ADMIN: PERMITTED TOPICS - A general reminder for everyone #admin

 

Jerry,
On Aug 14, 2018, at 8:09 AM, JerryG via Groups.Io <jerryg2003@...> wrote:
I for one really appreciate all the time and effort the experts put in to answering questions on this list. You are all awesome helpful! I do have a question, however...

If this list is only for TECHNICAL aspects of JMRI (as your post states), then where can us beginners go to get help with how to ¡°USE¡± JMRI?
Technical aspects includes how to use JMRI, as such this is the place for beginners to ask for assistance.

Topics can stray into hardware on the layout used through JMRI ( such as signals ) but they shouldn¡¯t stray into general modeling topics, or non modeling topics, that have nothing to do with JMRI.

Paul


Locked Re: Inconsistent behaviour with the dispatcher

 

That's the right place to look, but you don't have DEBUG turned on for dispatcher, or you'd see many more messages. To enable debug for Dispatcher, add the following line:
log4j.category.jmri.jmrit.dispatcher=DEBUG
to your default.lcf file and restart JMRI. You should see many more lines in your session log (aka JMRI console).


Locked Re: Full timetable automation - AutoDispatcher 2 - abstraction - documentation - scripting

 

Richard,

thank you for your reply. I have indeed been trying the demonstration version of TrainController Gold. The purpose of the exercise is to determine which is likely to be more suitable. The 15 minute connectivity limit in the demonstration version makes it rather hard to evaluate properly. I have managed to get basic functionality working with my layout.

One thing that I do want to check is whether I can get it running in Linux under Win, as the computer that I want to use in my railway shed runs Linux. I have managed to make it work in offline mode under Wine apparently without much difficulty (and I am told that the McKinley Railway manages to get TrainController working on Linux servers), but I have yet to try connecting the command station to it running under Wine to see how it handles USB connexions.

I am not a fan of the interface in TrainController. I rather like the open source nature of JMRI and the possible ability to build much more realistic panels than in TrainController. Nonetheless, it may transpire that, although I am willing to do some scripting, the limitations in JMRI are so great that it is not feasible to do this within a sensible amount of time. That would be a great shame, I think, but I do want to be able to build and run my model railway within a reasonable amount of time.

I have not got into all of the finer details of TrainController yet, but I have been watching the interesting video tutorials by "Rudysmodelrailway". Do you know whether it is capable of the sort of abstraction that I have in mind as the ideal above? It may have to suffice in any event if it does not, but it would be relevant to the decision if so.

Incidentally, if anyone is able to assist with the original questions regarding quite how far that JMRI can go for full timetabled automation without writing something of similar complexity to JMRI itself in Jython scripts, I should be very grateful.


Locked Re: Inconsistent behaviour with the dispatcher

 

Thank you for your responses.

As to the debug for the dispatcher, do you mean the console output? If so, the output with a single train running is as follows:

[code]
2018-08-14 16:09:05,891 util.Log4JUtil??????????????????????? INFO? - * JMRI log ** [main]
2018-08-14 16:09:05,904 util.Log4JUtil??????????????????????? INFO? - This log is appended to file: C:\Users\James\JMRI\log\messages.log [main]
2018-08-14 16:09:05,905 util.Log4JUtil??????????????????????? INFO? - This log is stored in file: C:\Users\James\JMRI\log\session.log [main]
2018-08-14 16:09:05,915 apps.Apps???????????????????????????? INFO? - PanelPro version 4.12+Rb6a9bb1 starts under Java 1.8.0_181 on Windows 7 amd64 v6.1 at Tue Aug 14 16:09:05 BST 2018 [main]
2018-08-14 16:09:07,386 apps.Apps???????????????????????????? INFO? - Starting with profile Automation_test_layout.3f6acf02 [main]
2018-08-14 16:09:07,541 node.NodeIdentity???????????????????? INFO? - Using jmri-dG1h9cpHGhNiaahg7KpNdQ-3f6acf02 as the JMRI Node identity [AWT-EventQueue-0]
2018-08-14 16:09:07,700 xml.AbstractSerialConnectionConfigXml INFO? - Starting to connect for "LocoNet" [main]
2018-08-14 16:09:08,093 locobufferusb.LocoBufferUsbAdapter??? INFO? - LocoBuffer-USB adapter set hardware flow control, mode=2 RTSCTS_OUT=2 RTSCTS_IN=1 [main]
2018-08-14 16:09:08,095 locobuffer.LocoBufferAdapter????????? INFO? - COM8 port opened at 57600 baud with DTR: true RTS: true DSR: true CTS: true? CD: false [main]
2018-08-14 16:09:08,154 loconet.LnPacketizer????????????????? INFO? - lnPacketizer Started [main]
2018-08-14 16:09:08,567 util.FileUtilSupport????????????????? INFO? - File path program: is C:\Program Files (x86)\JMRI\ [main]
2018-08-14 16:09:08,568 util.FileUtilSupport????????????????? INFO? - File path preference: is C:\Users\James\JMRI\Automation_test_layout\ [main]
2018-08-14 16:09:08,568 util.FileUtilSupport????????????????? INFO? - File path profile: is C:\Users\James\JMRI\Automation_test_layout\ [main]
2018-08-14 16:09:08,568 util.FileUtilSupport????????????????? INFO? - File path settings: is C:\Users\James\JMRI\ [main]
2018-08-14 16:09:08,568 util.FileUtilSupport????????????????? INFO? - File path home: is C:\Users\James\ [main]
2018-08-14 16:09:08,569 util.FileUtilSupport????????????????? INFO? - File path scripts: is C:\Program Files (x86)\JMRI\jython\ [main]
2018-08-14 16:09:09,539 PanelPro.PanelPro???????????????????? INFO? - Main initialization done [main]
2018-08-14 16:09:17,931 layoutEditor.BlockValueFile?????????? ERROR - block Right curve is not occupied but has a saved value, not setting saved block values [AWT-EventQueue-0]
2018-08-14 16:09:17,941 layoutEditor.BlockValueFile?????????? ERROR - block Right curve is not occupied but has a saved value, not setting saved block values [AWT-EventQueue-0]
2018-08-14 16:09:23,197 layoutEditor.BlockValueFile?????????? ERROR - block Right curve is not occupied but has a saved value, not setting saved block values [Thread-11]
2018-08-14 16:09:53,632 dispatcher.AutoTrainsFrame??????????? INFO? - No Throttle[47573 "The London STANDARD"/IZ6(Full circle from rear)] [AWT-EventQueue-0]
2018-08-14 16:10:13,541 roster.RosterSpeedProfile???????????? ERROR - Speed not available to compute distance travelled [Auto Engineer 4573]
[/code]

The first three errors are present from when JMRI is started - the final INFO and ERROR occur only after the auto active train has started and completed its transit.

I should note that there is a speed profile defined for this locomotive.

Does this assist?


Locked Re: Dispatcher Questions

 

Steve, thanks,

In my case the stop signal was set well in advance of allocations for the on-coming train.

I noticed that at the end of the allocated sections there is always a stop signal. How does the program know the difference between that stop and the dispatcher setting a stop signal?

Nick


Locked Re: Two computers

Graham Orriss
 

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
Sent: 14 August 2018 15:05
To: JMRI Users
Subject: [jmriusers] Two computers
?
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