¿ªÔÆÌåÓý

Date

Locked Re: Seeking advice on session planning using Operations and CATS

 

What about using automation to automatically build trains and print out the necessary paperwork? One thing I¡¯ve been experimenting with of late is starting with just four trains built and, as the op session progresses (I use web server to view the switch lists, move, and terminate trains) the automation will automatically build trains. Some trains are only built after one train terminates and other require multiple trains to terminate before building. One of the automations handles cars into and out of staging as well.?

Sam


Locked Re: Issue with Engine Driver and functions

 

Thomas,
Thanks for the log, it shows that the commands from EngineDriver are being sent exactly as I'd expect. I see the on and off commands for each of the functions you describe.
Next thing to try is enable withrottle debugging and send me the JMRI session.log file, to see if there's some sort of issue there. Follow the DEBUG steps here:?

I don't have Easy DCC, so I can't verify it myself. Maybe someone else with Easy DCC can advise their results?

--SteveT


Locked Re: New to JMRI operations

 

Hi Mike,

Here's the link the the help page:



And here's where you setup the font and colors for your Manifests:



Dan


Locked New to JMRI operations

 

I just finished watching the NMRA video number 1 from the clinic of this years convention on JMRI operations. The video was so good that I felt I could handle setting up and using the Operations program.?
I have locations, cars and route set up and have made a train. So cool!

At this time my first question is about the print out. I am dealing with the font being sort of hard to read. I would like to know if I can change the font to a larger size and colors. I know about the color on the set up page.I am looking for, two different colors, one for the set out and one pick up.?

Is it possible to change the font and print colors??

Thanks for your time helping me.?
Mike Swederska


Locked Re: Issue with Engine Driver and functions

 

Steve,
Throttle on JMRI works fine. bell, horn and Mute all work fine.
Engine driver, same address, not so much.
and ED sees the throttle speed changes fromthe JMRI throttle.

I set to copy log to file.?
Set F0, F1, F2, F8 and F14 on, run a bit, then all off.

