¿ªÔÆÌåÓý

Date

Locked Re: withrottle not working with V4.18 #withrottleserver #4-18

 

Similar problem.? Upgraded from v4.16 to v4.18 on a Windows 10 platform (Digi DB150, PR-3, LocoNet, Android based EngineDriver on a tablet) and it runs.? But I can't get WiThrottle to work.? Yesterday tablet acquired EngineDriver but would not access roster nor operate power button.? Today EngineDriver sometimes sees and sometimes doesn't see the server.? But says 'not connected, check WiThrottle and Web Server'.? I have the correct url and port, no changes from v4.16.

See below****I checked out Dale Gloer's msg thread 167074 but can't find a Consist.xml file.? I see an xml folder in the program folder but no consist file.****See below

Above not correct, I found and renamed a consist.xml file to old_consist.xml in both File path preference: is C:\Users\conrad\Dropbox\JMRI\ [main] and File path profile: is C:\Users\conrad\JMRI\My_JMRI_Railroad\ [main] with still no WiThrottle connection.? Also a little worried that preference and profile paths are different.? See console log below.

2020-01-07 09:12:22,438 util.Log4JUtil? ? ? ? ? ? ? ? ? ? ? ? INFO? - * JMRI log ** [main]
2020-01-07 09:12:22,516 util.Log4JUtil? ? ? ? ? ? ? ? ? ? ? ? INFO? - This log is appended to file: C:\Users\conrad\JMRI\log\messages.log [main]
2020-01-07 09:12:22,516 util.Log4JUtil? ? ? ? ? ? ? ? ? ? ? ? INFO? - This log is stored in file: C:\Users\conrad\JMRI\log\session.log [main]
2020-01-07 09:12:22,532 apps.Apps? ? ? ? ? ? ? ? ? ? ? ? ? ? ?INFO? - PanelPro version 4.18+R37ad3d0 starts under Java 1.8.0_231 on Windows 10 x86 v10.0 at Tue Jan 07 09:12:22 EST 2020 [main]
2020-01-07 09:12:33,382 apps.Apps? ? ? ? ? ? ? ? ? ? ? ? ? ? ?INFO? - Starting with profile My_JMRI_Railroad.3f132008 [main]
2020-01-07 09:12:33,819 node.NodeIdentity? ? ? ? ? ? ? ? ? ? ?INFO? - Using jmri-osZcIaSGWhOiaaabMr20Sa-3f132008 as the JMRI storage identity for profile id 3f132008 [AWT-EventQueue-0]
2020-01-07 09:12:34,210 xml.AbstractSerialConnectionConfigXml INFO? - Starting to connect for "LocoNet" [main]
2020-01-07 09:12:34,913 pr3.PR3Adapter? ? ? ? ? ? ? ? ? ? ? ? INFO? - PR3 adapter set hardware flow control, mode=2 RTSCTS_OUT=2 RTSCTS_IN=1 [main]
2020-01-07 09:12:34,929 locobuffer.LocoBufferAdapter? ? ? ? ? INFO? - COM4 port opened at 57600 baud with DTR: true RTS: true DSR: false CTS: false? CD: false [main]
2020-01-07 09:12:35,023 loconet.LnPacketizer? ? ? ? ? ? ? ? ? INFO? - lnPacketizer Started [main]
2020-01-07 09:12:37,919 withrottle.FacelessServer? ? ? ? ? ? ?INFO? - Published ZeroConf service for 'my jmri railroad._withrottle._tcp.local.' on fe80:0:0:0:60ca:5e0e:ea89:ae2%eth4:12090 [WiThrottleServer]
2020-01-07 09:12:37,919 withrottle.FacelessServer? ? ? ? ? ? ?INFO? - Published ZeroConf service for 'my jmri railroad._withrottle._tcp.local.' on 192.168.1.5:12090 [WiThrottleServer]
2020-01-07 09:12:37,919 withrottle.FacelessServer? ? ? ? ? ? ?INFO? - Creating new WiThrottle DeviceServer(socket) on port 12090, waiting for incoming connection... [WiThrottleServer]
2020-01-07 09:12:38,997 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path program: is C:\Program Files (x86)\JMRI\ [main]
2020-01-07 09:12:38,997 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path preference: is C:\Users\conrad\Dropbox\JMRI\ [main]
2020-01-07 09:12:38,997 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path profile: is C:\Users\conrad\JMRI\My_JMRI_Railroad\ [main]
2020-01-07 09:12:38,997 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path settings: is C:\Users\conrad\JMRI\ [main]
2020-01-07 09:12:38,997 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path home: is C:\Users\conrad\ [main]
2020-01-07 09:12:39,012 util.FileUtilSupport? ? ? ? ? ? ? ? ? INFO? - File path scripts: is C:\Program Files (x86)\JMRI\jython\ [main]
2020-01-07 09:12:40,247 server.WebServer? ? ? ? ? ? ? ? ? ? ? INFO? - Starting Web Server on port 12080 [WebServer]
2020-01-07 09:12:40,809 PanelPro.PanelPro? ? ? ? ? ? ? ? ? ? ?INFO? - Main initialization done [main]
2020-01-07 09:12:41,122 server.WebServer? ? ? ? ? ? ? ? ? ? ? INFO? - Starting ZeroConfService _http._tcp.local for Web Server with properties {path=/, json=5.2.0} [WebServer]
2020-01-07 09:12:46,947 audio.JoalAudioFactory? ? ? ? ? ? ? ? INFO? - Initialised JOAL using OpenAL: vendor - OpenAL Community version - 1.1 ALSOFT 1.15.1 [AWT-EventQueue-0]
?

