¿ªÔÆÌåÓý

Date

Locked Re: Defaults in Preference window

 

This has been a big problem with V4.12. It is quite likely to occur if you happen to start JMRI V4.12 without your hardware connected. We've done a lot of hard work on this recently and it should be fixed in V4.13
--
Dave in Australia

On 10 Dec 2018, at 5:58 AM, Thomas Costello via Groups.Io <dumpa_hd@...> wrote:

I noticed when trying to program a locomotive using version 4.12, the NCE USB was not toggling (red LED's did not illuminate. I went to preferences then defaults and noticed that Internal was selected. I changed defaults to NCE and was able to program locomotive. This is the first time I've seen this happen since I downloaded 4.12 when it was released.


Locked Defaults in Preference window

Thomas Costello
 

I noticed when trying to program a locomotive using version 4.12, the NCE USB was not toggling? (red LED's did not illuminate. I went to preferences then defaults and noticed that Internal was selected. I changed defaults to NCE and was able to program locomotive. This is the first time I've seen this happen since I downloaded 4.12 when it was released.?


Locked Re: JMRI runs slow

 

I don¡¯t understand your problem, so a bit more information would be helpful. The subject line says ¡°runs slow¡±, but your last sentence says ¡°won¡¯t recognize them (tsunami decoders?) now¡±.

What exactly are you seeing going wrong? The more detail, the better, so that somebody can help resolve it.

Bob

On Dec 7, 2018, at 5:11 PM, Tim Smith via Groups.Io <dtlcarriers@...> wrote:

I have been using JMRI for 2 years now. Never had a real problem. Installed JMRI 4.12 on a new win 10 home edition laptop. I use NCE power cab for my 6' test track. At first it didn't recognize CP210x UART bridge COM3 in port. I then down loaded the driver from the site
and it does recognize the port now. In the JMRI main screen (edit,preferences,default and connections) have all set to NCE, NCE USB, COM3, I have a new 223 NCE interface, but it doesn't matter if the old one or new is used. Have switched the cables, as I have spares of the RJ12 6 wire and printer cables. I have all tsunami decoders.
Any thoughts on why it wont recognize them now? Thanks Tim
--
Bob Jacobsen
rgj1927@...


Locked Re: MQTT Connection in JMRI

 

If we¡¯re going to allow flexible specification of items in the MQTT interface (my recommendation, but not decided), are there items that need to be included?

For example, does JMRI need to be told about use or non-use of retention? (I¡¯ve quoted a bit below about that) We could build that in several ways: A column in the i.e. Turnout Table or Sensor Table, or as part of the system name (i.e. a ¡°(R=Y)¡± suffix) or some other way. Might be good to have the right default, though, to save a lot of setup work and annoying errors.

Are there others?

Bob

On Dec 7, 2018, at 8:06 AM, Speed <gertmul@...> wrote:

- Do we use retention? I found it convenient in my ESP implementation to save the state of the turnout in /TxNamib/servo.0003/01 as a '0' or a '1' with retention on, so when the ESP boots up, it knows where to move the servo without keeping the state saved in local EEPROM. I know some don't like physical addressing boards, but I found it convenient to simply subscribe to /TxNamib/servo.0003/# for all 16 turnouts connected to the ESP. So if retention is used, JMRI is going to turn on and get hundreds of messages (that it needs to keep up with) and also might have the "INCONSISTENT" state if it determines the turnout to be otherwise.

- JMRI typically (or used to) only generate a message to hardware when there is a state change, so without retention in MQTT, the servo won't know where to go until there is a change in JMRI.
--
Bob Jacobsen
rgj1927@...


Locked Re: MQTT Connection in JMRI

 

Just to reiterate, I¡¯m happy to (eventually, not this week; maybe when the semester is over) work on coding up something. From listening, it seems there are two issues that we need to address when specifying the MQTT handling for Turnouts, Sensors, etc.

1) The naming hierarchy that JMRI knows about

2) How to handle the message payload, i.e. mapping JMRI¡¯s state to the payload and vice versa

I don¡¯t have a lot of experience with this, don¡¯t know about community standards, but I think (1) can be handled by making JMRI agnostic to hierarchy choices through system names: Whatever your MQTT setup needs, just put that in the system name. So one person might have ¡°MT/turnouts/EastBranchWestSwindonSiding¡± while another might have ¡°MT/turnouts/2¡±. The setup _outside_ of JMRI, done however the modeler wants, will drive the names and JMRI will just accept.

