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*.xml to be treated as a main configuration file
    • Allows any file with the filename pattern wayside-controller-config*.xml to be treated as a wayside controller configuration file
  • 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