Conrad


Locked Re: moving files to new computer

 

On Mon, Jan 6, 2020 at 09:55 PM, Tom Cain wrote:
I have gone to Decoder Pro and then at the File drop down, I select ¡°import complete roster¡± and it will create an ¡°Open¡± window, but there is no way that I can select my roster files. ?
"IMPORT"? only works with files that were? "EXPORT"ed. ? You must first " EXPORT the complete roster "? on the source system and then "IMPORT"? the? "EXPORT"? file you copied to the NEW computer.

Marc


Locked Re: Roster media? #rosterimage

 

On Tue, Jan 7, 2020 at 03:03 AM, SwissChris wrote:
Right click on the icon column of the loco you wish to add the image to.? A pop up box will appear click on the option Labels & Media. a new panel will open up. There will be 2 tabs Function labels and Roster Media. Click on the Roster Media Tab mand you're there. Have your file explorer programme running. Click and drag the image you want into the boxe. Then save to Roster.
Method 1 :

1 - Right click on a ROSTER entry you want to add media too.
2 - Select? "Labels & Media "
3 -? In the newly open window select the "Roster Media " tab.
4 - Open your image folder and Drag & Drop your image file to both the MAIN and ICON image boxes of item 3.
5 - Save to Roster
6 - Close the " Labels & Media " window.

Method 2:

1 -? Highlight the Roster entry you want to add photo too.
2 - Lower Right Hand of DecoderPro, select " Lables & Media "
3 - In new window, select the " Roster Media "? tab
4 - Open your Image folder and Drag & Drop your image file to both the MAIN and ICON image box of item 3.
5 - Save to Roster.
6 - Close the " Labels & Media " window.

To save space resize your image files to 500 X 350? using Windows Paint or other image editor.

Marc


Locked Re: jmri_bindings.py #scripting

Randall Wood
 

Note that future versions of Jython are going to remove execFile() (this function was removed from Python in 3.0).

We might just have to plan on not relying on a set of convenience bindings and use foos = jmri.InstanceManager.getDefault(jmri.FooManager) for whichever manager is wanted.


Locked Re: Roster media? #rosterimage

 

Right click on the icon column of the loco you wish to add the image to.? A pop up box will appear click on the option Labels & Media. a new panel will open up. There will be 2 tabs Function labels and Roster Media. Click on the Roster Media Tab mand you're there. Have your file explorer programme running. Click and drag the image you want into the boxe. Then save to Roster.


 