But I don¡¯t know how to handle (2). What kinds of payloads are there? We can certainly append something to the end of the system name that provides (a bit of) instruction about decoding the payload, but we shouldn¡¯t turn this in to an incredible pain in the neck to configure.

Bob
--
Bob Jacobsen
rgj1927@...


Locked Re: PRINT ALL TABLES TO PRINTABLE FILE

 

Dave: I think Bob is suggesting you output the tables in pdf format which you can do by installing a pdf converter on your computer which then appears as an option in your print dialog. Pdf (portable document format) actually includes several types of subformats and the subformat you will get when outputing (a code for each character which is used by your computer to create the character) will allow zooming to read the table easily. The subformat you get from a pdf of a scanned image is just a picture of what was scanned and so loses definition if it is zoomed.

Jan


Locked Re: Need some insight re:Scripting, Serial Ports, and non-obvious Timing

 

One problem is the call to a.fliush() when you¡¯re starting the starting the thread. The start() call just above it returns when the thread is formally set to be able to run; whether handle() has started running or not isn¡¯t specified, and will probably be different on different kinds of machines. So the very first thing to do is move that flush call into the __init__ or init() routines.

Bob

On Dec 8, 2018, at 12:50 PM, Geoffb <gbglacier@...> wrote:

Hi to all,

Some may remember that I posted a reference to a new bulk sensor channel for JMRI connecting to an Arduino sensor mux:

This uses a jython script for a direct connection into JMRI, independent of the DCC base station connection. Originally I built this with PanelPro 4.12 / Java 1.8.0_151 running on a Win10 Pro 64bit laptop. It ran great. I was asked to make it work on an RPi. My RPi 3 B+ is also running JMRI 4.12 / Java 1.8.0_65. However I had to add a delay on the RPi, that breaks the script on Windows, and a new report is that other modelers had to fiddle with the amoint of delay on their RPi version (unknown).

The sequence of events is normally:
1. Arduino starts and opens Arduino USB serial port
2. JMRI starts and then starts script, which opens usb serial port
3. Arduino detects serial port opening and restarts Arduino comms ignoring serial comms during startup
4. Script sends Arduino starup chars (!!!) indicating script is ready
5. Arduino scans its sensor pins and transmits update messages to script to update sensor table.

My RPi required the added delay to be inserted after step 2.
Adding this delay breaks comms on Windows. The actual complete script is below.

Can anyone give me some insight why no delay is needed on Windows10? Why isn't the 2 second delay universally working on RPi's. I have been at this for well over a week,searched the net repeatedly (and got more than enough bad info). Good, approriate insight would be much appreciated.

Thanks ahead. Have fun! :-)
Best regards,
Geoff Bunza
scalemodelanimation.com

import jarray
import jmri
import purejavacomm
class SerialSensorMux(jmri.jmrit.automat.AbstractAutomaton) :
# ctor starts up the serial port
def __init__(self, portname) :
global extport
self.portID = purejavacomm.CommPortIdentifier.getPortIdentifier(portname)
try:
self.port = self.portID.open("JMRI", 50)
except purejavacomm.PortInUseException:
self.port = extport
extport = self.port
# set options on port
baudrate = 19200
self.port.setSerialPortParams(baudrate,
purejavacomm.SerialPort.DATABITS_8,
purejavacomm.SerialPort.STOPBITS_1,
purejavacomm.SerialPort.PARITY_NONE)
# Anticipate the Port Opening will restart the Arduino
# Uncomment the following line for use on RPi You may need to fiddle with the 2000
# msec delay this works on my RPi 3 B+
#self.delayMsec(2000)
# get I/O connections for later
self.inputStream = self.port.getInputStream()
self.outputStream = self.port.getOutputStream()
return
# init() is the place for your initialization
def init(self) :
return
# handle() is called repeatedly until it returns false.
def handle(self) :
global ttest
if ttest == 1 :
self.outputStream.write('!')
self.outputStream.write('!')
self.outputStream.write('!')
self.outputStream.write(0x0D)
ttest = 0
# get next character
if self.inputStream.read() != 65 :
return 1
sensor_num = self.inputStream.read()
sensor_state = ( sensor_num>>7 ) & 1
sensor_num = sensor_num & 0x7f
mesg = "AR:%d" % (sensor_num)
if sensor_num == 1 and sensor_state == 1 :
print "Sensor Read Ends"
self.inputStream.close()
self.outputStream.close()
self.port.close()
return 0
s = sensors.getByUserName( mesg )
if s is None :
print mesg, " Not Available"
return 1
if sensor_state == 1 :
s.setKnownState(ACTIVE)
if sensor_state == 0 :
s.setKnownState(INACTIVE)
return 1 # to continue 0 to Kill Script
def write(self, data) :
# now send
self.outputStream.write(data)
return
def flush(self) :
self.outputStream.flush()
return
ttest=1
# create one of these; provide the name of the serial port
a = SerialSensorMux("COM5")
# set the thread name, so easy to cancel if needed
a.setName("SerialSensorMux script")
# start running
a.start();
# setup complete
a.flush()
--
Bob Jacobsen
rgj1927@...


