Repository navigation
fw-v0.7
Tag firmware for the distributed targets. Each image ships with its build manifest, which records the commit, the ChibiOS commit and branch, the toolchain and nanopb versions, and the SHA-256 of the image itself. CI does not bench-test power behaviour; qualification is a separate step before flight, and the table below records it.
CompassTagAT25 is qualified against this release. The other four targets are not yet qualified on fw-v0.7. The CompassTagAT25 figures come from the published image, not a local rebuild, and its session logs are attached as an asset.
Qualification
Supply voltage is given with every current because the targets do not share one: the L432 tags run unregulated from a 2.5 V cell and IMUTag runs from 3.7 V.
| Target | Qualified | Supply | Idle | Running | Finished |
|---|---|---|---|---|---|
| CompassTagAT25 | 2026-10-15 | 2.496 V | 0.23 uA | 1.97 uA @ 30 s | 0.23 uA |
| IMUTagNandBmp581 | not yet | ||||
| UIUCTag | not yet | ||||
| BitTag | not yet | ||||
| PresTag | not yet |
CompassTagAT25
- Board and image. Board
203633324B4250060022005E. The tag reports githash169cda2c(fw-v0.7).CompassTagAT25.elfsha2561e8a891f35967f1dc6d97b235b11f8533e18478117d582a4887d61a4fc628e06, measured with--skip-build. - Self-test.
tag-testreturnedALL_PASSED. - Idle. Four trials read 0.2286, 0.2282, 0.2282 and 0.2285 uA.
- Life cycle. Idle 0.23 uA, running 1.97 uA over a 900 s window, finished 0.23 uA, and idle after a full cycle 0.23 uA. The download held 30 activity rows from the run.
- No attach storms. The harness now skips them on L432 targets, because these tags sleep in standby between events and an attach just resets them.
Running current is 1% above fw-v0.6 on the same board and supply: 1.95 uA before, 1.97 uA now. That is consistent with the one change on the logging path, which lengthens the magnetometer power-up wait from 1 ms to 2 ms on each 30 s sample. Idle moved from 0.21 to 0.23 uA.
What is in this release
- CompassTag calibration is pinned to the top L432 flash page.
.calibrationused to follow the code to the next page boundary, so whenever the image crossed one, a calibrated board read an unwritten page as its constants. It now sits at0x0803f800whatever the image size. Other L432 targets link to byte-identical images..persistentstill floats.flash_release.py --keep-calibrationerases everything below the calibration page and programs, in one invocation. - The accelerometer zero-g offset is stored on the tag. CompassTag and IMUTag calibration slots now hold 12 magnetometer floats and 3 accelerometer floats (layout version 2). The host tools apply the offset wherever logs are read. This changes the calibration record format, so upgrading a calibrated tag from
fw-v0.6needs one mass erase (flash_release.py --erase) and recalibration. After that, later upgrades can use--keep-calibration. - The CompassTag magnetometer gets 2 ms to power up, up from 1 ms. A tag on a run-down cell logged corrupted magnetometer and accelerometer reads. The longer wait adds margin; it has not been proven to fix the fault.
- The IMUTagNandBmp581 magnetometer is mapped into the host's axis frame, using the per-board mounting given in
custom.h.
Known limitations
tag_release_check.pydoes not pass--measure-pythonto the life-cycle check. SetJOULESCOPE_PYTHONto an interpreter that can importpyjoulescope_driver, or the life-cycle step aborts without measuring anything.