I can't seem to find a method to add a media photo to my engine roster (profile). I searched the web and found pictures, loaded them on a stick and then clicked on the media tab for the selected locomotive. This method doesn't even give me an option to add or retrieve an image. I must be over looking something pretty basic.


Locked Re: jmri_bindings.py #scripting

 

One way I can? get it to work is by passing a copy of the sensors object

self.route? ? =? self.trainDriver.setRoute(self.new_route,self.throttle,sensors)

Can i ask if? this is acceptable or if I am heading for trouble further down the line?

Thanks Jim


Locked moving files to new computer

 

¿ªÔÆÌåÓý

I am in the process of moving files from an old iMac desktop to a newer iMac desktop.

I have moved the JMRI files to a flash drive and put them on the desktop of the newer computer. ?It was a huge file and took half an hour to put on the flash drive and half hour to put on the newer computer desktop. ?Seems like it is carrying a LOT of information along that I may not need such as all the saved panels as they were being built through the years. ?But I also use the Operations part of Panel Pro too. ?

Anyway, right now I¡¯m just working to make sure my decoder roster is on the newer computer. ?The older computer JMRI version is 4.17.2 and the computer is using the MAC OS 10.11.6

The JMRI on the newer computer is JMRI 4.17.6 and the newer Operating system is MAC OS 10.13.3

The preferences directory on the newer computer is:
/users/username/Library/Preferences/JMRI/My_JMRI_Railroad/

The roster folder on the newer computer desktop generally has an .xml ?and a ? .xml.bak
for each loco.

I have gone to Decoder Pro and then at the File drop down, I select ¡°import complete roster¡± and it will create an ¡°Open¡± window, but there is no way that I can select my roster files. ?

What step am I missing?

Thomas Cain
Indianapolis, IN
Modeling the Eastern Illinois Santa Fe from the Prototype
See my?NEW?website and layout at: ?


Locked Re: Panel Pro - Track Layout extends beyond screen #layouteditor

 

System - Digitrax DCS210, DB210, DS64'S (4), BXP88's (2), PR4; JMRI 4.16; Java 1.8

Allan


Locked Re: Install JMRI Ubuntu 18.04 #ubuntu

 

¿ªÔÆÌåÓý

Peter,

On 7 Jan 2020, at 5:00 AM, Petr ?¨ªdlo via Groups.Io <sidlo64@...> wrote:

Adding to the dialout group

sudo adduser ${USER} dialout

works for me.

Correct. That's one of the things my updated instructions specifies, along with a procedure to find the correct port.

Dave in Australia


Locked Re: calling dispatched from script

 

Steve

?

I have updated to the 4.19 but still get the remaining problem which I expand in a bit more detail below. I have put the panel in script examples / YAAT for dispatcher / demoDP.xml


Dispatch 2-3

Train goes into siding 2 from siding 3. The signal1-3A??nearest siding 3 facing away from siding 3 goes green after the train arrives at siding 3.? It changes when point 1 (nearest siding 3) changes

?

Dispatches 3-4

The signal 1-3 goes red when the train dispatches, and then freezes. Does not then respond to point 1 (nearest siding 3) changing

?

Dispatch 4-3

Signal 1-3 stays red

?

Dispatch 3-2

Train goes waiting

Change signal1-3 by hand

Train advances to turnout 1 then stops.


I will be very pleased if you can suggest how I can change the panel so that the above problem does not occur..
Bill


Locked YAAT with dispatcher #yaat

 

Dave Sand

I have tested a version of YAAT enhanced with dispatcher. This is a modification of your file which includes subroutines. I have placed it in script examples / YAAT with dispatcher, together with the layout I have tested it with and the YAAT file that I have used.

Please feel free to change as necessary, if you would like to include it. I am finding it useful.

