开云体育

Date

Locked Re: Dispatcher Questions

 

Hi Nick
1. Is there a difference between a "dispatcher hold" and just setting a signal to stop? I had one of the trains 'allocate' through and then run through a stop signal I had set. (I have sys con readout with debug info if needed.)
For Auto trains under SML "Hold" or "Stop" may stop the train. In SSL "flashing red" means "STOOOOPPPPP!", and is never ignored. If a signals stop it may stop. I know that sounds odd but when a train enters the block after the "go" signal we are notified the signal is now "stop", sometimes we are notified its "stop" before we are notified of the new block change, so we ignore it if the next block is allocated to us and is unoccupied. So setting the signal to Stop, or Hold may fail if the train is already in the block. A lot of the processes are happening in parallel, so receiving events out of order is common place.
2. (Issue) Clicking "stop all trains" won't prevent a paused train from restarting when the "pause is over" listener goes off. With more than one train running and then having a problem, I would rather not have a paused train start moving in the middle of it.?
I have seen this, its a bug, along with trains that aren't scheduled to run yet starting up when there time comes. I've always thought of this as a guideline rather than a rule!
3. (Issue)?The Target Speed for an auto train entering a multi-block section is not being set correctly.
Yes, your correct.?
?
Steve G.


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

 

Peter -

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? ?I’ve been following (and contributing) for several months and find the discussions about how to use different aspects of the programs most helpful. ?If you really want to help beginners (as your post says), then you need to let beginners ask questions that will help them make fuller and better use of all the features that JMRI provides.

Thanks again to to all the contributors to this list, and to JMRI overall. ?You are really adding to “the greatest hobby in the world.”

Jerry

P.S. ?please repeat the info on how to donate!
_____ ____________________________
jerryg2003@...


Locked Re: Inconsistent behaviour with the dispatcher

 

Hi James
When a train enters the final block.
If the length of the train is longer than the length of the block or its stopping by speedprofile it stops.
? ? ? ? ?By setting speed to 0, if it has no speed profile.
? ? ? ? ? If the speed profile is correctly done, it stops gently and hopefully comes to a stop at the far end of the block.
? ? ? ? ? If the speed profile is faulty theres no saying what it will do. If the current speed is too fast, the block too short or? it cant find a firing plan, it will normally set speed 0.
If the train fits the block and not stopping by speed profile, it sets speed 25% throttle and to zero when the train exits the penultimate block.
The Warrents speed tables must be sane, the loco decoders must be sane, preferably real speed linear.

Most of the speed setting code is in AutoActiveTrain.java.

Steve G.


Locked Re: Inconsistent behaviour with the dispatcher

 

James,

You asked: Does anybody know what part(s) of the code in the Github repository deal with this specific aspect of things so that I can try to read the code and piece together the underlying logic myself?

I copied some of the code out of Github to study a little while ago. Assuming you know a little about Github, which is about all I know, look in
JMRI-master>java>scr>jmri>jmirt>dispatcher. There you will find the main body of code that implements Dispatcher. In particular, look at AutoActiveTrain.
But beware this will take almost a life-time of effort to figure out!?

Nick


Locked XML code question: panel size

 

In my panel's xml file, <LayoutEditor, what is the difference between?

height="676" width="1893" windowheight="364" windowwidth="951" panelheight="676" panelwidth="1893"

I'm trying to reduce the size of the panel by eliminating the extra space. (Maybe I don't really need to, but...) Also sometimes, especially now after I've mucked with these setting, the panel opens without all the layout pieces shown. I have to zoom out and then back in to get everything to display.

Thanks,
Nick


Locked Dispatcher Questions

 

I've been using Dispatcher on a fairly large four-track mainline layout to run up to 3 trains on auto. It's been a bit of a climb but I've got things sort of working now,... sort of.

I have a question and a couple of issues. All are having to do with auto trains using SML.

1. Is there a difference between a "dispatcher hold" and just setting a signal to stop? I had one of the trains 'allocate' through and then run through a stop signal I had set. (I have sys con readout with debug info if needed.)

2. (Issue) Clicking "stop all trains" won't prevent a paused train from restarting when the "pause is over" listener goes off. With more than one train running and then having a problem, I would rather not have a paused train start moving in the middle of it.?

