JMRI: Preferences PaneThe Preferences pane is where you configure the basic operation of your JMRI application.
The screen is split into two sections: on the left hand side is a list of the Preference groups that can be set. Clicking on each item will then populate the right hand side with the various options that can be configured for that Tab.
Perhaps the most important control is at the bottom of this section: The Save button!
Be sure to click "Save" when leaving this window. Your changes to the Preferences don't take effect until the program is stopped and restarted, so the program will prompt you to do that after saving the Preferences.
ConnectionsYou can select any of the various JMRI layout Connections here.
Each connection has its own unique tab. To get started, first select your DCC System Manufacturer, followed by the type of Connection that you are using. You will then be presented with a series of most commonly required settings that need to be set. If you need to change some of the more advanced settings then connection then check the "Additional Connection Settings" box and this will provide you with further details.
To add an additional layout Connection, in the Connections pane click on the tab with a "+", this will then present you with a fresh connection tab. To remove a Connection, in the System Manufacturer drop down list, select (none selected) to just clear your present choices and enter new ones, or click on the small "x" in the Tab name to delete the Connection.
For more information on how to configure this for your particular hardware, see the Hardware Help pages.
DefaultsIf you are using multiple connections, e.g. a LocoNet Connection and a MERG Connection, the Defaults pane lets you select which one is connected to e.g. the CV programmer and the Command Station you want to use. A second Connection of the same type will have the number (2) added in its name and its System-specific menu.
File LocationsThese allow you to set the default location for where scripts and user files are loaded and saved to.
Note that when changing the "User Files Location" this will also change the default location for where the following are stored:
There's a separate Help page with information on sharing files between computers using Dropbox.
Start Up preferences allow windows and files to be opened, scripts to be run, and additional buttons to be placed on the main window when the application starts.
Click the Add ▾ button and select the type of start up action to add. The new action will be added last.
Start up action order is important. In most cases, scripts should be the last items in the start up order. Start up order can be changed by selecting a start up item and moving it up or down in the list.
There are five types of start up actions:
- Perform action
- Have the program automatically execute various menu selections at startup. For example, you can have the Turnout Table automatically open, or automatically open a window for programming on the main.
- Add button to main window
- Add extra buttons to the main JMRI window that are connected to specific actions in menus for easy and quick access to that action.
- Open file
- Automatically load panel files when the program starts up. You can load as many panel files as you'd like; each will be completely loaded before the next is started.
- Run script
- Automatically run a scripts when the program starts up. You can run as many scripts as you'd like; each will be run to completion before the next is started. Note that any files the script depends upon need to be opened before running the script.
- Set route
- Set a route when the program starts. You can set as many routes as you like; each will be set in order. Note that any files the route depends upon need to be opened before setting the route.
A row of radio boxes allow you to select how the program
looks. The available choices depend on what kind of
computer you have, and not all of the following may be
- Metal - the default Java style, usable on all computers
- CDE/Motif - A Linux/Unix form that works well with X Windows screen managers. It's also available on (almost) all computer types.
- Windows - only available on Microsoft Windows systems, this makes the program look as much as possible like a regular Windows application.
- Mac OS X - only available on MacOS, this makes the program look like a Macintosh application.
In addition, this tab lets you set:
- The font size of the GUI.
- Whether you want to use graphics to show the state of turnouts, lights, sensors and blocks in the state column of their tables. since 4.7.4
- How long tooltips (where available) should be shown.
- Many people have contributed "internationalizations" of JMRI. This converts (much) of the text on the screen to a language other thank English. If you select your country or region and language here, then save and restart the preferences, JMRI will use an internationalization for that country and language if it's available. Items that have not been translated will continue to appear in English, so you won't miss anything. For more information on how to set this up, and particularly how to contribute new and improved translations, please see our internationalization page.
- This allows you to customize the way that the JMRI System Console looks. It is possible to select from a number of pre-defined color schemes and to choose the font size and style. Also, you can choose to save both the size and location of the System Console window so that it always appears in the same place and at the same size.
MessagesThis allows you to change the way that information and warning messages are displayed in JMRI.
It will also allow you to configure a default responses and the question being displayed.
The DecoderPro programmer allows you to select how much
or how little to display of the decoder content using
configurable "Programmers". You can choose the Basic or
Comprehensive interface when choosing your
Locomotive decoder, but this provides a convenient
place to set a default so you don't have to select it
each time you open a decoder.
This section also has checkboxes for options:
- "Show empty Programmer tabs": This lets you decide whether the DecoderPro programmer will display empty panes (tabs). Some people like to see them, even though they're empty; some people would prefer not to see them, so they don't keep trying to open and look at them. We provide this preference so you can choose.
- "Show CV numbers in tool tips": If you allow the mouse cursor to "hover" over a value in DecoderPro, a tool tip pops up with more information. Checking this box includes the CV number in that tool tip. Some people want to know the CV number, other people want DecoderPro to handle CVs entirely invisibly, so we provide an option to let you choose.
- "Allow caching when writing index CVs for read or write
operations": Some decoders require that specific values
be written to "index" CVs before certain other locations can be
read or written. QSI and ESU decoders use this extensively.
When doing a lot of reads or writes, for example an entire
decoder, the index CVs can end up being written with the
same value many times in a row. When selected, this
option allows DecoderPro to skip (save time on) writes
of the same index value that are otherwise redundant.
Don't use this (or use it only in combination with the
following operation) if you have reliability problems
writing decoders, as proper operation of this option depends on reliable writes.
More detail: A single bad write with this option off trashes one CV; writing a bad index with this option off trashes the CV that was supposed to be written and the wrong one addressed by the bad write, but the write to the next CV in the sequence is OK due to the redundant next write of the index; writing a bad index with this option on leaves that badly-written index value in place, so writes a sequence of bad CV values. Bottom line: If working with a complicated decoder with lots of CVs, you need a reliable programming connection, see next option.
- "When possible, confirm CV writes by following this with a read":
When selected, DecoderPro will read each CV after writing it.
If the value doesn't match, it marks the write as failed.
If you're having intermittent trouble writing to a decoder, this may improve reliability. If DecoderPro is never able to properly write, this won't help; it only helps if the problem is occasional, and retrying will get it right more often than not.
Some DCC systems will check for a "write acknowledge pulse" from the decoder before declaring the write a success. Those are almost as reliable as this, and much faster. So if you're using one of those DCC systems, this might not be needed. On the other hand, if you're using a DCC system that "writes blind", with no check, this might be really useful. To tell if you have one of those, try writing CVs with the locomotive off the track. If DecoderPro thinks the write succeeded, then the DCC system is writing blindly, without checking.
This doesn't help (but doesn't hurt) if you can't read back the decoder. Most DCC systems can't read during ops mode programming, for example. Some command stations (Digitrax DB150) can't read from the decoder. In those cases, this option just asks the command station to write without reading back.
Normally, the Roster is stored in a standard location as
part of the Preferences
directory. This option lets you move that somewhere
To configure it, click the "Set..." button and follow the directions.
The "Reset" button restores it to the default location. Note that this just changes where the program looks. If you've stored roster information elsewhere and want it back in the default location, you have to move the files there yourself.
You can also enter a default value for the "Owner" field in DecoderPro roster entries here. This fills in the value for new entries, which can save you a little bit of typing. It has no effect on existing entries, even if changed.
ThrottleThis Preference pane tab lets you select whether the extended Throttle features are available, and which ones can be used.
If selected, listens for a packet to be sent from the
connected mobile device. If WiThrottle Server does not
receive any communication in the chosen time, the
affected JMRI throttle will idle its train.
The chosen time is approximate; the response may be a few seconds earlier or later.
- Change the port number to use. Ensure your firewall
software allows this port to be used.
Only change the Port Number after stopping WiThrottle Server if there is a chance mobile devices are still connected.
- Allowed Controls
Check these boxes to allow specific features to be
controlled by mobile devices. This will let you to limit
what users have the ability to control.
- Track Power - Select whether mobile devices connected through this WiFi interface can control track power.
- Turnouts - Select whether mobile devices can control turnouts.
- Routes - Select whether mobile devices can control routes.
- Consists - If selected, mobile devices can build
& break "Advanced Consists".
- NMRA Format - These consists may perform better for building and controlling with WiFi devices.
- DCC Brand-Specific - These consists should perform better when built with a WiFi device, but controlled by a throttle from the DCC manufacturer of your system.
Config ProfilesJMRI Configuration Profiles make it easy to set up your JMRI applications to work with different setups. Each profile specifies one set of Preferences. You can then select which one to use.
For more information, see the Configuration Profiles help page.
The Railroad Name tab lets you specify the name of your model railroad (module), as it is used by several server protocols.
The JMRI JSON server is used by applications on other computers, including tablets and phones, to connect to JMRI to operate your railroad.
On this pane you can specify the port for the connection (usually left at default) and how often the server checks for whether the connection has failed via a heartbeat message.
Web ServerThe JMRI Web Server lets you connect to JMRI from a web browser on your computer, tablet or phone and work with your railroad.
This tab lets you control what the web server provides. For more information, see the Web Server Preferences pane page.
The JMRI SRCP server is a standard way of connecting "client" user programs to a "server".
On this pane you can specify the port for the connection (usually left at default).
JMRI Simple Server is part of JMRIClient, a method to remotely connecting one JMRI program to another.
On this pane you can specify the port for the connection (usually left at default).
WarrantsThis tab sets parameters used in computing routes for Warrants and for controlling the events that warranted trains may encounter.
When an automatically running train encounters a Signal that calls for a speed change, or progress is blocked by occupancy ahead, the speed map table is used to make the necessary speed change. Other parameters control the way the speed change is ramped.
The Speed Map maps the speed names found in the aspects definition of a signal system to a value. It is important that all the speed names used in your signal system be listed in the Speed Map Table. The value associated with a speed name can be interpreted in four different ways: As a percentage of the current throttle setting as recorded or set by an NXWarrant ("PercentNormal"), or as a percentage of the full throttle setting ("PercentFullThrottle"). The last two ways interpret the value as a scale track speed; Miles per Hour or Kilometers per Hour. Use the radio buttons to select how the code should interpret the Speed Map.
The Head Appearance Map is used when Signal Heads are used as signals. It maps the appearance to a speed name which in turn is mapped by the Speed Map table.
It is important that the correct scale is chosen and that the value of "Throttle Setting/Speed Factor" is reasonable for engine addresses that run on warrants. The factor adjusts the throttle setting to be scale track speed. The Throttle Factor set here is the global default, but factors for individual engine address can be determined with NXWarrants.
The "Max Number of Blocks in Route" is the depth to which JMRI will search for a route when defining a warrant. This is a global value that can be overridden when creating a warrant.
The remaining items on the panel are used when JMRI makes a speed change due to a signal aspect or occupancy ahead. The speed change is made with a series of incremental throttle settings. "Ramp Step Time" is the duration of each step and "Ramp Step Throttle Increment" is the amount of throttle setting change.
For more information on Warrant preferences, see About Warrants and follow its links.