Here is log:
--------- beginning of main
09-04 17:57:17.782 31398 31398 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-04 17:57:17.870 31398 31433 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:612>: EGL_BAD_ATTRIBUTE
09-04 17:57:17.957 31398 31418 D Engine_Driver: -->:M0A*<;>qV
09-04 17:57:17.958 31398 31418 D Engine_Driver: -->:M0A*<;>qR
09-04 17:57:17.979 31398 32284 D Engine_Driver: <--:M0AS22<;>V0
09-04 17:57:18.032 31398 32284 D Engine_Driver: <--:M0AS22<;>R1
09-04 17:57:20.354 31398 31398 D Engine_Driver: Preferences: Got permission for STORE_LOG_FILES - navigate to saveSharedPreferencesToFileImpl()
09-04 17:57:20.392 31398 31433 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:612>: EGL_BAD_ATTRIBUTE
09-04 17:57:23.964 31398 31418 D Engine_Driver: -->:M0A*<;>qV
09-04 17:57:23.965 31398 31418 D Engine_Driver: -->:M0A*<;>qR
09-04 17:57:23.997 31398 32284 D Engine_Driver: <--:M0AS22<;>V0
09-04 17:57:24.047 31398 32284 D Engine_Driver: <--:M0AS22<;>R1
09-04 17:57:26.459 31398 31398 D Engine_Driver: log_viewer.onDestroy() called
09-04 17:57:28.153 31398 31418 D Engine_Driver: -->:M0AS22<;>F10
09-04 17:57:28.179 31398 32284 D Engine_Driver: <--:M0AS22<;>F10
09-04 17:57:28.275 31398 31418 D Engine_Driver: -->:M0AS22<;>F00
09-04 17:57:29.312 31398 31418 D Engine_Driver: -->:M0A*<;>F11
09-04 17:57:29.313 31398 31418 D Engine_Driver: -->:M0A*<;>F01
09-04 17:57:29.337 31398 32284 D Engine_Driver: <--:M0AS22<;>F11
09-04 17:57:29.967 31398 31418 D Engine_Driver: -->:M0A*<;>qV
09-04 17:57:29.967 31398 31418 D Engine_Driver: -->:M0A*<;>qR
09-04 17:57:29.991 31398 32284 D Engine_Driver: <--:M0AS22<;>V0
09-04 17:57:30.049 31398 32284 D Engine_Driver: <--:M0AS22<;>R1
09-04 17:57:30.407 31398 31418 D Engine_Driver: -->:M0A*<;>F12
09-04 17:57:30.408 31398 31418 D Engine_Driver: -->:M0A*<;>F02
09-04 17:57:30.413 31398 32284 D Engine_Driver: <--:M0AS22<;>F12
09-04 17:57:30.464 31398 32284 D Engine_Driver: <--:M0AS22<;>F02
09-04 17:57:31.237 31398 31418 D Engine_Driver: -->:M0A*<;>F12
09-04 17:57:31.262 31398 32284 D Engine_Driver: <--:M0AS22<;>F12
09-04 17:57:31.543 31398 31418 D Engine_Driver: -->:M0A*<;>F02
09-04 17:57:31.550 31398 32284 D Engine_Driver: <--:M0AS22<;>F02
09-04 17:57:32.129 31398 31418 D Engine_Driver: -->:M0A*<;>F18
09-04 17:57:32.129 31398 31418 D Engine_Driver: -->:M0A*<;>F08
09-04 17:57:32.151 31398 32284 D Engine_Driver: <--:M0AS22<;>F18
09-04 17:57:33.141 31398 31418 D Engine_Driver: -->:M0A*<;>V5
09-04 17:57:33.492 31398 31418 D Engine_Driver: -->:M0A*<;>V9
09-04 17:57:33.776 31398 31418 D Engine_Driver: -->:M0A*<;>V14
09-04 17:57:33.976 31398 31418 D Engine_Driver: -->:M0A*<;>V18
09-04 17:57:35.492 31398 31418 D Engine_Driver: -->:M0A*<;>F114
09-04 17:57:35.518 31398 32284 D Engine_Driver: <--:M0AS22<;>F114
09-04 17:57:35.740 31398 31418 D Engine_Driver: -->:M0A*<;>F014
09-04 17:57:35.968 31398 31418 D Engine_Driver: -->:M0A*<;>qV
09-04 17:57:35.969 31398 31418 D Engine_Driver: -->:M0A*<;>qR
09-04 17:57:35.988 31398 32284 D Engine_Driver: <--:M0AS22<;>V18
09-04 17:57:36.041 31398 32284 D Engine_Driver: <--:M0AS22<;>R1
09-04 17:57:36.874 31398 31418 D Engine_Driver: -->:M0A*<;>F114
09-04 17:57:36.874 31398 31418 D Engine_Driver: -->:M0A*<;>F014
09-04 17:57:36.898 31398 32284 D Engine_Driver: <--:M0AS22<;>F014
09-04 17:57:37.715 31398 31418 D Engine_Driver: -->:M0A*<;>F18
09-04 17:57:37.715 31398 31418 D Engine_Driver: -->:M0A*<;>F08
09-04 17:57:37.736 31398 32284 D Engine_Driver: <--:M0AS22<;>F08
09-04 17:57:38.382 31398 31418 D Engine_Driver: -->:M0A*<;>F11
09-04 17:57:38.383 31398 31418 D Engine_Driver: -->:M0A*<;>F01
09-04 17:57:38.389 31398 32284 D Engine_Driver: <--:M0AS22<;>F01
09-04 17:57:39.068 31398 31418 D Engine_Driver: -->:M0AS22<;>F10
09-04 17:57:39.069 31398 31418 D Engine_Driver: -->:M0AS22<;>F00
09-04 17:57:39.092 31398 32284 D Engine_Driver: <--:M0AS22<;>F00
09-04 17:57:40.589 31398 31418 D Engine_Driver: -->:M0A*<;>V0
09-04 17:57:41.972 31398 31418 D Engine_Driver: -->:M0A*<;>qV
09-04 17:57:41.973 31398 31418 D Engine_Driver: -->:M0A*<;>qR
09-04 17:57:41.998 31398 32284 D Engine_Driver: <--:M0AS22<;>V0
09-04 17:57:42.056 31398 32284 D Engine_Driver: <--:M0AS22<;>R1
09-04 17:57:42.681 31398 31433 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:612>: EGL_BAD_ATTRIBUTE
09-04 17:57:44.562 31398 31418 D Engine_Driver: TA Disconnect
09-04 17:57:44.562 31398 31418 D Engine_Driver: TA alert all activites to shutdown
09-04 17:57:44.564 31398 31418 D de.tavendo.autobahn.WebSocketConnection: could not send Close .. writer already NULL
09-04 17:57:44.587 31398 31398 D Engine_Driver: Got permission for STORE_PREFERENCES - navigate to saveSharedPreferencesToFileImpl()
09-04 17:57:44.588 31398 31418 D Engine_Driver: -->:M0A*<;>V0
09-04 17:57:44.668 31398 31418 D Engine_Driver: -->:Q
09-04 17:57:44.685 31398 32284 D Engine_Driver: <--:M0-S22<;>
09-04 17:57:44.685 31398 32284 D Engine_Driver: loco S22 dropped from 0
09-04 17:57:44.689 31398 31418 D Engine_Driver: -->:M0-*<;>r
09-04 17:57:44.737 31398 31398 D Engine_Driver: throttle.onDestroy() called
09-04 17:57:44.737 31398 31398 D Engine_Driver: onDestroy: mainapp.throttle_msg_handler. Attempting to removeCallbacksAndMessages
09-04 17:57:46.066 31398 31418 D Engine_Driver: TA.Shutdown
09-04 17:57:46.568 31398 31418 D Engine_Driver: Flashlight switched off
09-04 17:59:13.373 31398 32287 D Engine_Driver: Data fetch failed: Connection to http://192.168.1.130:12080 refused
09-04 17:59:13.373 31398 32287 D Engine_Driver: Data fetch cancelled
09-04 17:59:13.373 31398 32288 E Engine_Driver: Error retrieving roster xml: Failed to connect to /192.168.1.130:12080
09-04 17:59:13.373 31398 32279 D Engine_Driver: throttle: Auto import preferences from Server Failed: Failed to connect to /192.168.1.130:12080
09-04 17:59:13.376 31398 32288 D Engine_Driver: Data fetch failed: null
09-04 17:59:13.376 31398 32288 D Engine_Driver: Data fetch cancelled