Locked Re: MQTT Connection in JMRI

 

I don¡¯t get why you are putting the board id as part of the topic string. MQTT doesn¡¯t care about this all for general control of the layout excluding DCC. You the user tell what boards or ¡°nodes¡± what topics subscribe and publish too. This multiple boards can tell JMRI to change a state of a turnout ?or whatever.?

This is is a great conversation and I agree with what most are saying. I do however think we need to apply the KISS (Keep It Simple Stupid) method and that is flexible for layout control. MQTT is lightweight, flexible, powerful, and is easy to use. It works across multiple different systems at the same time without problems. This is why it is used in home automation.

Maybe the easy way is get rid of the MQTT connect ion in JMRI and those of use that want to use it use NodeRed to get or post to the socket for MQTT to create a gateway. This way people can do whatever they want.

We in model railroading need to pay attention to things like this because it will allow people better control of their layouts at a fraction of the cost. Buy some ESP8266 boards or whatever to control the layout turnouts, signals, blocks, lights, etc and use mqtt to control with JMRI.?

Chris


Locked Re: cvc-identity-constraint.4.2.2

 

Robert,

I have uploaded an updated file to your folder: /g/jmriusers/files/ProblemsBeingWorkedOn/cvc-identity-constraint.4.2.2%20Error/Roberts%20Layout40%20DS.xml

There were 133 duplicate SSL definitions. This was caused by loading two panel xml files (or the same one twice) that had the same SSL definitions. For some items, such as sensors and turnouts, the duplicate entries are merged.

There were also 717 icon references that had full Windows path names. These have been changed to a portable file name (program:).


Dave Sand

On Dec 8, 2018, at 11:02 PM, harr6817@... wrote:

File "Roberts Layout40.xml" has been uploaded to subfolder
"cvc-identity-constraint.4.2.2 Error" in the "Problems Being Worked
On" folder


Locked Re: nce power cab

 

NCE USB Setup Windows
==================

- The NCE USB uses the SiLabs CP2102 chipset. Download and install SiLabs CP210x drivers from
<>
- There is a Universal driver for Windows 10.
- The downloaded file will be a ".zip"
- You open that file and then open the file called:
"CP210xVCPInstaller_x86.exe" or "CP210xVCPInstaller_x64.exe" depending on whether your Windows is 32 bit or 64 bit.
- After doing this you should get the SiLabs device appearing as a new COM port in Windows Device Manager when you plug it in.
- Sometimes you may need to install the driver again after plugging in the NCE USB to get rid of the error symbol in Windows Device Manager.
- If you still have questions marks, try removing driver in Device Manager and try again as above
- When you have it working properly, the COM port should appear/disappear as you plug/unplug the NCE USB.
- Do not try to set the baud rate in Windows Device Manager.
- Ignore all other documentation to the contrary (there is some incorrect information in places) and set up as below:
- It also explains how to read the version of your NCE USB (only the first digit counts, the last three report how your jumpers 2-4 are set and jumper 1 is ignored on all systems).

Configuration Instructions
===================

Here are the best settings for JMRI and jumpers for Power Cab (and also SB5).

Make sure you always unplug/replug both cables on the NCE USB after changing jumpers.

It also explains how to read the version of your NCE USB (only the first digit counts, the last three report how your jumpers 2-4 are set and jumper 1 is ignored on all systems).


Power Cab Instructions
=================
The correct settings for a Power Cab V1.65 or V1.28 (as shown when the Power Cab starts up) and an NCE USB V6 (or you are not sure of the USB version) are:
- All USB Jumpers off (or at least 2, 3 & 4. Jumper 1 is ignored).
- JMRI preferences are:
-- System manufacturer: NCE
-- System connection: NCE USB
-- Serial port: The COM port you saw appearing/disappearing above
-- USB version: V6.x.x
-- System: PowerCab
-- Additional Connection Settings checkbox ON
--- Baud rate: 9600.

The JMRI console log should then report V6.3.0. If it reports V7.3.0 and your Power Cab is V1.65, use the settings below instead.
If you don't get a version number or the system does not work, Use Help->System Console...->Copy to clipboard and paste into a post for us to see.