3. (Issue)?The Target Speed for an auto train entering a multi-block section is not being set correctly.
?
**TECHNICAL WARNING**
?
In the code, setSpeedBySignal is used when the train enters a section to determine and set a new target speed. The software compares the speed dictated by the next signal aspect to the maximum speed allowed for the next signal’s path and chooses the lesser speed. Then this "speed”, the variable in the code, is compared to "prevSpeed", a saved value of "speed" which was determined when the train entered the last section. The lower value of these two is chosen as the target speed. The value of "prevSpeed" is then reset to the speed just calculated.
?
A problem occurs in multi-block sections because setSpeedBySignal is invoked each time a block is entered. After the first block "prevSpeed" has been reset to the maximum speed allowed for the next section. It no longer is the maximum speed allowed for the current section. In the case of a train being in a section with a limited path speed and a clear aspect on the controlling signal, the train speeds up to normal speed after it enters the second block, even though it is still in the speed limited section.

With SML, only use?
setSpeedBySignal when a section is entered rather than when every block is entered.


Thanks as always,
Nick





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

 

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. 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 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 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 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 and , define (stations) on the railroad, and for 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 "" script in the 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: New file uploaded to [email protected] - tcs-wow.zip

 

开云体育

Michael,

?

Better to apply this (TCS_WOW_Diesel03.xml & TCS_WOW_Diesel04.xml & paneWowReadMe.xml) to production release JMRI_v4.12+Rb6a9bb1 or the latest beta, JMRI_v4.13.2+R8a2b21d?

?

Thank you very much!!

?

Greg Komar

gkomar@...

"The nicest thing about the future is that it always starts immediately."


From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Notification
Sent: Monday, August 13, 2018 8:41 AM
To: [email protected]
Subject: [jmriusers] New file uploaded to [email protected]

?

Hello,

This email message is a notification to let you know that a file has been uploaded to the Files area of the [email protected] group.

File: tcs-wow.zip

Uploaded By: Michael Mosher

Description:
add quill checkboxes to diesel sound set 3 & 4.

You can access this file at the URL:
/g/jmriusers/files/Decoder%20files/TCS%20decoders/tcs-wow.zip

Cheers,
The Groups.io Team


Locked Re: Inconsistent behaviour with the dispatcher

 

James, have you turned on the DEBUG for Dispatcher? If not, I'd recommend you do so, as it provides more detail about what Dispatcher is doing behind the scenes.
--SteveT


Locked Re: Inconsistent behaviour with the dispatcher

 

I have been running further tests relating to this topic. First, I installed proper resistance wheelsets on one of the carriages that I am using, since the carbon paint that I had been using had too high a resistivity to work. I have found that, with the Digikeijs DR5088RC, I need two 10k resistors on adjacent axles for this to work reliably (and even then, the resistance seems to have been reduced by coating some of the top in silver paint to ~5-7k per wheelset rather than the base 10k; shorting the track with a 10k resistor in line will not trigger the occupancy detection).

I next re-ran the tests that I had run earlier on the modified, simplified version of my testing layout, represented as a single loop with the modified panel kindly provided earlier in this thread. I made sure to select "all cars have resistance wheelsets" and I measured the length of the trains and converted these to scale meters to enter into the auto active train dialogue.

There was a slight improvement, in that, with the resistance wheelsets, the train would not stop with the carriages still in the previous section. However, there is still inconsistency between running with two active trains and one active train that is not explained by the necessities of slowing for signals. With two active trains, as before, the trains would stop much farther into the final section in the transit than with just one active train. Moreover, with just one active train, the train would accelerate to a high speed and very suddenly decelerate to a much lower speed on entering the final section in the transit. Having done that, it would then stop fairly smoothly with all carriages fully in the final section, but in a completely different place (less far into the final section in the transit) to the place in which it would stop when there was a second active train on the layout.

Does anyone have any idea why this sudden deceleration behaviour is occurring? Further, is there any way of making the trains stop at a consistent? (or specific) point at the ends of their transits (consistent, that is, with the behaviour of trains at the end of their transits also under a restrictive signal aspect as when there are two trains on the layout)? I am using Zimo decoders with BEMF, so it should be possible to assume accurately that commanded speed has a consistent relationship with actual speed. Inertia/momentum is set to zero on the decoder, although I usually set the ramp speed to "medium slow" in the Auto Active Train settings.


Locked Re: Layout editor turnout control issue

 

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: Layout editor turnout control issue

 

