Display App
3.0.0 (upcoming)
Section titled “3.0.0 (upcoming) ”Release date: TBD
MQTT Rewrite
Section titled “MQTT Rewrite”- BREAKING CHANGE: completely overhauled the system used for MQTT communications between the app and S.Z
- Using the new system requires an updated device to be assigned to a new S.Z model; updated devices will not work with the V1 model
- Implemented a new MQTT database for sending live data from app to S.Z
- Significant data savings while actually sending more data points
- Increased structural flexibility for future features
- Improved handling of co-processor fail-safe alerts
- Full support for negative totalizer values
- Implemented a new MQTT commands system for controlling the app from S.Z dashboards
- Topics are shorter and simpler, which saves data and makes future features easier to integrate
- Payloads are much more concise to save data
- Created a new set of S.Z custom widgets to go with the V2 database
- Handle data in the V2 database structure
- Simplified widget setup now that the app sends up unit configs
- Send commands using the new system
- New features for the pass length calculator widget
- Manual calculate button to avoid sending calculations constantly
- Shows a warning if the totalizer used for the calculation has an unreasonably high value
Configurable Flex I/O Actions
Section titled “Configurable Flex I/O Actions”- Created a new suite of features for configurable actions on flex digital I/O pins
- Digital inputs can be used for e-stop or unit stop
- Designed to work with radio kill switches added to some pumps
- Advanced trigger system based on current engine state
- E-stop is a unit stop with a nonconfigurable 3-second engine shutdown delay to ensure process completes as quickly as possible
- Digital outputs can be used as a pair for raising and lowering the pump
- Digital inputs can be used for e-stop or unit stop
- New buttons in the Manual Valves page for turning the flex digital outputs on and off
- If outputs are configured for raising/lowering the pump, then one button will raise and the other will lower
New Sensors Features
Section titled “New Sensors Features”- Implemented system for individually enabling and disabling analog sensors
- Sensors can be disabled in their settings pages (Unit Config 2 > Sensor Settings > sensor-name)
- Disabled sensors will not show values in the app UI
- Settings are sent to S.Z to allow widgets to match the current sensor configuration
- Integrates the flow meter and inlet pressure sensor toggles into one system
- Added a diagnostics page for digital inputs
- Shows the raw values of each digital input in real-time
- Useful for troubleshooting potential issues with physical wiring
- Updates to parameters for sensor configurations (mA range, value range)
Pump Operation Improvements
Section titled “Pump Operation Improvements”- Improved UI in the app and S.Z widgets for clutch state
- Added logic to prevent bypass outputs for being used for raising/lowering the pump if the bypass valve is enabled
- Attempting to raise and lower the pump when neither the flex outputs or bypass outputs are available will show a warning onscreen
- Reworked app backend for multi-stage pump processes
- Main focus: more robust handling of unit stop sequence
- Uses a priority-based system, with priorities assigned in increasing order:
- RPM ramps
- Engine shutdowns, clutch engage/disengage, hydrostat processes
- Unit stops
- All error-caused processes take priority over their operator-initiated counterparts
- Added RPM tolerance setting to support older engines without ECUs
- Determines the threshold for marking RPM-based processes (engine start, idle, preset) as complete
- Can be set in Unit Config 1 > Speed Control Settings
- Configurable version of patch from
2.5.2
Yocto OS Process Improvements
Section titled “Yocto OS Process Improvements”- Added required serial number validation step before updating to Yocto
- It’s very important for the update scripts to use the correct serial number
- App reads the current saved serial number from config files, then asks users to either verify what it founds or input a new one
- Improved handling for Yocto version numbers in the software updates screen
- Shows
yocto-os vX.X.Xinstead ofdisplay-app v99.99.99
- Shows
App Packaging Structure
Section titled “App Packaging Structure”- BREAKING CHANGE: packaged app updates are now completely self-contained
- All required files for the app to run are installed by the package, rather than requiring them to be installed manually before shipment
- Applies to both Buildroot and Yocto updates
- Downgrading will remove those file dependencies and require manual reinstallation
Other Improvements
Section titled “Other Improvements”- Reduced frequency of internet ping checks to save data
- Fixed bug where connected CAN controllers were not being scanned correctly on boot
- Extended UI navigation via knob to the software updates page
- Other performance improvements and bug fixes
2.5.2
Section titled “2.5.2 ”Release date: 10/07/2025
- Increased RPM tolerance to 100 to supported older engines without ECUs
Release date: 07/15/2025
- Fix bugs with co-processor software update process
- Implement handling for the new Rocket Flex remote
- The app automatically determines which remote is currently in use; no manual configuration is needed to keep using the Pocket remote
- Added programming for new bypass valve
- Pumps with new bypasses will now need to use the flex DOUTs for raising and lowering the pump
- This flex output usage can be enabled on any device with an M3600 controller by toggling the “Flex Output Usage” setting
- New push buttons were added to the manual valve page for turning the flex DOUTs on and off
- Handle complex app version numbers
- Prevent log uploads unless manually requested
- This saves on data usage since data files will not be automatically uploaded anymore
- Other bug fixes and improvements
Release date: 05/19/2025
- Improve software update processes
- Require acknowledgement of update results before finishing up
- Allow more than one module of unknown type to be registered and flashed
- Fix bug where battery voltage values sent to S.Z did not have enough space
- Moved to
batt_volt_large_value - Field now has range
0-30V with one decimal place
- Moved to
- Improve handling of ignition key so that the popup stays onscreen until power is killed to avoid operator confusion
- Revise error messages for controller disconnections to account for pump drive type
- Logging improvements
- Other bug fixes and improvements
Release date: 04/01/2025
- Add logic to the Buildroot app so that USB auto-mount will be set up from the app
- The app runs the commands found here
- This fixes the bug where USBs weren’t mounting correctly for users
- Add fail-safe scripts to manually mount USBs in case the auto-mount isn’t working
- It is extremely unlikely that auto-mount would ever fail, but these scripts create an extra layer of safety
- Update default settings values to be more consistent with new pump configurations
- Add a new “Day” name option for totalizers
- The totalizer and pass length widgets have been updated accordingly
- The new option will only show up for apps running at least
2.4.2
- Improve UX of the Update page so that the Refresh button always rescans for modules
- Fix two small bugs in the app update process
Release date: 03/04/2025
- Automatically refresh S.Z token without extra steps by the user
- If the token expires while the device is turned off, it will be refreshed on boot
- If the token expires during a time when the device does not have an internet connection, it will be refreshed as soon as the connection is regained
Release date: 02/21/2025
- Stable LTS release
- Process Yocto OS versions (feature implemented in Yocto
0.0.6)- Version number displayed in Diagnostics > About
- Sent up to S.Z under the new
yocto-osmodule
- Make use of the new fully asynchronous module flashing library
- Includes improvements to debugging
Release date: 01/24/2025
- Resolved some potential fixes for crash stacktraces received during testing a while back
- Added checks to ensure that data sent in CAN and MQTT messages is of the proper type and fits within the required bounds
- Improved handling of command-line processes run from the app
- Standardized debugging so we know exactly what happens with a process
- Expanded error handling so the app continues gracefully if something goes wrong
- Further strengthened memory management for these processes
- Fixed some slight memory management issues discovered during deep debugging
Release date: 01/10/2025
- Fixed a bug with valve shutdown timing
- The secondary shutdown process is supposed to wait for 3 seconds after the inlet valve begins closing and then start closing the outlet and bypass valves
- It wasn’t working because the timer that triggers the secondary shutdown wasn’t being monitored properly
- Added the fix in the S.Z connectivity code for a settings migration bug
- The code was checking for the existence of the v1 file instead of the v2 file to know whether to run a migration
- Now, if the v2 files are present, the v1 file is automatically deleted
- Migrations are only run if only the v1 file exists
- Added better error handling in the Yocto update scripts
- Make sure the bootable USB is mounted before trying to run things from it
- Better verification of file locations
- Memory management improvements
- Implemented usage of smart pointers throughout the app backend to ensure dereferenced objects are cleared from memory
- Internal improvements to help with testing
- These features are disabled in production builds
Release date: 12/30/24
- Fixed a bug with settings migrations
- Performance optimizations
Release date: 12/20/2024
- Improvements to S.Z connectivity logic
- Memory management improvements
- Performance improvements
Release date: 11/15/2024
- Memory management improvements
- Fix false prox sensor errors on boot
Release date: 11/11/2024
- Allow console logging to be remotely enabled and disabled
- Manual QML garbage collection
- Buffer console logging to reduce file writes
- Disable multithreaded UI rendering
- Increase GPIO input polling interval
Release date: 10/24/2024
- Internal improvements
- Performance/robustness improvements
- Fix bug with sending engine statistics to S.Z
- Add a 3-second engine stop delay for unit stops on clutched units
Release date: 10/15/2024
- Disengage clutch when controller disconnects
- Error message if the co-processor doesn’t flash
- OS version visibility
Release date: 10/9/2024
- Performance improvements
- Force power cycle after app update
- Find packages on unpartitioned USB
- Debugging improvements
- Fix engine idle target vs. actual RPM mismatch
Release date: 09/27/2024
- Detect controller disconnection from CAN
- Debug optimization
- Add setting to disable fuel level warning
- Disable hyd. oil level status readout if the feature is disabled
Co-processor 1.0.1
Section titled “Co-processor 1.0.1”Release date: 09/27/2024
- Fix issue where boot status was being read twice
Release date: 09/18/2024
- Implement a co-processor fail safe that reboots the display if the OS freezes
Co-processor 1.0.0
Section titled “Co-processor 1.0.0”Release date: 09/18/2024
- Implement display reset fail-safe
Release date: 09/13/2024
- First official release of the rewritten app!
- App was rewritten from the ground up to eliminate many of the issues experienced by operators in the past
- Designed to run on both Buildroot and Yocto
Controller-1 1.1.0
Section titled “Controller-1 1.1.0”Release date: 09/13/2024
- Broadcast boot message
- Increase length of CAN timeout
Controller-2 1.1.0
Section titled “Controller-2 1.1.0”Release date: 09/13/2024
- Extend CAN timeout to disengage clutch
- Prevent clutch disengage if engine is at speed
Controller-3 1.3.0
Section titled “Controller-3 1.3.0”Release date: 09/13/2024
- Extend CAN timeout to disengage clutch
- Prevent clutch disengage if engine is at speed