Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #174 +/- ##
=======================================
Coverage 91.04% 91.04%
=======================================
Files 27 27
Lines 5124 5124
=======================================
Hits 4665 4665
Misses 459 459 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
geonnave
force-pushed
the
lh2-multi-lines
branch
3 times, most recently
from
October 4, 2026 02:23
5287c76 to
20bb3a2
Compare
geonnave
force-pushed
the
lh2-multi-lines
branch
from
October 14, 2026 18:22
20bb3a2 to
d50810c
Compare
This was referenced Oct 14, 2026
…ation Breaking: the config page magic moves to SWRP, so every robot reads as uncalibrated until it is cabled with a page baked by a matching host, and a push only commits from a host sending the mask encoding. Flash the bootloader and the net core together. AI-assisted: Claude Opus 5.5
…st its centre AI-assisted: Claude Opus 5.5
AI-assisted: Claude Opus 5.5
Points at the unmerged DotBot-libs branch adding drv/lh2_geometry; move it to the merge commit once that lands. Both bootloaders now link 00drv_lh2_geometry, which the camera point moved into. AI-assisted: Claude Opus 5.5
…r lines Adds swarmit_localization_get_lines, which moves the init_rng, get_position, get_min_tx_interval_us and ipc_isr veneers: every sandbox app must be rebuilt against this cmse_implib.a and flashed after this bootloader. The secure stack grows to 2 KiB, since the line solve runs on it under swarmit_keep_alive. AI-assisted: Claude Opus 5.5
geonnave
force-pushed
the
lh2-multi-lines
branch
from
October 16, 2026 14:32
d50810c to
b8c83a1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #173: this branch carries #173's four commits under its own one. Review the last one here; the diff shrinks to them once #173 merges.
The secure side holds the homographies, so it is the side that can turn sweeps into geometry the app can fuse. For every calibrated station whose solve lands inside its own rectangle,
localization_get_position()now also produces that pair's two floor lines withdb_lh2_sweep_lines()from DotBot-libs. They go into a ring of 8 (four stations, two sweeps each), and the new veneerswarmit_localization_get_lines()drains it, oldest first. The veneer checks the app's buffer withcmse_check_address_range(non-secure, read-write) and the struct's alignment. The app then gates each line in its pose estimator (DotBot-firmware PR, below). The nearest-station fix of #173 stays as the lower rung: it seeds the estimator, feeds telemetry and the advertisement, and is what the robot uses whenever the estimator is not tracking.Other changes:
swarmit_keep_alive(), with securemain()'s frame still live, and a review estimated the peak just past 1 KiB.Veneer table.
swarmit_localization_get_lineslands mid-table and movesswarmit_init_rng,swarmit_localization_get_position,swarmit_get_min_tx_interval_usandswarmit_ipc_isr. The regeneratedsample/cmse_implib.ais the one DotBot-firmware takes.Flash order. Cable-flash this bootloader first, with the net core of #173 if not already done. Then, in the same visit, OTA every sandbox app rebuilt against this
cmse_implib.a(the DotBot-firmware PR). An app built against the old library on this bootloader, or the reverse, calls the wrong veneers: never update apps first.Validation.
Design: multi-station LH2 calibration plan, https://github.com/DotBots/dotbot-workspace/blob/main/plans/lh2-multi-station/plan.html (rendered copy not published).
localization.c/.h,cmse_implib.c/.h,sample/cmse_implib.a(binary, 4 veneers moved), 3 project filesUpdate: rebased onto #173 on
main, and first bench runThis branch is rebased onto #173, which is now on
mainwith #176's fix for a secure HardFault (no non-finiteprintf, no secureUNALIGN_TRP). This PR's own commit is unchanged, and its table above still holds.Bench, three DotBot v3 robots, two stations, this PR with #173 and #175 (bootloader and net core cable-flashed, the dotbot app from DotBot-firmware#435 over the air):
_clamp_mminlocalization.c; the bootloader and net core build clean at this tip (SES Debug, dotbot-v3).