Thanks Dave, I have tried that and still not working I am afraid. Clicking only closes the turnout, never throws it. I have tried to screenshot my problem and set up. Basically, when I click on a point circle the first time the turnout table state registers but any further clicking on the same turnout doesn't toggle the state, just leaves it closed. The physical turnout gets the operate instruction (the solenoid fires but obviously it doesn't move because it is already closed). Right clicking has no response at all. It seems strange that the both legs are always drawn. Picture of set up in the link.

/g/jmriusers/album?id=66717


Locked Re: Decoder Pro Manual ?

 

开云体育

That will never happen while manufacturers are bringing out new devices/models and users are expecting JMRI to do more things and better.

We are all volunteers and give of our time freely, with the only cost being our other life priorities/commitments.

--?
Dave in Australia

The New England Convention 2018

On 14 Aug 2018, at 10:08 AM, John <jonie41@...> wrote:

Once JMRI has slowed down in it's development and become more sedate in
development a manual con be under taken.


Locked Re: EPrompt change

 

开云体育

You haven't explained what NCE system you have. Until we know that, we cannot possibly help you:
1) Is it an NCE Power Pro (has a metal case labelled something like PH-PRO) and the supplied throttle is labelled Pro Cab? You connect using a USB-Serial cable.
2) Is it an NCE Power Cab (the supplied throttle is labelled Power Cab)? You connect using an NCE USB board.
3) Is it an NCE Smart Booster SB3/SB3a/SB5) (would be labelled as such)?


--?
Dave in Australia

The New England Convention 2018

On 14 Aug 2018, at 10:15 AM, Wayne Yount <s.w.yount@...> wrote:

Oops. I meant Eprom. I have a NCE system with a Eprom of 7. I sent it in for repair and got a loaner from a friend. The Eprom in it is a 4. JMRI keeps asking me to change? it from a 7 to a 4. How do you change the software in JMRI to show a 4.


Locked JMRI 4.12 not reading decoder type

 

I am restoring my roster after losing half of it to my experiment with profiles. Version 4.12 is not reading the decoder types - it gets stuck reading CV 159. These are all decoders that it has read before - what gives?

David Lay
Kingston, Ontario


Locked Re: Power Pro connecting to Macbook Pro issues

 

开云体育

Ron,
Your problem is not the same as Bob's.

- In Ron's case, his macOS is not loading a driver for his adaptor cable and hence there is no port for JMRI to connect to. I have given him instructions in how to check for a device and see when it is loading a driver and what the port name is.

- In Bob's case, he is connected to a COM port but it is returning incorrect information to JMRI. This has different causes. Either:
- Bob has chosen an incorrect COM port. He can check this by opening Windows Device Manager and watching what (if any) COM port appears/disappears as the adaptor is connected/disconnected. If no change, he also has a driver problem.
- Bob is connected to the connect COM port and the Power Pro is returning unexpected information. This is either due to an EPROM version mismatch, one or more incorrect setting(s) in the Power Pro or a dodgy connection to the Power Pro. The instructions I have given him cover these possibilities.

Thanks for supplying JMRI System Console output with your queries. Please always do so. This lets us narrow down the problem quickly.

--?
Dave in Australia

The New England Convention 2018

On 14 Aug 2018, at 10:00 AM, Bob via Groups.Io <GMRC405@...> wrote:

Sounds like the same problem that I’m having. Posted ?earlier today.

?


On 14 Aug 2018, at 10:37 AM, Ron Burkhard <ronburk453@...> wrote:

Glad to see I am not alone in this, I have someone to commiserate with. Lower case lol.
Ron


Locked Re: Power Pro connecting to Macbook Pro issues

 

开云体育

Bob,
Your problem is not the same as Ron's.

- In Ron's case, his macOS is not loading a driver for his adaptor cable and hence there is no port for JMRI to connect to. I have given him instructions in how to check for a device and see when it is loading a driver and what the port name is.

- In Bob's case, he is connected to a COM port but it is returning incorrect information to JMRI. This has different causes. Either:
- Bob has chosen an incorrect COM port. He can check this by opening Windows Device Manager and watching what (if any) COM port appears/disappears as the adaptor is connected/disconnected. If no change, he also has a driver problem.
- Bob is connected to the connect COM port and the Power Pro is returning unexpected information. This is either due to an EPROM version mismatch, one or more incorrect setting(s) in the Power Pro or a dodgy connection to the Power Pro. The instructions I have given him cover these possibilities.

