Releases: johnrm174/model-railway-signalling
Release 5.0.0
New Features in Release 5.0.0:
- Major update of documentation to cover new application features
- Full documentation is now packaged with the application (Menubar => Help => Docs)
- Example layout files are now packaged with the application (Menubar => File => Examples)
- New 'Signalbox Levers' feature - enables you to achieve a fully prototypical simulation of a signalbox:
- Levers can be added to the schematic and 'connected' to the signals and points they control.
- Separate levers can be assigned to a point's blades and Facing Point Lock (FPL).
- Separate levers can be assigned to each signal 'route' (i.e. semaphore signal arm or colour light signal route).
- Full interlocking is preserved, with a clear indication on the Signalbox lever as to the state of the interlocking.
- Keyboard 'keycode' events can be mapped to Signalbox Levers:
- Enables easy integration with physical levers (such as the DCC Concepts S lever) via readily available keyboard encoders.
- Interlocking can either be preserved (recommended) or disabled (if you want the signals/points to reflect the state of the physical levers).
- Options are provide to display pop-up warnings if the user switches an external lever is switched whilst the lever is locked.
- Schematic Object bulk renumbering utility:
- An easy way to consolidate your Signal, Point and Signalbox Lever numbering
- Most other schematic object types can also be renumbered as required
- Improvements to the operation of Momentary DCC Switches:
- DCC Commands can now be specified for both the 'press' and 'release' events
- A fixed 'release delay' can now be specified to 'hold' the momentary switch on
- New SPROG DCC Address Mode settings option - to cater for the 'DCC Address offsets of 4' issue sometimes experienced when transitioning from one DCC System to another (where the NMRA specification has been interpreted differently by different DCC system manufacturers/suppliers)
- The 'Reset Layout' function now preserves track occupancy and incorporates a user-configurable switching delay so point and signal changes can now be sequenced (to avoid overloading the DCC accessory bus on larger layouts which may require a large number of points and/or signals to be reset back to their default states).
- Improved display of Signal Passed at Danger (SPAD warnings) - subsequent warnings are now added to the existing pop-up window (rather than appearing in a new pop-up). This can now be left open without affecting the normal operation of the application.
- GPIO sensor events (e.g. 'signal passed', 'sensor passed' etc) are now only processed in Run Mode.
- Bugfix to Block Instruments sound file selection (due to breaking change in 'importlib' package).
- Bugfix to the display of validation messages in the 'settings' windows on Apply/OK.
Other 'under the hood' changes:
- Major refactoring of sub-packages to improve overall package structure
- Major refactoring of common UI elements to improve supportability going forward
- Review and update of system tests to increase overall code coverage
Release 4.9.0
Main features in this Release:
- New feature to drag and drop train designators between track sections in Run Mode (for cassette fiddle yards)
- New menubar 'styles' feature to set (and apply) default styles for Route buttons, DCC Switches, signal buttons, point buttons, Track Sections, Route Lines (including points) and Text boxes - get your schematic looking the way you want!
Other Updates:
- New option to offset the position of signal buttons (useful for busy schematics to deconflict)
- New options to hide individual point buttons and signal buttons in Run Mode (if you are intending to control these via 'one touch' route setting and have no requirement for manual control)
- Width of track sections is now specified independently to the default label (4 to 30 characters) - and configured under 'styles' (see above)
- Improved appearance of buttons and track sections when displayed on different colour canvas backgrounds
- Dynamic positioning of tooltips to ensure they always remain within the displayed area of the screen
- Signal buttons will now only show "overridden" or "approach control set" if they are "OFF"
- Bugfix to prevent schematic items being selected in Run Mode after scrolling the displayed area
- Bugfix to route line highlighting (colour of the end-stops are now updated to show the route)
Release 4.8.0
User focussed bugfixes/features:
- Improved object creation - when you click a button to add a new object to the schematic, the object now moves with the cursor until 'placed' on the canvas in the desired position (by left mouse click). Useful for working on layout schematics larger than the displayed window scroll area.
- Improved copy function - The new objects now appear on the schematic as soon as you have copied them. They then track the cursor until 'placed' on the canvas in the desired position (by left mouse click). Useful for working on 'busy' layout schematics where the copied items would have overlayed other objects.
- Other minor improvements to the schematic editor in terms of cursor styles during object moves and area selections (Edit Mode), and scrolling of the displayed canvas area via the mouse/touchscreen (Run Mode).
- New DCC Accessory switches feature, enabling you to add and configure buttons on the schematic to control other DCC-enabled accessories on your layout (e.g. If you are still analogue for control of trains, then you can use this feature with external DCC-relay modules for operating track isolating sections).
- Improved Route Feature - DCC switches can be added to the route configuration to operate DCC accessories needed to complete the route setup (level crossings, track isolating sections etc).
- The font, font size, font colour (black, white or auto) and font style can now be specified for Route Buttons (these options can also be applied to text boxes and DCC Switches)
- The canvas (background) colour and grid colour can now be changed and the grid hidden in edit mode
- Bugfix to colour chooser - Previous colour will now be retained if cancelled (without errors)
- Bugfix to object selection (shift-left-click) - will now no longer error if cursor is not over an object
Other changes 'under the hood:
- Reviewed and refactored most of the common UI classes and updated the object configuration windows and menubar windows to use the new/refactored common classes
Release 4.7.0
New user-focused features and bugfixes in this release:
- Track Sections, Track Sensors and Text Boxes can be hidden in RUN Mode if required - this enables the schematic to be annonated with design notes in Edit Mode (which are then hidden in Run Mode). Also provides flexibility for implementing other niche automation use cases on your layout.
- Ability to set the background colour of Text Boxes to 'Transparent (i.e. no fill colour)
- Point/signal button sizes can be changed via general settings (aids selection via touchscreen monitors)
- The colour of the Schematic Route buttons can now be set by the user (for differentiating route groups)
- Setup of Schematic Routes can now be triggered from Track Sensors (useful for converging routes)
- Bugfix to schematic editor - to prevent right mouse clicks whilst object moves are in progress
Other changes to increase overall application resilience:
- Improvements to inter-thread communication to ensure the entire application remains 'thread-safe'
- Improvements to layout load to ensure any immediate events arising from layout load are handled correctly
- Remove superfluous (and potentially misleading) logging from dcc_control)
- Re-factor several of the base UI classes to address tech debt
- Lay the foundations for the 'DCC Accessory Switch" feature (next release)
Release 4.6.1 (Hotfix for GPIO triggering)
Main Changes in this release:
- HOTFIX - Removed GPIO sensor de-bounce as this was causing sensor triggering issues
- Improvement - Reduced scroll rate when scrolling canvas via mouse (drag and drop) in Run Mode
- Improvement - Increased fontsize and padding for Route Buttons (easier to select via touchscreen)
- Tech Debt - Improvements to Approach Control processing in run_layout
Release 4.6.0
What's new for Release 4.6.0:
BREAKING CHANGE - Single Slip and Double Slip points have been shortened to improve route highlighting but
this does mean you will need to edit your schematic (extend track lines) to take account of this change.
Also, Double Slip points have been changed to give a straight route through the point for their default state.
- New feature to scroll canvas via mouse (drag and drop) in Run Mode - useful for larger layouts
- Changed default GPIO sensor timeout to 20ms (the optimum value I have arrived at by testing)
- Improvement - Item IDs (signals, points, lines etc) can now be in the range 1-999
- Improvement - Route selection buttons are now always displayed on top of route lines
- Improvement - Text Boxes are now always displayed on top of route lines
- Improvement - Improved representation of Trap Points and single slip points
- Improvement - Improved Route highlighting through points (for most point types)
- Improvement - Improved readability for theatre route indications and track occupancy
- Bugfix to GPIO sensors - to prevent the occasional spurious segmentation errors on settings apply
- Bugfix to timed signals (triggered by another signal) - to prevent spurious SPAD warnings
- Bugfix to handle update of Route ID (if changed by user in the route configuration dialog)
- Bugfix to schematic route highlighting for 'Y' points (route now correctly highlighted)
Release 4.5.0 - Schematic Routes Feature
New User Focussed Features:
-
Schematic Route Buttons Feature:
- 'One click' select/deselect of routes, changing all points and signals as required
- Point and signal changes can be instantaneous or sequenced with a user-specified time delay
- Once successfully set up, routes can be highlighted on the schematic in user-defined colours
- Automatic clear-down of highlighting if routes are invalidated (e.g. point or signal changes)
- Track-sensors can be used to automatically de-select routes when the trains have cleared the routes
- Interlocking is preserved - If a route isn't possible the button will be disabled (with a tooltip)
-
Removed constraint on interlocking with conflicting signals - more than 4 signals can now be specified
- The Signal Configuration Window used to be 'fixed' at 4 conflicting signals per route
- This now uses a new UI element where additional rows can be added/deleted as required
For this release, I'd specifically welcome feedback on the new schematic routes feature
Release 4.4.0
New User-focused features:
- Support for 'complex trackwork': single slips, double slips, scissor crossovers, trap points, Y-points and 3-way points can now be represented on the schematic and incorporated within your layout signalling scheme.
- The position of point control buttons can be 'tweaked' via the UI to de-conflict with other schematic objects when developing complex and/or 'busy' track schematics
Behind the scenes changes:
- Loads of tech-debt addressed in the library functions to simplify the structure of the code and improve consistency across the wider code base
- New library module tests added to increase code coverage of the library functions
Release 4.3.0
New User Features in Release 4.3.0:
- 'Y' points can now be created on the schematic (select in the point configuration dialog
- Improvements to the 'look' of signal objects on the schematic
- Bugfix to 'Track Sensor' selection when toggling modes
Other updates in Release 4.3.0:
- Button positioning for signals and points now takes into account lib.common.fontsize - to support possible future configuration of button sizes via the editor (please let me know if this feature would be useful to you)
- Track section library functions re-factored to simplify code across library and editor
- Signals library functions re-factored to simplify code and support maintainability
- DCC Model Railway Signalling logo added to the main menubar
- System test coverage extended and improved
Release 4.2.0
Release 4.2.0:
- New 'Track Sensors' feature - extends track occupancy into non-signalled areas such as goods yards and MPDs.
- Improved 'signal passed' logic - will now detect (and warn the user about) Signal Passed at Danger events.
- New DCC Mappings utility - to display all mapped DCC addresses and the signals/points they are assigned to.
- Improved DCC validation - Prevents DCC addresses being mapped if already assigned to another signal or point.
- Improved GPIO Sensor Settings window - now includes a back reference to the mapped Signals / 'Track sensors'.
- GPIO library updated - GPIO inputs are now fully functional on the most recent versions of RPi-OS/Python.
- A new Public API - to enable integration of your own custom layout interfaces via the MQTT network.