Skip to content

v4.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 13:15
· 42 commits to main since this release

Host tools for Windows, macOS (Apple silicon, signed and notarized) and Linux (x86_64). In this release the Rust apps and command-line tools replace the Qt ones. The Qt apps deprecated in v3.5 are no longer in the packages, and no part of the packages uses Qt. STM32CubeProgrammer is no longer needed for anything.

The apps

App Executable Replaces
Tag Programmer tagprogram qtprogram
Tag Monitor tagmonitor qtmonitor
Tag Calibrator tagcalibrate qtcalibrate
Tag View tagview sensorviz and btviz

They read and write the same files as the Qt apps: configurations, calibrations, logs and SensorViz preference files. Each app's page in the user guide (Help menu) describes it in full.

  • Tag View has no activity filter yet. It was in SensorViz's Qt layer and has not been ported. Everything else SensorViz drew, Tag View draws from the same code.
  • btviz is gone. Convert legacy BitTag .txt files with tag-txt-import and open them in Tag View.
  • On Linux the apps need WebKitGTK 4.1, which GNOME desktops already have. Elsewhere: sudo apt install libwebkit2gtk-4.1-0 on Ubuntu or Debian.

Command-line tools

tag-info, tag-start, tag-stop, tag-reset, tag-test, tag-cal and tag-dwnld are now Rust programs. They keep the names, options and output of the C++ tools and are installed in the same place, so scripts that call them need no changes. They also add:

  • tag-start --config FILE starts a tag with a saved configuration, and with --merge copies the file onto the tag's stored configuration instead of replacing it.
  • Timeouts for each step: --start-timeout, --stop-timeout, --settle-timeout, --test-timeout.
  • An unknown option or a bad value exits with status 2 before the tag is touched. Any other failure exits with status 1.

New: tag-flash and base-flash. tag-flash programs, erases and reads a tag through its base. base-flash updates a base's firmware over USB through the base's bootloader. Each firmware release now includes base images. These two tools are why STM32CubeProgrammer is no longer needed.

dataprocessing and tag-txt-import are unchanged.

Fixes

  • A rare failure on the first attach to an L432 tag (BitTag, PresTag, CompassTag, UIUCTag), status 0x81, is fixed. It happened when the tag woke from Shutdown at the moment the base tried to connect. The connection is now retried. The fix is in every app and tool.

For developers

The Qt apps and the C++ versions of the tools still build, with the CMake option BUILD_LEGACY_HOST=ON, which needs Qt. That option is the fallback if a Rust program fails in the field. The default build no longer needs Qt, but it now needs Rust (cargo). See decision 0042 in docs/decisions/.

Packages

  • Linux: install the udev rule in tag_tools/udev/ for USB access to the base. It also covers the base's bootloader, for base-flash.
  • The packages contain no GPL-licensed program. Third-party notices are in licenses/.

Full Changelog: v3.5...v4.0