The correct settings for a Power Cab V1.65 or V1.65b and an NCE USB V7 are:
- All USB Jumpers on (or at least 2, 3 & 4. Jumper 1 is ignored).
- JMRI preferences are:
-- System manufacturer: NCE
-- System connection: NCE USB
-- Serial port: <whatever is appropriate for your system>
-- USB version: V7.x.x
-- System: PowerCab
-- Additional Connection Settings checkbox ON
--- Baud rate: 19200.

The JMRI console log should then report V7.3.7.

SB5 Instructions
============
The correct settings for an SB5 and an NCE USB V7 are:
- USB Jumper 4 on. All others off (or at least 2 & 3. Jumper 1 is ignored).
- JMRI preferences are:
-- System manufacturer: NCE
-- System connection: NCE USB
-- Serial port: <whatever is appropriate for your system>
-- USB version: V7.x.x
-- System: SB5
-- Additional Connection Settings checkbox ON
--- Baud rate: 19200.

The JMRI console log should then report V7.3.1.

General Troubleshooting
==================

If the system does not work after this:
- If your SB5/Power Cab is V1.65 rather than V1.65B, you may have been affected by a firmware issue (triggered by a System Reset).
- Your NCE USB may be set to a bad cab address (V7 only).
- There is a potential hardware issue with the NCE USB/Power Cab combination.
In either case, go through the following :
- Quit JMRI.
- Ensure neither LED on the NCE USB is stuck ON. If so, power cycle the USB by unplugging it from the cab bus cable.
- Ensure you have no other throttles connected.
- Restart JMRI and immediately go to Configure USB Interface under the NCE menu.
- Set the Cab ID to 3.
- Attempt a JMRI operation (use a throttle, Identify a decoder).
- The status line should stay green and it should work
-If this does not work, do not fiddle with any other settings but instead:
-- Observe whether the Cab Bus LED on the NCE USB is stuck on and report back.
-- Use Help->System Console...->Copy to clipboard and paste into a post for us to see.
--
Dave in Australia

On 9 Dec 2018, at 8:19 AM, spyderwalker94 Walker <spyderwalker94@...> wrote:

I have a power cab (which I use for speed matching and programming) ver 1.28 with a ver 6.03 usb. I have all the JRMI settings matching with com 7 on the computer and appropriate driver loaded.

JRMI 4.2, java 1.8


Locked Re: nce power cab

 

if you can upload the output from the jmri consol it will probably contain clues as to why you are having issues.

John


Locked Re: Bachmann 308 errors

 

Could it be that those Bachman¡¯s decoders don¡¯t do read back? ?Or alternatively their responses are so weak that they require the use of a program track booster to alert the command station to their presence?

Mick.
________________________________
Mick Moignard
m: +44 7774 652504
Skype: mickmoignard

, so please excuse the typos.


Locked Re: PRINT ALL TABLES TO PRINTABLE FILE

 

Bob, I am using Acrobat Pro DC on the Scanned images of the printed output. However, it is the inability to save the output to anywhere so that I can convert the out.prn file that is the problem. As the layout grows so do the Tables and I have reached a point where the printout is too small to be read with ease. Currently, scanning the entire output of both tables produces about 50% readable documents and 50% garbage. I am about to re-scan to pdf format one page at a time in order to get a good, working copy.

Dave


Locked Re: cvc-identity-constraint.4.2.2

 

File "Roberts Layout40.xml" has been uploaded to subfolder
"cvc-identity-constraint.4.2.2 Error" in the "Problems Being Worked
On" folder


Locked Control Panel Editor - need tips on how to make all the icons align better

 

I have built a panel in CPE and it works correctly. However, it looks clunky because I lined up all the icons by eye. I know I can edit the x/y coordinates for each individual icon but that will be a tedious and long process with a panel that may have 100's of icons.
Any tips on how to speed up the process and make the panel look nicer?
Paul D


Locked Re: BDL168/Intellibox/PR3 - PanelPro sensors are always high

 

Pino,

I don't have an IB to try any of this; however, as Bob noted, some of the BDL168 connection is working right.? Here are a couple of things to try:
1.? Check Op Switch settings 11 and 12.? You may have to set 11 on one board to make it a bus master.? You may have to set 12 on one board so that it terminates the Loconet.? The IB may already do these things.
2.? Check how the BDL168 is powered.? The manual requires 12-16 V AC or DC.
3. Finally, section 13 of the BDL168 manual has a trouble shooting guide.