Locked Re: S88 on DCC++ (Connected to JMRI) #arduino

 

Thanks for looking Chuck. I¡¯d love to move on from Lenz to DCC++ but I¡¯m over invested in Lenz feedback sensors. Looks like I¡¯m staying out for now!


Locked Re: A bit stuck on inverting sensor states/values

 

Bart,

If the script is setting the ACTIVE/INACTIVE, then that's the state you get.
At least from what I recall, that scripts are setting the state. It sounds
like your script needs to set ACTIVE when the value coming in is LOW. If the
sensor was reading real hardware, the invert would have told it to think LOW
== ACTIVE.

-ken cameron


Locked Re: Seeking advice on session planning using Operations and CATS

 

I think that what Gary is asking for is experience with Operations Pro for deciding how to choose between real time mode and batch mode (or a hybrid).? What has worked on several railroads that I operate on, is hybrid.? The first few trains are built before the session begins, but terminated in real time, so that the issue of cars not having been delivered when building a later train is avoided.? I think the fundamental decision is that if one is content with a car moving only once a session, then building and terminating trains ahead of time works well.? But, then tracks may appear to be less than fully utilized (all track reservations are made before cars start rolling).

Rodney


Locked Re: A bit stuck on inverting sensor states/values

 

The invert box comes from things like XpressNet, LocoNet, etc where it¡¯s working to invert the traffic between the JMRI Sensor object and whatever is on the actual wire.

It sounds like you have a script that is handling that wire communications. If that¡¯s the case, if you want the invert handled properly, you have to have that script check the getInverted() method (see ) and take that into account when sending and receiving messages over the S88 link.

Bob

On Sep 4, 2019, at 2:03 PM, bartsanders@... wrote:

Hi!

Running JMRI 4.14 and already tested 4.16, I'm still a bit stuck on how "invert" sensor works.

I'm receiving S88N based block occupancy signals: LOW (0V) is block occupied. HIGH (5V) is block empty. These signals are coming into JMRI via a serial link.
A serial input script translates the messages to set/reset internal sensors IS1..IS16 with user names S88 BIT:1 .. S88 BIT:16.

(block occupancy messaging and S88N master control is done by a little atMega8 board, having a serial link to RasPi/JMRI. A serial input script links message bytes to JMRI sensors. This is tested well and works fine).

Checking the invert box, or checking the box when creating the sensor in the sensor table, both result in the same behaviour:

Not inverted, normal use: LOW becomes INACTIVE and HIGH becomes ACTIVE. So far so good.

When checking the invert box: the state is inverted, ACTIVE -> INACTIVE and vice versa. But, when the layout/block sends the same message again (e.g. LOW/ACTIVE) the sensor table switched to the "old" not inverted state. The checkbox is still checked. So, basically only when checking the box, the invertion takes place and only until the next S88 message arrives.

I assume that this "invert check box" is present to let the system continuously invert selected sensors, if desired.

My quick fix would be to invert the sensor value in the serial input script. But, I rather like to use JMRI offered functionality which should do the job.

What am I missing, or doing wrong?

Groet!

Bart
--
Bob Jacobsen
rgj1927@...


