wifi-densepose/firmware/esp32-csi-node/main
Dragan Spiridonov d33e4a531c merge: bring upstream/main into PR #397
Upstream moved forward with v0.6.2-esp32 (ADR-081 adaptive CSI mesh kernel,
Timer Svc stack fix) and the Docker entrypoint merge of PR #402.

Conflicts resolved:

- `firmware/esp32-csi-node/sdkconfig.defaults`: both sides appended a new
  config block. Kept both — `CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y` (ours,
  defense-in-depth for RuView#396 SPI cache race) AND
  `CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=8192` (upstream's ADR-081 Timer
  Svc stack bump). They target different crash modes.

- Applied the same `CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y` line to
  `sdkconfig.defaults.4mb` and `sdkconfig.defaults.template` for
  consistency — the SPI cache race is not flash-size specific, and the
  4MB / template variants run the same CSI collector code with the same
  MGMT-only callback path.

- `firmware/esp32-csi-node/version.txt`: both sides bumped to 0.6.2.
  Upstream already released v0.6.2-esp32, so our in-flight work bumps
  to 0.6.3.

- `CHANGELOG.md`: auto-merge placed our [Unreleased] #397 entries
  (and the older #391 / #390 entries) inside the newly-cut
  [v0.6.2-esp32] section. Moved them back to [Unreleased] — they
  describe work that has not been released yet.

Auto-merged cleanly: `csi_collector.c`, `csi_collector.h`, `main.c`,
`docker/*`, `README.md`, `docs/user-guide.md`. Verified the PR's
defensive-copy code (`s_node_id_early_set`, `s_filter_mac`,
`CSI_MIN_PROCESS_INTERVAL_US`, `s_early_drop`, the 50 Hz rate gate,
MGMT-only filter, and `csi_collector_set_node_id()` API) is still
present, and that the dropped probe-injection symbols stay absent
(grep confirms 0 / 27 hits).

Validation in this devcontainer:

- ADR-081 host tests built and ran from `firmware/esp32-csi-node/tests/host/`:
  `test_adaptive_controller` 18/18 pass, `test_rv_feature_state` 15/15
  pass, `test_rv_mesh` 27/27 pass — 60/60 total. These exercise the
  merged-in pure-C logic that this PR has no changes against, so
  they're a regression check that the merge didn't corrupt the
  upstream modules.
- `edge_processing.c` still has `const float sample_rate = 10.0f;`.
- Brace balance and dangling-ref checks on `csi_collector.c` pass.

ESP-IDF firmware build, flash, and miniterm soak still deferred to
@ruvnet's COM7 per the original review comment.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-21 15:30:15 +00:00
..
CMakeLists.txt ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
Kconfig.projbuild ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
adaptive_controller.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
adaptive_controller.h ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
adaptive_controller_decide.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
csi_collector.c merge: bring upstream/main into PR #397 2026-04-21 15:30:15 +00:00
csi_collector.h merge: bring upstream/main into PR #397 2026-04-21 15:30:15 +00:00
display_hal.c docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
display_hal.h docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
display_task.c fix: remove unsafe exec() in display_task.c 2026-03-26 04:08:00 +00:00
display_task.h docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
display_ui.c fix(firmware): defensive node_id capture prevents runtime clobber (#390) 2026-04-15 13:47:34 -04:00
display_ui.h docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
edge_processing.c fix(firmware): address PR #397 review feedback 2026-04-21 15:02:14 +00:00
edge_processing.h feat: ADR-069 ESP32 CSI → Cognitum Seed RVF pipeline (v0.5.4-esp32) 2026-04-02 19:32:18 -04:00
idf_component.yml docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
lv_conf.h docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
main.c merge: bring upstream/main into PR #397 2026-04-21 15:30:15 +00:00
mmwave_sensor.c feat: ADR-063/064 mmWave sensor fusion + multimodal ambient intelligence (#269) 2026-03-15 16:10:10 -04:00
mmwave_sensor.h feat: ADR-063/064 mmWave sensor fusion + multimodal ambient intelligence (#269) 2026-03-15 16:10:10 -04:00
mock_csi.c feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
mock_csi.h feat: QEMU ESP32-S3 testing platform + swarm configurator (ADR-061/062) (#260) 2026-03-14 13:39:51 -04:00
nvs_config.c feat: happiness scoring pipeline + ESP32 swarm with Cognitum Seed (#285) 2026-03-20 18:46:34 -04:00
nvs_config.h feat: happiness scoring pipeline + ESP32 swarm with Cognitum Seed (#285) 2026-03-20 18:46:34 -04:00
ota_update.c fix: security hardening — replace fake HMAC, add path traversal protection, OTA auth (ADR-050) 2026-03-06 13:11:04 -05:00
ota_update.h feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
power_mgmt.c feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
power_mgmt.h feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
rv_feature_state.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_feature_state.h ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_mesh.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_mesh.h ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_radio_ops.h ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_radio_ops_esp32.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rv_radio_ops_mock.c ADR-081: Implement 5-layer adaptive CSI mesh firmware kernel (#404) 2026-04-20 10:38:23 -04:00
rvf_parser.c feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
rvf_parser.h feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
stream_sender.c fix: rate-limit CSI sends and add ENOMEM backoff to prevent crash (#132) 2026-03-03 16:00:40 -05:00
stream_sender.h fix(docker): Update Dockerfile paths from src/ to v1/src/ 2026-02-28 13:38:21 -05:00
swarm_bridge.c feat: happiness scoring pipeline + ESP32 swarm with Cognitum Seed (#285) 2026-03-20 18:46:34 -04:00
swarm_bridge.h feat: happiness scoring pipeline + ESP32 swarm with Cognitum Seed (#285) 2026-03-20 18:46:34 -04:00
wasm_runtime.c fix(firmware): defensive node_id capture prevents runtime clobber (#390) 2026-04-15 13:47:34 -04:00
wasm_runtime.h feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00
wasm_upload.c fix: security hardening — replace fake HMAC, add path traversal protection, OTA auth (ADR-050) 2026-03-06 13:11:04 -05:00
wasm_upload.h feat: complete vendor repos, add edge intelligence and WASM modules 2026-03-02 23:53:25 -05:00