RRA Software Release Notes
RRA v1.4.1 Release Notes
Changes since v1.4.0:
Radio Interface link reliability
- Addresses the customer-reported delete-then-add failures.
- Frames from the radio board are now validated (CRC, length, message size) before being acted on; a corrupt or truncated frame is discarded, not obeyed.
- The receive buffer is sized to the protocol maximum - a full audio file listing now arrives intact instead of silently wrapping.
- Audio data is sent only in answer to the board's request for that specific part, so a stale or duplicated request cannot desynchronize a transfer.
- A failed audio upload retries automatically - up to 3 attempts, restarting the whole file.
- The status card shows "attempt 2 of 3" so a retry does not look like a stall.
- The board's rejection reasons are acted on: transient rejections are resent, permanent ones stop immediately.
- Audio transfers have their own response deadline, kept below the board's own write timeout.
- Serial port faults are detected and the port reopened; the unit also starts cleanly with no port present.
- Routine background polling stands aside while an upload or playback is using the link.
Radio Interface link health
- New link health view: frames received and rejected, response timeouts, rejections by reason, dropped work, port faults and recoveries, slowest transfer turnaround.
- States whether the link is healthy, degraded, unresponsive, or wedged, and what to do about it - including when the board needs a power cycle.
Audio clip upload status
- Upload progress is now held by the unit, not the browser tab.
- Survives a page refresh.
- Other users see the same upload live.
- The send phase shows real byte-level progress instead of an indeterminate bar.
- Operations that would disturb the board mid-upload are refused with a clear message - delete, play, radio programming, and now a second upload or an edit.
- An unresponsive or suspended browser can no longer slow the radio link during an upload.
- The status card can be dismissed and stays dismissed; dismissing affects only your browser.
- A dismissed card no longer hides a later upload's result after the unit restarts.
Audio clips
- Deleting a clip waits for the radio board to confirm the erase.
- A clip the board no longer holds can now be deleted - previously this needed editing the configuration file on the unit.
- A clip too long for the board is refused immediately, naming the ~16.4 second limit.
- No more waiting ~40 seconds for it to fail with an unhelpful message.
- The clip ID is prefilled with the next free value on Add New, and is still editable.
- Added a 2-minute repeat interval (1, 2, 5, 10, 15, 20, 30 minutes).
- Playing a clip the board does not have now gives a clear message naming the clip.
- Playing while another clip is running reports it as queued, not as a failure.
- Deleting a clip is refused while a clip is playing, with a message saying to wait.
- Previously this timed out and could leave the unit's list disagreeing with the board.
Web UI reliability
- Table controls stay disabled until the refreshed table is on screen, so a row cannot be edited, deleted or played while the list is still rebuilding.
- Every error and status card has a dismiss control - including rejected-upload cards, which previously could not be cleared at all.
Updates (OTA)
- The update page refuses files the RRA cannot apply, naming what is accepted.
- Accepted: software update (.deb or .gz), Radio Interface firmware (.hex), rra-config or wayside-controller-config XML, and the BURNIN trigger.
RRA v1.4.0 Release Notes
Changes since 1.3.3:
Improved storage & logging resilience (microSD) - A failed or missing microSD no longer blocks boot or loses logs. - Boots and runs normally with any card state - healthy, missing, or dead. - Key events + all warnings/errors are always kept on internal storage; they survive card failure and power loss. - Verbose logs still use the SD card when present. - The internal log is size-capped, and nothing is written to an absent card. - Installing the update fixes the card mount automatically - new and existing units. - No longer need the card at all for radio programming, audio conversion, and OTA updates - all work without it.
Log Files tab - Browser shows both areas - record (internal) and bulk (SD); loads even with no card. - New "Download All Logs" button - bundles everything into a single zip; it spans both areas and still delivers the record when there is no card - "Main Logger" level now trims only the verbose SD logs - it cannot silence the record. - A banner appears when the card is absent, so it is obvious you are on internal storage only. - Each logger shows its current level separately from the radio buttons (Current:
) and flags an un-applied change. Faster application startup - Startup time went from ~90s to ~65s
Configuration report - One-button download of a full plaintext configuration report (About tab), with a cool-down so it cannot be spam-clicked. - Produces a complete, readable text file of all settings: device identity, system info, network, wayside controller, inputs/outputs, state inputs, DTMF commands, audio clips, and current radio channel + squelch
Audio clips - Repeat is now "play N times, then stop" (count-first) - pick Once or a count, with the interval shown only when it actually repeats - Upload failures now report a specific, plain-language reason and remedy (busy / could not save / could not convert / radio board rejected it / timed out) - No more opaque "Error 47." - A stalled radio board no longer hangs an upload forever - it times out, reports the error, and frees the unit (no restart needed). - Added 'enable deletion' guardrail to prevent accidental deletion of audio clips
Radio - The Radio Parameters "New Value" frequency dropdown now loads preselected to the current frequency. - Prevents potential misapplication of an incorrect frequency when changing squelch level
Device identity & System Properties - New Milepost field on the ID Information page. - The System Serial Number now reliably appears on the About page after boot. - Every System Properties section (ID Information, both Ethernet interfaces, Radio Parameters) now has a "Discard Changes" button to revert un-applied edits. - Free-text config fields are sanitized so special characters cannot corrupt the saved configuration.
Wayside setup - Bit assignments are validated to the legal 1–1024 range and rejected if out of bounds.
Web UI reliability - A "connection lost" banner appears within a few seconds when the device is unreachable, and clears when it is back. - After a software update, the UI always loads the new version's assets - no stale pages needing a hard refresh. - Improved cache-busting
Updates (OTA) - Fixed OTA updates failing after the first install - repeat updates now apply reliably.
RRA v1.3.3. Release Notes
Changes since 1.3.2:
- Modify QNET wayside controller such that RRA can be used as a 'remote' to an sQLCP
RRA v1.3.2 Release Notes
Changes since 1.3.1:
- Add ability to 'Discard Changes' in wayside controller properties UI.
- Modify Wayside Controller Properties form to make it more consistent with that displayed in the sQLCP UI
- Set the IP port to 54321 as a default when switching on the web UI to QNET as the wayside controller protocol
- Set the IP port to 7169 as a default when switching on the web UI to GENISYS as the wayside controller protocol
- Changed protocol name 'QNET' to 'QNET-Client' in UI.
- Changed protocol name 'GENISYS' to 'GENISYS (UDP)' in UI.
RRA v1.3.1 Release Notes
Changes since 1.3.0:
- QNET wayside controller protocol support improvements
- Correctly construct the URL used by QNET Controller to retrieve indications and push controls
- Address resource leak ('too many open files') in QNET Controller
- Report system uptime in web UI in terms of days/hours/minutes rather than in terms of seconds
- Add a means in the UI of returning the log panel to the log root directory display
RRA v1.3.0 Release Notes
Changes since 1.2:
- Increased flexibility of configuration update via web UI
- Allows any file with the filename pattern
rra-config*.xmlto be treated as a main configuration file - Allows any file with the filename pattern
wayside-controller-config*.xmlto be treated as a wayside controller configuration file
- Allows any file with the filename pattern
- Wayside controller input fields—including fields for controller ethernet interface—are disabled if wayside controller enabled field is false
- Reported system uptime is now correct even when system time and/or timezone is modified
- User is now prompted to reboot RRA and do a hard refresh of RRA UI page after uploading new SW
- Updated maxon radio programming script from v1.0.1 to v1.0.2
- Updated radio programming script to make it more robust in dealing with unexpected characters received via the serial connection with the radio
- Improved 'liveness' of radio programming log by more frequently flushing output
- Added a maximum button press threshold to 'reset to default' button monitor
- max threshold is 10 seconds
- allows user to nullify a reset request
- UI Improvements:
- MD5 values on About page are now updated dynamically if the associated configuration is modified via the UI
- Mnemonics on IO Monitoring page now update when modified elsewhere in UI
- DTMF commands are now supported as triggers for driving digital output
- Digital inputs are now supported as triggers for playing audio clips
- Reset IP addresses to default values when 'Reset to Default' button is pressed
- Button must be pressed, held for at least 2 seconds, and released to initiate reset
- Health LED will fast flash when button press is detected (for >= 2 seconds)
- Allow audio clips to be played repeatedly, based on user configuration, as long as the triggering condition is present
- Support selectively disabling (and re-enabling) the link to the wayside controller
- Added controller link status icon for 'Link Disabled' (to differentiate condition from 'Link Down')
- Added ability to set and report System Name, Location Name, Railroad Name, and Subdivision Name via the UI
- Message digest is now calculated and reported for RRA configuration files
- main configuration
- wayside controller configuration
- Log improvements
- Added a log with entries that are formatted in a manner intended to be more easily readable by signal personnel
- Support user-initiated deletion of all log files older than 24 hours from the UI
- Support traversal from a 'logs' subdirectory back to the parent directory
- Improved organization of log file directory
- Support deletion of all log files from production test page
- Added support for additional timezones on the 'About' page (to support installations outside of Canada)
- UI improvements
- Display AAR channel in addition to frequency when indicating RX and TX frequency for radio
- Allow DTMF commands to be added without assigning any control bits to the command
- Allow edits (e.g. of DTMF Commands, Audio Clips, etc.) to be quickly cancelled
- Improve handling of bit entry forms
- Improve formatting of table entries when text 'overflows' cells
- Misc improvements to tab headings, alert text, etc.
- DTMF commands are now supported as triggers for driving digital output
- Digital inputs are now supported as triggers for playing audio clips
- Added a log with entries that are formatted in a manner intended to be more easily readable by signal personnel
- Added ability to set and report System Name, Location Name, Railroad Name, and Subdivision Name via the UI
- Message digest is now calculated and reported for RRA configuration files
- main configuration
- wayside controller configuration
- UI improvements
- Allow DTMF commands to be added without assigning any control bits to the command
- Allow edits (e.g. of DTMF Commands, Audio Clips, etc.) to be quickly cancelled
- Improve handling of bit entry forms
- Improve formatting of table entries when text 'overflows' cells