It runs using the dispatcher files that are produced as part of the dispatcher routine, and hence makes the calling very easy (unlike the first version I sent you), and makes it easy to test the routine using normal dispatcher, then automate, knowing that it should work!

Bill


Locked Re: Adding printer to pi #rpi

 

In most cases the the user id is "pi" and the password is "raspberry"

I think in the image Steve states ...........user is "pi", all passwords are "rpI-jmri", 3rd char is a capital "eye"

try both if they still fail then the user id pi may not be added in LPADMIN.

You have to add the the user id of pi to the LPADMIN

sudo usermod -a -G lpadmin pi.

When you run this command your user id is added to access CUPS

Inobu





Locked Re: jmri_bindings.py #scripting

 

Thanks Dave.?

unfortunately I also use this function so that I can have a dynamic name which gets in the way. Is there a way to? have testRoute1 as a string, something like route=eval("testRoute1()") ?

? ? ? def importClass(self,className):
? ? ? ? ? self.name=className
? ? ? ? ? self.components = self.name.split('.')
? ? ? ? ? self.module = __import__(self.components[0])
? ? ? ? ? for self.component in self.components[1:]:
? ? ? ? ? ? ?self.module=getattr(self.module, self.component)
? ? ? ? ? return self.module
? ? ? #---------------------------------------------------------------------------------------------------------
? ? ? # set the route for this driver
? ? ? #---------------------------------------------------------------------------------------------------------
? ? ? def setRoute(self,route,throttle):
? ? ? ? ? self.route_name="automationRoutes."+route
? ? ? ? ? print("setting route to "+self.route_name)
? ? ? ? ? self.route=self.importClass(self.route_name)
? ? ? ? ? self.route_instance=self.route
? ? ? ? ? self.route_instance.throttle=throttle
? ? ? ? ? return self.route_instance()
?


Locked Re: calling dispatched from script

 

Steve

Just updated from version 4.16 to 4.18 and the problem with "one of my dispatch routes in that when I initially set it up the active train is WAITING" has dissapeared. Someone must have been busy...

I still have the problem that befor running dispatcher on a route all the signals are working correctly and change when I move points. After I run dispatcher on the route, the initial signal freezes to red. I then cannot run dispatcher from that siding again. I will update to the latest test release and see if that does anything...

Bill

Bill


Locked Adding printer to pi #rpi

 

Hi all, I am new at this so you know. I¡¯m running my pi with the image from Steve Todd. I would like to print my roster but there doesn¡¯t seem to be a simple add printer function like windows. Did some searching and found I need to install CUPS to the pi which I did. To configure and add the printer you have to goto the LocalHost:631 which is browser based using Chrome. All works fine until I try to add the printer in my network. The CUPS page asked for the username and password. I don¡¯t know what this refers to. Any help is appreciated. Thanks in advance. Steve M


Locked Re: Changing Car Type #operationspro

 

Gentlemen

I am going to go ahead and set up a schedule.I still do not fully understand the Random Feature I want to schedule the one car every 3 months. I therefore set Random at 5 does this sound plausible.

Jerry


Locked Re: calling dispatched from script

 

Hi Steve

I managed to get the x-over working. Thanks a lot for your comments, it gave me the impetus to try something else. I had originally two physical detection blocks which I had OR¡¯ed together to form a virtual block. I rewrote it so both physical blocks were used by the x-over, and it seemed to work ¨C after some trials and tribulations.

Things I had to do:

1)????? Add extra track to 2 of the branches of the x-over with the same block value as the x-over to enable the dispatcher routes to be constructed

2)????? Add extra track to the base of 2 of the points to get the signals and/or dispatcher to work properly

3)????? I had to insert a dummy extra block on the end of one siding. There is a restriction that the dispatch route has to have two or more sections. I had the requirement that the route should include the siding section and another section consisting of two blocks.

If the restriction stated

a.?????? The transit should have 1 or more sections

b.?????? The dispatch route should allow a transit with 1 section if the ¡®Train in selected transit¡¯ is not ticked.

