Release Notes for JMRI 2.11.5 release
Date: May 28, 2011
From: Bob Jacobsen
Subject: Test version 2.11.5 of JMRI/DecoderPro is available for download.
This is a test release. Please post a note if you encounter any new or old bugs! And please back up your JMRI files before installing this, in case you want to go back to an earlier version.
This is the fifth in a series of test versions. We expect this series to end in a JMRI 2.12 or 3.0 production release in 2011.
It contains many new features, including:
Some of the changes involved are quite extensive. They may require a certain amount of experience before they are working well. Therefore, this test version should be considered experimental.
New warnings for this version:(None yet)
Older warningsDevelopment Version 2.11.4 contains significant improvements to the Powerline Interfaces. Some of these improvements involved a complete restructuring of the underlying code. As a result, previously working Preferences may now show no connections for some of the Powerline Interfaces. If this occurs, go to Preferences and setup the Powerline Layout Connections again. Then save the Preferences and restart JMRI.
In Development Version 2.11.3 JMRI instituted a more robust and transparent system for handling missing panel icon files. If missing icon files are discovered during the panel loading process this system presents a dialog box that allows the user to either delete the offending reference or use the file browser to find the proper location. Older versions of JMRI didn't always fully remove the references to deleted panel icons. Panels which contain these stray references will present the dialog box during the first panel load. If the panel worked fine before, simply choose the delete option for each "missing" icon presented to remove the stray references. Once the panel has finished loading, save/store the panel file, quit JMRI and then reload. As a precaution, we recommend either making a backup copy of your panel file before diving in or saving the modified file under a different name
There have been extensive changes to the throttle code. If you have written scripts that use throttles, particularly multiple throttles, please check to make sure they still work.
The numerical values of "ON" and "OFF" for Lights changed in JMRI 2.11.2, along with some of the other constants in the class. This will have no impact on people just using the program. If you're using scripts with numerical values in them, please recode them to use the symbolic values.
Known problems with this releaseNone at the time of this release.
Please use these links for downloading:
Changes since test release version 2.11.4
New operations features and bug fixes:
- Enhancement to the "Set Cars" tool. You can now ignore selected fields when changing a group of cars.
- You can now optionally select which trains can set out and pick up cars from a siding.
- Car routing enhancement, program now checks the number of available moves when determining if a train can service a car.
- Improved how the program set outs cars when there's two or more stops at the same location. There is now a bias to set out the cars at the earlier stop.
- New schedules enhancement, uses can optionally control a schedule using the train timetables. For example you can now deliver a car to a siding based on the day of the week.
- The trains window now shows which timetable is active.
- Siding/schedule enhancement. When a car is placed at a siding with a schedule the car's destination isn't immediately set, only the car's final destination. This should eliminate overloading at sidings with schedules when in aggressive mode.
- Car forwarding enhancement when a car has a final destination. Now when the destination track is full, the program will determine if a yard track at the destination is available, and deliver the car to the yard track. The car will remain at the yard track until the siding becomes available.
- The program will now warn you if you haven't saved your files before doing a backup.
- You can now use the wild card "*" when using the "Find" button in the cars and locomotives windows. For example, if you wanted to find all cars with road numbers that ended with 456, you would enter *456.
- Fixed a problem when a siding has a schedule and a group of cars (kernel) was placed at the siding. Sometimes the car load wasn't updated properly. Thank-you Frank Wyatt for bring this to our attention.
- Changed the order of the location comment when there's no work at a location. The location and route comments now come after the "No work statement".
- Added some additional comments in the build report with regards to car routing. Messages are now in the build report. Messages to the console have been removed.
- Fixed a problem with switch lists showing loco pickups when there wasn't. This happened when the switch list was printed when the engines were at that location.
- New feature, train logging. In addition to car and loco logging, the program can now log train activity.
- Operations manifest and switch lists enhancement, users can now specify local car message format and color, see Print Options for details.
- Program now remembers a car's previous final destination when reseting a train. Now when you reset a train and the car destinations that were set by a schedule will remain.
- Improved how tracks with setting FIFO and LIFO behave. Previously if the program couldn't find a destination for a car, all cars behind that car were stuck. Now the program will jump over a car that can't move.
- Train manifests now correctly show trains length and weight when there are engine changes in route.
- New feature, you can now enter a cost value for your cars and locos. Nothing to do with operations, but nice to have.
- You can now delete a schedule directly from the schedules window.
- Added Circuit Builder tool to Control Panel Editor. This is an alternative tool to the Occupancy Tables that creates OBlocks, Portals and OPaths through a "point and click" GUI. (features still in progress)
- Fix route finder and warrant recording bug introduced in ver 2.11.4
- Fix loco icon following warrant playback through all track circuits.
- Fix bug that did not load ver 2.4 signalHead icons.
- Fix bug that did not load rotated or scaled signalMastd icons.
- Fix bug loading panel after Occupancy Block Table is open.
- Inserting or deleting rows of a Throttle Command warrant script now keeps the total elapsed time a train is in a block the same.
- Added set TrainID, set TrainName warrant actions to Logix
- Fix background color of panels when changing views between editors
- Add indirection to Logix actions for device names and action types. The '@' symbol before a memory location will use the value in that memory for the device name or its action string.
- Simplifird LRoute GUI
- Added an LRoute "Initializer". Creates a Logix guaranteed to execute first for initializing sensors, turnouts and signals, avoiding thrashing of enabling Logixes at panel load time.
- Help files updated for Warrants, ItemPalette, Control Panel Editor
- All known problems with the Abort command to Auto or Manual warrants fixed.
- Two or more warrants can be allocated when they have blocks in common as long as each can acquire its first block. (An allocated warrant must always have a starting block under its control.)
- Dark blocks may used as starting and destination blocks. They should be registered OBlocks without a sensor.
- Speed sampling interval changed to 500ms instead of 200ms when recording auto train scripts
- Train name in loco icon follows progress on both record and playback of a warrant.
- Added a new way to control locomotive speed in throttle control panel : the "continuous" speed slider going from -100 to +100 through 0 with automatic direction change at 0. (option accessible in throttle control panel property window)
- Added an option to have a throttle control panel automatically switch between regular and continuous speed slider when a decoder function is activated/deactivated (most decoders have a slow function for "shunting" mode where a continuous speed slider is more appropriate for speed control). (option accessible in throttle control panel property window)
- Added possibility to customize throttle function buttons with images in throttle function button property window
- Added ability to save customized throttle function buttons in regular throttle files
Paul Bender updated the error checking in the JMRI consisting tool.
Bob Jacobsen fixed a bug in LocoNet message processing that kept the "Send LocoNet Message" tool from sending multiple messages.
Steve Todd, changes to xmlio server:
- Added support for Memory Variables
- Reduced timeout on waiting threads from "forever" to 30 seconds
- Return "Content-Length" in reply header
- Added "Show Comm Info" to miniserver prefs, to promote key messages from debug to info when checked. Default is off.
- Updated so that the user selected preferences and the window size/position data is now saved in a seperate file and not in with the connection preferences.
- Added a sensor debounce facility to individual sensors see Sensors for further information.
By default this new option is disabled
- It is now possible to view signal mast specific appearances, and aspect mapping on the JMRI website.
- The Default tab in preferences is automatically updated when a connection is added, removed, enabled or disabled. Thus allowing you to select your default system on the next reload for a newly added or enabled system
Brett Hoffman, changes to WiFi throttles:
- Added support for one throttle to control multiple addresses.
- WiFi devices can now request speed, direction, and function momentary info.
- Function states can now be set directly.
- Updated Windows Installation documentation incorporating details of reversion procedure (thanks to Walter Thompson for the initial procedure)
- Fixed bug when importing decoder definition from user preference location (thanks to Greg Watkins for finding this)
- Contributed a decoder definition for the MRC 1902 sound decoder.
- Corrected and added function labels in the MRC 1806 decoder definition and added MRC 1805 to that definition file.
- Corrected and added function labels in the MRC 1820 decoder definition.
Zimo sound decoders allow the end user to select the sounds played, and their volumes, from any of those stored on the decoder. As an example, this allows the user to change the horn, or brake noises, as well as set the sound levels for each element. This is done using a technique Zimo call "psuedo programming". An Ops-mode CV change to CV300 is made to enable pseudo programming, then function keys select various sounds. The throttle speed control acts as a volume control. Some function keys will end the programming (as will issuing a new Ops-Mode change of the CV). The difficulty for end-users in this approach is that the initial selection of which ops-mode value to select is not obvious, the throttle function keys when mapped to the pseudo programming features are not intuitively laid out (may be OK on a Zimo handset) and pressing some functions can have unexpected consequences (turns sounds off for that aspect of the decoder!).
The new "Zimo_pseudo_programmer.py" script is an attempt to make Zimo Pseudo Programming a bit easier for the end user. It can be seen as complimenting my earlier CV61 Zimo function mapping tool. (And perhaps one day, I will bring them together into a general Zimo programming aid tool !).
Its been tested by a couple of Zimo sound users, and we found a bug in the Zimo decoder firmware which resulted in one feature being temporarily removed from the script pending a decoder update from Zimo.
Randall Wood updated the fast clock support so that it maintains a memory variable IMRATEFACTOR with the rate information.
- Provided an ESU LokSound V4.0 decoder definition.
- Updated the DecoderPro Advanced pane
Giorgio Terdina fixed a problem with the XnTCP adapter code.