docs(adr): renumber ADR-094 to ADR-095 to avoid collision with body tracking PR
PR #487 (body tracking platform) was filed first and claims ADR-094. Rename docs/adr/ADR-094-pull-based-ota.md → ADR-095-pull-based-ota.md and update all references in CHANGELOG.md, Cargo.toml, and main.rs comments.
This commit is contained in:
parent
7a8b72de76
commit
41d3378817
|
|
@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **Pull-based OTA firmware updates** (ADR-094) —
|
||||
- **Pull-based OTA firmware updates** (ADR-095) —
|
||||
ESP32 sensing nodes now poll `GET /api/v1/firmware/latest` on a configurable
|
||||
interval (default 5 min) and self-upgrade when the server advertises a newer
|
||||
version. SHA-256 integrity is verified before writing the OTA partition; the
|
||||
|
|
@ -18,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
tests). New server endpoints: `GET /api/v1/firmware/latest`,
|
||||
`GET /api/v1/firmware/download`, `POST /api/v1/firmware/upload`.
|
||||
Operators stage firmware via upload; nodes fetch updates without any
|
||||
push-side connectivity to individual node IPs. See `docs/adr/ADR-094-pull-based-ota.md`.
|
||||
push-side connectivity to individual node IPs. See `docs/adr/ADR-095-pull-based-ota.md`.
|
||||
|
||||
- **`nvsim` crate — deterministic NV-diamond magnetometer pipeline simulator** (ADR-089) —
|
||||
New standalone leaf crate at `v2/crates/nvsim` modeling a forward-only
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# ADR-094: Pull-based OTA Firmware Update
|
||||
# ADR-095: Pull-based OTA Firmware Update
|
||||
|
||||
## Status
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ wifi-densepose-wifiscan = { version = "0.3.0", path = "../wifi-densepose-wifisca
|
|||
# build without vcpkg/openblas (issue #366, #415).
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal", default-features = false }
|
||||
|
||||
# SHA-256 for firmware registry integrity verification (pull-based OTA, ADR-094)
|
||||
# SHA-256 for firmware registry integrity verification (pull-based OTA, ADR-095)
|
||||
sha2 = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ struct Args {
|
|||
#[arg(long)]
|
||||
calibrate: bool,
|
||||
|
||||
/// Directory holding ESP32 firmware binaries for pull-based OTA (ADR-094).
|
||||
/// Directory holding ESP32 firmware binaries for pull-based OTA (ADR-095).
|
||||
/// On startup, the newest `.bin` file in this directory is registered
|
||||
/// as the current firmware. Operators upload new versions via
|
||||
/// `POST /api/v1/firmware/upload`.
|
||||
|
|
@ -651,7 +651,7 @@ struct AppStateInner {
|
|||
multistatic_fuser: MultistaticFuser,
|
||||
/// SVD-based room field model for eigenvalue person counting (None until calibration).
|
||||
field_model: Option<FieldModel>,
|
||||
// ── Firmware registry (pull-based OTA, ADR-094) ──────────────────────
|
||||
// ── Firmware registry (pull-based OTA, ADR-095) ──────────────────────
|
||||
/// In-memory registry of the currently-blessed ESP32 firmware binary.
|
||||
/// Nodes poll `GET /api/v1/firmware/latest` to learn the current version
|
||||
/// and download it via `GET /api/v1/firmware/download`. Operators upload
|
||||
|
|
@ -3462,7 +3462,7 @@ async fn calibration_status(State(state): State<SharedState>) -> Json<serde_json
|
|||
}
|
||||
}
|
||||
|
||||
// ── Firmware Registry Endpoints (pull-based OTA, ADR-094) ────────────────────
|
||||
// ── Firmware Registry Endpoints (pull-based OTA, ADR-095) ────────────────────
|
||||
|
||||
/// Scan a firmware directory and return the newest .bin file by mtime.
|
||||
/// Returns `Ok(None)` if the directory exists but contains no .bin files.
|
||||
|
|
@ -5046,7 +5046,7 @@ async fn main() {
|
|||
} else {
|
||||
None
|
||||
},
|
||||
// Firmware registry (pull-based OTA, ADR-094) — seeded from disk below.
|
||||
// Firmware registry (pull-based OTA, ADR-095) — seeded from disk below.
|
||||
firmware_registry: Arc::new(tokio::sync::RwLock::new(FirmwareRegistry::new())),
|
||||
firmware_dir: args.firmware_dir.clone(),
|
||||
}));
|
||||
|
|
@ -5173,7 +5173,7 @@ async fn main() {
|
|||
.route("/api/v1/calibration/start", post(calibration_start))
|
||||
.route("/api/v1/calibration/stop", post(calibration_stop))
|
||||
.route("/api/v1/calibration/status", get(calibration_status))
|
||||
// Firmware registry / pull-based OTA (ADR-094)
|
||||
// Firmware registry / pull-based OTA (ADR-095)
|
||||
.route("/api/v1/firmware/latest", get(firmware_latest_endpoint))
|
||||
.route("/api/v1/firmware/download", get(firmware_download_endpoint))
|
||||
.route("/api/v1/firmware/upload", post(firmware_upload_endpoint))
|
||||
|
|
|
|||
Loading…
Reference in New Issue