Rodney


Locked Re: JMRI / DCS240 set up question and why so slow?

 

I forgot to mention that there were some serious speed issues with reading ESU CVs on the DCS240 when it first came out.

My memory is that it was finally resolved and may have involved a DCS firmware update.

Someone else may be able to recall the details...
--
Dave in Australia

On 9 Dec 2018, at 1:09 PM, Dave Heap <dgheap@...> wrote:

If you are reading a LokSound V4 or Select decoder in Paged Mode, it will take 25-30 minutes. It should be about half that in Direct Mode.

These decoders have around 1,000 CVs and there are physical limitations on the speed of the NMRA CV access protocol, the speed of the decoder and the command station. We're not talking about anything like a 1.5Mbps connection, something more like several CVs per second.

Read All Sheets with some decoders (ESU included) can cause random read errors, due to a known but as yet unfixed issue in JMRI. Read Full Sheet on the CVs pane is a lot better as it avoids this problem. When done, sort by Status descending and keep hitting Read Changes on Sheet until no red entries remain.


Locked Re: JMRI / DCS240 set up question and why so slow?

 

I don't know who told you that, but it's very untrue. Most DCC systems are fine with ESU decoders. See my other posting.

Your solution is a sure recipe for disaster with ESU decoders!
--
Dave in Australia

On 9 Dec 2018, at 12:04 PM, Alfredo Escalante via Groups.Io <alfredo_escalante2001@...> wrote:

I have discovered that hitting read all sheets is basically fatal on ESU , all you can do is hit the write the page and leave it at that .this was the solution given last time ESU was discussed


Locked Re: JMRI / DCS240 set up question and why so slow?

 

If you are reading a LokSound V4 or Select decoder in Paged Mode, it will take 25-30 minutes. It should be about half that in Direct Mode.

These decoders have around 1,000 CVs and there are physical limitations on the speed of the NMRA CV access protocol, the speed of the decoder and the command station. We're not talking about anything like a 1.5Mbps connection, something more like several CVs per second.

Read All Sheets with some decoders (ESU included) can cause random read errors, due to a known but as yet unfixed issue in JMRI. Read Full Sheet on the CVs pane is a lot better as it avoids this problem. When done, sort by Status descending and keep hitting Read Changes on Sheet until no red entries remain.
--
Dave in Australia

On 9 Dec 2018, at 8:09 AM, tooooons@... wrote:

It takes like 25-30 minutes to "read all sheets" from a LokSound Select decoder-equipped locomotive. We're not talking a 50GB download at 1.5Mb connection. Small amount of data being retrieved, but it takes way too long. Am I doing something wrong, or is this just how fast the Digitrax processor can work?


Locked Re: JMRI / DCS240 set up question and why so slow?

 

¿ªÔÆÌåÓý

I have discovered that hitting read all sheets is basically fatal on ESU , all you can do is hit the write? the page and leave it at that .this was the solution given last time ESU was discussed?



Sent from my T-Mobile 4G LTE Device

¿ªÔÆÌåÓý

-------- Original message --------
From: David Klemm <davidklemm7511@...>
Date: 12/8/18 4:14 PM (GMT-08:00)
Subject: Re: [jmriusers] JMRI / DCS240 set up question and why so slow?

Tooooons,

What version of JMRI are you on? ?My guess it is to old to have the DCS240. My club uses a 240 and it is in the selection.?

And Loksound taking a long time is normal in my opinion given its complexity. Though later versions do better.?

David Klemm
Xs Max

From: [email protected] on behalf of tooooons@...
Sent: Saturday, December 8, 2018 17:53
To: [email protected]
Subject: [jmriusers] JMRI / DCS240 set up question and why so slow?
?
I have the latest JMRI installed on a Windows 10 64bit system, brand new USB cable, new Digitrax DCS240, and less than two feet of wire to the programming track.

It takes like 25-30 minutes to "read all sheets" from a LokSound Select decoder-equipped locomotive.? We're not talking a 50GB download at 1.5Mb connection.? Small amount of data being retrieved, but it takes way too long.? Am I doing something wrong, or is this just how fast the Digitrax processor can work??

While attention is here, how come it is so confusing to set JMRI preferences with the DCS 240?? The latest digitrax system JMRI offers in the selection list is DCS200.? DCS240 has been around for a few years.? Why not include it??? I understand the DCS240 has an integrated PR3 or PR4, but it would be a lot easier just to select the system I have when selecting the system I have.? Kind of frustrating.

Thanks for your thoughts!!? I am not normally grumpy.