Acela Node Configuration Tool

This is the help/jmri/jmrix/acela/nodeconfig/NodeConfigFrame help page

Thank you for reading this, hopefully the few minutes you spend reading this will save you hours down the road.

If you have not already, please be sure to read more about JMRI Acela hardware support and the CTI Acela System Names.

Configuration Files

Just to perfectly clear, DecoderPro and PanelPro are different skins or user interfaces to the same JMRI program.

You can do anything from any of these three programs, the user interface has just been tailored in an attempt to make it easier for you to do what you want to do:

The one difference is that each skin stores its own version of your configuration.

The advantage is that you can set up each skin to have a unique configuration.

The disadvantage is that you may need to set up your configuration more than once (or copy and paste from one configuration to the next) if you want to use a different skin with at least some of the same configuration.

Back up your Configuration Files

That all said, each skin has only one configuration file (i.e. for DecoderPro it is DecoderProConfig2.xml).

So, if you make a change and SAVE your configuration file (by pressing the SAVE button on the Preferences window) you will write a new configuration file and the old one will be lost forever.

This is all fine and dandy until you realize that you were not connected to your layout and just lost your CTI Acela custom configuration (see below).

So, again, make backup copies of your configuration files (i.e. DecoderProConfig2.xml, PanelProConfig2.xml) often and store them in a safe place.

Connecting to Your CTI Acela System

It is highly recommended that you let the JMRI software discover your CTI Acela network for you.

To that end, the Add and Delete buttons have been disabled for the time being.

You can go ahead and edit your preferences file (i.e. DecoderProConfig2.xml or PanelProConfig2.xml) if you really want to change things manually.

It is recommended that you configure your CTI Acela network in three steps: Establish Your Connection, Discover Your CTI Acela Network, and then Customize Your Configuration.

Establish the Connection

With the CTI Acela system powered on and connected to your computer, start JMRI (DecoderPro or PanelPro).

From the main menu select and then select .

In the preferences page select Acela as either the Main connection or as one of the auxiliary connections. Usually, Acela will be one of your auxiliary connections since it cannot actually run the trains. For the rest of this documentation it will be assumed that you selected CTI Acela as an Auxiliary Connection.

You then need to select the correct serial port. Make sure that you get this right. If this is an auxiliary connection, the serial port is probably something like Com4 or Com5 (and probably not Com3).

Press the button. The JMRI program will end.

If you look at your configuration file (i.e. DecoderProConfig2.xml or PanelProConfig2.xml depending upon which program you ran) you should see a connection entry with the specified serial port. It will look something like (note the second "connection port" line):

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="http://jmri.org/xml/XSLT/panelfile.xsl"?>

<!DOCTYPE layout-config SYSTEM "layout-config-2-1-7.dtd">

< layout-config>

< connection port="COM5" speed="57,600 baud" option1="" option2="DCS100 (Chief)" class="jmri.jmrix.loconet.locobufferusb.configurexml.ConnectionConfigXml" />

< gui LAFclass="Metal" class="jmri.configurexml.GuiLafConfigPaneXml" LocaleLanguage="en" LocaleCountry="CA" LocaleVariant="" />

< programmer defaultFile="Basic" verifyBeforeWrite="no" class="jmri.jmrit.symbolicprog.configurexml.ProgrammerConfigPaneXml" />

< connection port="COM4" speed="9,600 bps" option1="" option2="" class="jmri.jmrix.acela.serialdriver.configurexml.ConnectionConfigXml" />

<!--Written by JMRI version 2.2 on Mon Jul 28 20:58:27 EDT 2008 $Id$-->

</layout-config>

Let JMRI discover your CTI Acela network configuration

Restart JMRI (DecoderPro or PanelPro). If you specified the correct serial port in the previous step then the JMRI software should automatically connect to the CTI Acela network, reset the Acela node and then poll the CTI Acela network and discover which modules (JMRI calls a module a node) you have and in what order.

JMRI will create a node for each module that it finds.

You can see what it found by once again going to the preferences menu (Main menu then Edit menu then preferences) and again clicking the show advanced preferences checkbox to see the auxiliary connections.

Now select the "Configure Nodes" button and you should see the Acela Configure Nodes panel.

The first section is entitled The Nodes in the Network and it will display a two letter symbol for each CTI Acela node that was found.

At this point you should close this window and once again use the "Save" button on the Preferences Screen.

If you now look at your configuration file (i.e. DecoderProConfig2.xml or PanelProConfig2.xml depending upon which program you ran) in addition to the connection entry with the specified serial port for the CTI Acela network you should see node descriptions for each CTI Acela node that was found.

It will look something like (note the lines after the second "connection port" line):

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="http://jmri.org/xml/XSLT/panelfile.xsl"?>

<!DOCTYPE layout-config SYSTEM "layout-config-2-1-7.dtd">

< layout-config>

< connection port="COM5" speed="57,600 baud" option1="" option2="DCS100 (Chief)" class="jmri.jmrix.loconet.locobufferusb.configurexml.ConnectionConfigXml" />

< gui LAFclass="Metal" class="jmri.configurexml.GuiLafConfigPaneXml" LocaleLanguage="en" LocaleCountry="CA" LocaleVariant="" />

< programmer defaultFile="Basic" verifyBeforeWrite="no" class="jmri.jmrit.symbolicprog.configurexml.ProgrammerConfigPaneXml" />