Then I could have created my dispatch route without adding a dummy extra siding block. Putting the dummy block meant that the transit could include the siding.

?

Problems

1)????? When I move from siding 3 to siding 4, 4 to siding 3, then attempt to move from siding 3 to 4 again the signal is red leaving the siding and the train is WAITING. I change the signal by clicking on it and the train starts moving.

Same thing when I go from 4 to 3 then back to 4. I was hoping that the problem would be a consistent one, but when I move the train from siding 5 to siding 4 and back again repeatedly, everything works OK.

2)????? I still have a problem with one of my dispatch routes in that when I initially set it up the active train is WAITING. I thought that waiting meant that the signal was against the train, but it isn¡¯t. Maybe you can give me some pointers on how to solve this problem, maybe setting some breakpoints in the code.

Things that would be nice

1)????? Change dispatcher so that I could stop using extra blocks on the end of sidings. I did try adding an extra section by putting an extra block on one of the Y¡¯s of a point, but that screwed up the signals.

2)????? To know when to add extra blocks to make dispatcher work. I think a general rule is that when a point has a different block sensor to the previous track, then add an extra block, but I wold like that confirmed. It would be nice not to have to put the extra block in.

3)????? To have helpful diagnostics when the dispatch is waiting, or at least to have a crib list of things to check. I am a bit stuck there.

Bill


Locked Re: Install JMRI Ubuntu 18.04 #ubuntu

 

Adding to the dialout group

sudo adduser ${USER} dialout

works for me.


--
Petr ?¨ªdlo
Czech Republic


Locked Re: jmri_bindings.py #scripting

 

James,

By importing your module you lose the global variables.



An alternate approach is to load the module instead of import and modify the route line.

import jmri
execfile(jmri.util.FileUtil.getExternalFilename("preference:routes.py"))
route=testRoute1()
route.setTurnoutSensor("ISTS-1",ACTIVE)

Dave Sand


----- Original message -----
From: James Anderson <james_anderson_999@...>
Subject: Re: [jmriusers] jmri_bindings.py
Date: Monday, January 06, 2020 7:56 AM

Sorry to come back on this again.

I have a small script?


import routes
route=routes.testRoute1()
route.setTurnoutSensor("ISTS-1",ACTIVE)

and on disk I have this module called routes shown at the bottom of this note.?

If i use self.sensor=sensors.provideSensor(self.turnoutSensorName) I get?NameError: global name 'sensors' is not defined but it works with
jmri.InstanceManager.getDefault(jmri.SensorManager).provideSensor(self.turnoutSensorName)?

Is there something else I should be loading?


?import jmri
?class automationRoutesBaseClass(jmri.jmrit.automat.AbstractAutomaton) :
? ? def init(self):
? ? ? ? return
? ? def handle(self):
? ? ? ?return 0
? ? def setTurnoutSensor(self,turnoutSensorName,state):
? ? ? ? self.turnoutSensorName=turnoutSensorName
? ? ? ? self.turnoutState=state
#? ? ? self.sensor=jmri.InstanceManager.getDefault(jmri.SensorManager).provideSensor(self.turnoutSensorName)
? ? ? ? self.sensor=sensors.provideSensor(self.turnoutSensorName)
? ? ? ? if self.sensor !=None :
? ? ? ? ? ?self.sensor.setState(self.turnoutState)
? ? ? ? else:
? ? ? ? ? print("error unable to obtain sensor object for "+str(self.turnoutSensorName))
? ? ? ? return
?#-----------------------------------------------------------------------------------
?# Class? :? define a route. Inherits methods from automationRoutesBaseClass
?#-----------------------------------------------------------------------------------
?class testRoute1(automationRoutesBaseClass) :
? ? def init(self):
? ? ? ? return
? ? def handle(self):
? ? ? ? return
? ? def __init__(self,routeDescription=None,routeName=""):
? ? ? ? self.routeDescription=routeDescription
? ? ? ? self.routeName=routeName
? ? ? ? automationRoutesBaseClass.__init__(self)
? ? ? ? return
?