Releases: johnrm174/model-railway-signalling
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.
Release 4.1.0
Changes for Release 4.1.0:
- Hidden files and folders now supressed in file load and save dialogs
- Network heartbeats and monitering to check the status of other network nodes
- Ability to trigger application shutdown of connected network nodes on application exit
- Support for the Pi-SPROG3 V2 DCC Programmer / Controller (higher baud rate)
- Quickstart guide updated to reflect settings changes for the Pi-SPROG3 V2
- BREAKING CHANGE - GPIO Ports 16 and 17 no longer selectable for track sensors
- Minor bugfixes and application enhancements to improve the overall user experience
Release 4.0.0
Release 4.0.0 is now 'complete' will all the main features envisaged at the start of the development.
Specific enhancements for Release 4.0.0 include:
- Application documentation in the form of a 'quick-start' guide (downloadable PDF)
- 'Arrow keys' will 'nudge' objects in edit mode (or scroll canvas if nothing selected)
- 'Escape' key can be used to cancel 'in progress' object moves and area selections
- 'Cntl-r' will reset the main window to fit the specified canvas size (after user re-sizing)
- 'Cntl-m' is now the keyboard shortcut for toggling Edit/Run mode (for consistency)
- Improvements to layout load - errors/warnings simplified (no more spam messages)
- Text boxes - Ability to add/edit text boxes on the schematic to annotate the layout
- Canvas configuration - Ability to change the grid size and toggle 'snap-to-grid'
- Toggle signal automation - Be an active signalman or just watch the trains go by
- Signals can be overridden (to DANGER) on up to 3 track sections ahead
- Signals can be interlocked with up to 3 occupied track sections ahead
- Basic DCC Programming - 'one touch' and Configuration Variable (CV) programming
- Consolidation of library functions (deprecated library API functions removed)
- Minor bugfixes and application enhancements to improve the overall user experience