< connection port="COM4" speed="9,600 bps" option1="" option2="" class="jmri.jmrix.acela.serialdriver.configurexml.ConnectionConfigXml" />

< node name="0">

< parameter name="nodetype">AC&lt/parameter>

</node>

< node name="1">

< parameter name="nodetype">TB</parameter>

< parameter name="sensortype0">CG</parameter>

< parameter name="sensorpolarity0">INV</parameter>

< parameter name="sensorthreshold0">4</parameter>

< parameter name="sensortype1">CG</parameter>

< parameter name="sensorpolarity1">INV</parameter>

< parameter name="sensorthreshold1">4</parameter>

< parameter name="sensortype2">CG</parameter>

< parameter name="sensorpolarity2">INV</parameter>

< parameter name="sensorthreshold2">4</parameter>

< parameter name="sensortype3">CG</parameter>

< parameter name="sensorpolarity3">INV</parameter>

< parameter name="sensorthreshold3">4</parameter>

< parameter name="outputwired0">NO</parameter>

< parameter name="outputinit0">OFF</parameter>

< parameter name="outputwired1">NO</parameter>

< parameter name="outputinit1">OFF</parameter>

< parameter name="outputwired2">NO</parameter>

< parameter name="outputinit2">OFF</parameter>

< parameter name="outputwired3">NO</parameter>

< parameter name="outputinit3">OFF</parameter>

</node>

< node name="2">

< parameter name="nodetype">WM</parameter>

< parameter name="sensortype0">CG</parameter>

< parameter name="sensorpolarity0">INV</parameter>

< parameter name="sensorthreshold0">4</parameter>

< parameter name="sensortype1">CG</parameter>

< parameter name="sensorpolarity1">INV</parameter>

< parameter name="sensorthreshold1">4</parameter>

< parameter name="sensortype2">CG</parameter>

< parameter name="sensorpolarity2">INV</parameter>

< parameter name="sensorthreshold2">4</parameter>

< parameter name="sensortype3">CG</parameter>

< parameter name="sensorpolarity3">INV</parameter>

< parameter name="sensorthreshold3">4</parameter>

< parameter name="sensortype4">CG</parameter>

< parameter name="sensorpolarity4">INV</parameter>

< parameter name="sensorthreshold4">4</parameter>

< parameter name="sensortype5">CG</parameter>

< parameter name="sensorpolarity5">INV</parameter>

< parameter name="sensorthreshold5">4</parameter>

< parameter name="sensortype6">CG</parameter>

< parameter name="sensorpolarity6">INV</parameter>

< parameter name="sensorthreshold6">4</parameter>

< parameter name="sensortype7">CG</parameter>

< parameter name="sensorpolarity7">INV</parameter>

< parameter name="sensorthreshold7">4</parameter>

</node>

< node name="3">

< parameter name="nodetype">YM</parameter>

< parameter name="outputinit0">OFF</parameter>

< parameter name="outputinit1">OFF</parameter>

< parameter name="outputinit2">OFF</parameter>

< parameter name="outputinit3">OFF</parameter>

< parameter name="outputinit4">OFF</parameter>

< parameter name="outputinit5">ACT</parameter>

< parameter name="outputinit6">OFF</parameter>

< parameter name="outputinit7">ACT</parameter>

< parameter name="outputinit8">OFF</parameter>

< parameter name="outputinit9">OFF</parameter>

< parameter name="outputinit10">OFF</parameter>

< parameter name="outputinit11">OFF</parameter>

< parameter name="outputinit12">OFF</parameter>

< parameter name="outputinit13">OFF</parameter>

< parameter name="outputinit14">OFF</parameter>

< parameter name="outputinit15">OFF</parameter>

</node>

</connection>

<!--Written by JMRI version 2.2 on Mon Jul 28 20:58:27 EDT 2008 $Id$-->

</layout-config>

You can always get back to this state by erasing your configuration file and repeating these two steps.

Customize your configuration

Restart JMRI (DecoderPro or PanelPro).

Once again go to the preferences menu (Main menu > Edit menu > Preferences) and again click the show advanced preferences checkbox to see the auxiliary connections.

Again select the "Configure Nodes" button and go to the Acela Configure Nodes panel.

The first section which is entitled "The Nodes in the Network" should display the network the same as it did in the previous step.

You can now customize your configuration.

Customize your configuration

There are four types of CTI Acela nodes:

Configuring Sensors

A sensor circuit is usually used in one of four ways: A sensor circuit can be configured in one of two polarities: In addition, the high frequency noise rejection filter has a threshold that can be programmed with a value from 0 to 31. Larger values correspond to heavier filtering.

By default, JMRI initializes all sensor circuits to Car Gap, Reverse Polarity, and a threshold of 4. This seems to work rather well for the CTI supplied Infrared Sensor Kits.

Remember to save your new configuration by using the Save button in the Preferences window. Also remember to save a copy of your configuration file (i.e. DecoderProConfig2.xml or PanelProConfig2.xml) in a safe place.

Configuring Outputs

If an output circuit is being controlled by a relay then the relay can be wired in one of three ways:

The output circuit can also have an initial state or default configuration:

Remember to save your new configuration by using the Save button in the Preferences window. Also remember to save a copy of your configuration file (i.e. DecoderProConfig2.xml or PanelProConfig2.xml) in a safe place.