Locked A bit stuck on inverting sensor states/values

 

Hi!

Running JMRI 4.14 and already tested 4.16, I'm still a bit stuck on how "invert" sensor works.

I'm receiving S88N based block occupancy signals: LOW (0V) is block occupied. HIGH (5V) is block empty. These signals are coming into JMRI via a serial link.?
A serial input script translates the messages to set/reset internal sensors IS1..IS16 with user names S88 BIT:1 .. S88 BIT:16.

(block occupancy messaging and S88N master control is done by a little? atMega8 board, having a serial link to RasPi/JMRI. A serial input script links message bytes to JMRI sensors. This is tested well and works fine).

Checking the invert box, or checking the box when creating the sensor in the sensor table, both result in the same behaviour:

Not inverted, normal use: LOW? becomes INACTIVE and HIGH becomes ACTIVE. So far so good.

When checking the invert box: the state is inverted, ACTIVE -> INACTIVE and vice versa. But, when the layout/block sends the same message again (e.g. LOW/ACTIVE) the sensor table switched to the "old"? not inverted state. The checkbox is still checked. So, basically only when checking the box, the invertion takes place and only until the next S88 message arrives.?

I assume that this "invert check box"? is present to let the system continuously invert selected sensors, if desired.

My quick fix would be to invert the sensor value in the serial input script. But, I rather like to use JMRI offered functionality which should do the job.

What am I missing, or doing wrong?

Groet!

Bart


Locked Re: HTTPS?

 

Colin,

I've now enabled HTTPS on the site using Let's Encrypt - it should now be browse-able via ?and .?

For the time being, it's still also being served over HTTP and I've not yet put in-place a redirect from HTTP to HTTPS as there are some mixed content issues to narrow down.

Let me know if there are any issues.

Best regards,

Matt H


Locked Re: slips and supporting turnout function #layouteditor

 

Thanks Dave Sand, that is the problem I'm trying to solve.

My panel appears to be set up similarly to yours - are you using feedback? If so I wonder what change you made to make it work better than mine does. Very curious about "your change"!


Below is a link to a (slightly out of date) version of my panel - containing my approach to the slips w/crossovers
/g/jmriusers/files/190729%20Jay%20Console.xml

Dave


Locked Re: slips and supporting turnout function #layouteditor

 

Dave,

I have created a possible solution to the emulated cross-over using slips issue.

While doing this I discovered another issue. ?A slip is 2 turnouts that can create up to 4 routes. ?This can be emulated by using two regular turnouts connected at their points ends. ?To emulate a cross-over, the A turnout of one slip is matched to the B turnout of the other slip. ?With my change, clicking either pair member changes its partner. ?The other turnout in the slip is not affected. ?This can result in some interesting combinations.



Dave Sand



On Sep 4, 2019, at 7:27 AM, Dave Barraza <dave@...> wrote:

I apologize for not being more clear. I need two ends of a crossover to act together as on the prototype. To match the prototype, those two turnouts?controlled with one bit act as a crossover with one end being a singleton switch and the other end being one of the two parts of a slip. This works?exactly right without any difficulty if you select the "slip end" as the "supporting turnout" from the single switch end.

The problem comes when both ends of the crossover happen to fall within a slip, because a set of points which happens to lay within a slip does not?have the same options as a set of points which happens to be a singleton turnout. The option missing for the points forming part of a slip layout is the?option to select a supporting turnout.

I'm not asking for the GUI to be changed - Is it possible to just add the supporting turnout into the xml for the slip?

Prototype signal engineers deconstruct slips into their fundamental elements and then no specialized "slip" logic is required: A double slip becomes two?switches point-to-point, and a single slip becomes two single switches whose straight legs are connected by a crossing. Is this the cleaner approach for?Layout Editor? If you create a slip in Layout Editor, could the dialog box contain two buttons for the two nested switches?

One option that is proven to work in this scenario is to avoid using the slip elements in LE and to just draw the sub-elements on the panel as I described?them above. This works, but the panel takes up more space and does not look graphically as much like the physical layout - so I would like to continue?to use the slips as long as this issue can be resolved somehow.

Dave


Locked Re: S88 on DCC++ (Connected to JMRI) #arduino

 

Kevin,
I looked into the RS protocol for a little while last night.? It looks like a serial protocol of sorts so the software would be the hardest part, and I would need an RS sensor device of some sort to test with.? I'm not wanting to invest in that since that's not the direction I'm going.? I think the shield would be fairly easy to design and build.
Maybe someone else would want to take this on???
Chuck


Locked Re: slips and supporting turnout function #layouteditor

 