Thanks for supplying JMRI System Console output with your queries. Please always do so. This lets us narrow down the problem quickly.

--?
Dave in Australia

The New England Convention 2018

On 14 Aug 2018, at 10:00 AM, Bob via Groups.Io <GMRC405@...> wrote:

Sounds like the same problem that I’m having. Posted ?earlier today.

?


Locked Re: I/R detectors

Jon Miller
 

开云体育

On 8/13/2018 5:46 PM, Barry Draper wrote:
but that is with my own amplified driver.
??? It's probably easier to look at the eBay item, eBay item number: 332427277346.? These are mounted detectors using an adjustable op amp.? I think I have fixed the problem.? I found some black paint and redid the detectors and now they work with the test cars.? Will need to install all the detectors (9 of them), wire up the Opto-isolators (3 needed), and connect to the Logic Rail modules (of which I have 2).? After that the finial test!:-D
-- 
Jon Miller
For me time stopped in 1941
Digitrax  Chief/Zephyr systems, JMRI User
SPROG User
NMRA Life member #2623
Member SFRH&MS


Locked Re: I/R detectors

 

Jon,

What driver circuit are you using? That makes a huge difference, but regardless of the driver not all IR detector pairs are created equal. The specs on the TCRT5000 show 15mm (aprox. .5 inch) but that is tested with a mirrored surface. I have had good luck with a pairing of LiteOn LTR-4206E LED and LiteOn LTE-4206 phototransistor. These are discrete T-1 package, and require some sort of light shield between them on installation. Also, the LTE-4206 phototransistor has backward polarity, the positive is the short lead/ flat edge. I find I have no problem detecting up to an inch with black bottom cars (HO scale), but that is with my own amplified driver.

Barry Draper
________________________________________
From: [email protected] <[email protected]> on behalf of Jon Miller <atsfus@...>
Sent: Sunday, August 12, 2018 1:10 PM
To: [email protected]
Subject: [jmriusers] I/R detectors

This may be a little off topic for this group but I need some engineering help. I'm using some TCRT5000 Infrared detectors (eBay). When testing a light brown colored underframe the detector will trip at about 1". However when the underframe is black that reduces to about a 1/4". [there is more to this story but later if required]

My question, if I increase the current to the IR LED (by decreasing the resistor) can I get more range? It appears the resistor now is around 30mA but the device specs say it could take 60mA. Maybe take to 45mA!:-\

--
Jon Miller
For me time stopped in 1941
Digitrax Chief/Zephyr systems, JMRI User
SPROG User
NMRA Life member #2623
Member SFRH&MS


Locked Re: Power Pro connecting to Macbook Pro issues

Ron Burkhard
 

开云体育

Glad to see I am not alone in this, I have someone to commiserate with. Lower case lol.
Ron

On Aug 13, 2018, at 19:00, Bob via Groups.Io <GMRC405@...> wrote:

Sounds like the same problem that I’m having. Posted ?earlier today.

?

Sent from for Windows 10

?

From: Ron Burkhard
Sent: Monday, August 13, 2018 3:13 PM
To: [email protected]
Subject: [jmriusers] Power Pro connecting to Macbook Pro issues

?

Gents,

??? The subject issue: NCE Power Pro, serial port RS232 connected to PC windows 10 works normally.? Older JMRI version not updated recently.? I have plugged the RS-232 to USB into PC with no positive results, and have not attempted to trouble shoot at this time.

The Problem: I am attempting to use said Power Pro connecting to Macbook Pro 2.7 Core i7.? JmRI Ver 4.12+Rb6u9bb1, java 1.8.0_171(en_US).

Per Dave Heap for the NCE users group emails, software/updates, Silabs usbdriver disk.dmg, Trendnet TU-S9 software, Mac.os.vcp_driver.zip,? have been downloaded & installed.? The cable is from the desktop to a Trendnet TU-S9 RS232 to USB.

I suspect the Trendnet is the culprit in the laptop not communicating to the Power Pro.? I have been through all the preferences:

NCE

System Mfr - NCE

System connection - Serial

Serial Port choice - Choices are None/cu.Bluetooth-incoming.port/TTy.Bluetooth-incomming-port (none work)

Connection prefix - N

Connection Name - NCE

Baud rate - 9600

Eprom - 2006 or later

Any ideas out there?

Thanks

Ron B

?

?