I apologize for not being more clear. I need two ends of a crossover to act together as on the prototype. To match the prototype, those two turnouts controlled with one bit act as a crossover with one end being a singleton switch and the other end being one of the two parts of a slip. This works exactly right without any difficulty if you select the "slip end" as the "supporting turnout" from the single switch end.

The problem comes when both ends of the crossover happen to fall within a slip, because a set of points which happens to lay within a slip does not have the same options as a set of points which happens to be a singleton turnout. The option missing for the points forming part of a slip layout is the option to select a supporting turnout.

I'm not asking for the GUI to be changed - Is it possible to just add the supporting turnout into the xml for the slip?

Prototype signal engineers deconstruct slips into their fundamental elements and then no specialized "slip" logic is required: A double slip becomes two switches point-to-point, and a single slip becomes two single switches whose straight legs are connected by a crossing. Is this the cleaner approach for Layout Editor? If you create a slip in Layout Editor, could the dialog box contain two buttons for the two nested switches?

One option that is proven to work in this scenario is to avoid using the slip elements in LE and to just draw the sub-elements on the panel as I described them above. This works, but the panel takes up more space and does not look graphically as much like the physical layout - so I would like to continue to use the slips as long as this issue can be resolved somehow.

Dave


Locked Re: slips and supporting turnout function #layouteditor

 

Hi Dave B,

If you require the Turnouts to act independently ( as they are doing when using Slips, Routes, LRoutes or Logix?), then do NOT use the supporting Turnouts feature.

If the Layout Editor Turnout is paired with a supporting Turnout, a request to change commanded state in one will also also change the other, there's no need for logix to do this.

Steve Y.


Locked Re: HTTPS?

 

Jim:
My point is that browsers are starting to refuse. Well, strongly warn the users not to proceed at least.
The other point is that "saving the fee" is no longer an issue with Let's Encrypt. Certificates are free. The future will be all sites on HTTPS. Hosting providers will have it included in their offerings. Out of 57 tabs I currently have open in my browser, only 4 use plain HTTP: 3 tabs to the same music news site, and 1 tab to a track and trace app (which should use HTTPS, IMHO).

Matt:
Good to hear. If you need any help, just holler. It's what I do for my day job.

/Colin


Locked Re: Virtual Sound Decoder - Clicks on looped sound files

 

Conrad,

I found your 645 VSD file, thank you! I compared the file with my 645 VSD file and couldn't see a difference - except the D1.wav/D1k.wav.

Yes, I saw and heard the click-clack sound. It can be switched on and off. But it is played at a constant speed.

Regards,
Klaus



Am 03.09.2019 um 20:56 schrieb conradandrose:

Klaus,
Upload worked on second computer.? Of course it is on my 645 dropbox file. not the latest, no notes and maybe a funny thing with click-clack.? It does have the 5 notches though.
Finally,
Conrad


Locked Re: Virtual Sound Decoder - Clicks on looped sound files

 

Conrad,

You're welcome!

Sorry for the trouble with the D1.wav file. I should have mentioned that the modified notch file is called D1k.wav. But my 645 VSD file also contains the original file called D1.wav. In the config.xml I then chosed D1k.wav.

Regards,
Klaus


Am 03.09.2019 um 20:31 schrieb conradandrose:

Klaus,
I downloaded your 645 file and it played perfectly.? Thank you.? However, when i installed the D1 wav file into my 645 program i got nowhere.? Even after i corrected several of my typo error the sound went dead at notch 2.? So i ran your wav file thru my WavePad Sound Editor (played ok and is correct format) and tried again. same problem.? if i quickly run the throttle past notch 2 the rest of the notches play but i can't got back or cross notch 2 without a lockup.
I'll take a break from this to clear my mind.
And, still no luck in uploading. i get, via browse, the file.? it appears in the "drag & paste" window (5.19 mb) with "loading file 1 of 1" and ..............? nothing.? just looks like a lockup.? ?oh well. my next attempt will be on another computer.
conrad


Locked Re: slips and supporting turnout function #layouteditor

 

Without getting hung up too much on nomenclature: A crossover ( in this context ) is a way to change from one track to another parallel track. The points at the two ends are operated together because one was reverse and the other normal isn't operationally desirable.

I have tried to write logix wherein one end of the crossover can control the other, but I'm using two-sensor turnout feedback, and the logix won't process "Closed" until the turnout Feedback reports Closed - which it will never be on the secondary turnout since it won't physically move unless the primary does.

The two turnouts need to be tied on the "Command/Request" level, which is what I believe the "secondary turnout" feature does.