mirror of
https://github.com/ruvnet/RuView
synced 2026-07-20 17:03:24 +00:00
ee11a5a766
Applies @ruvnet's five review requests on PR #397 (RuView#397 comment 4289417527): 1. **Inline comment on `provision.py` `write_flash`** — ESP-IDF v5.4 bundles esptool 4.10.0 (underscore-only). #391's hyphen swap broke the documented venv flow; kept the underscore form and added a three-line comment warning future maintainers not to "re-fix" it. 2. **Correct `edge_processing.c` sample_rate** (blocking) — changed hard-coded `20.0f` → `10.0f` at line 718 so `estimate_bpm_zero_crossing()` matches the MGMT-only CSI rate. Without this, breathing and heart-rate reports were 2× the true value. Added a comment tying the constant to the callback rate gate. 3. **Removed disabled probe-injection infrastructure** — dropped the forward declaration, the `CSI_PROBE_INTERVAL_MS` define, six static variables (`s_probe_timer`, `s_probe_tx_count`, `s_probe_tx_fail`, `s_ap_bssid`, `s_ap_bssid_known`), and three functions (`csi_send_probe_request`, `probe_timer_cb`, `csi_collector_start_probe_timer`). None were reachable. `csi_inject_ndp_frame()` reverted to the original ADR-029 stub. Can be revived from this commit's parent if needed. 4. **Cleaned `sdkconfig.defaults`** — removed the SPIRAM prose and commented-out `# CONFIG_SPIRAM is not set` line. Kept only the live `CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y` with a concise rationale. 5. **Bumped firmware version 0.6.1 → 0.6.2** and added four `[Unreleased]` CHANGELOG entries covering the SPI cache crash fix, the `filter_mac` / `node_id` clobber defense, the sample-rate correction, and the `write_flash` command-form revert. Net: +39 / -128 across six files. Validation in this devcontainer: - Static sanity on modified C files: braces balance (csi_collector.c 59/59; edge_processing.c 96/96), zero dangling references to removed probe-injection symbols. - Rust workspace tests and Python proof not executed here — cargo not installed and pip blocked by PEP 668. Deferring hardware build + flash + miniterm verification to @ruvnet's COM7 per his offer in the review comment. Co-Authored-By: claude-flow <ruv@ruv.net>
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
# ESP32-S3 CSI Node — Default SDK Configuration
|
|
# This file is applied automatically by idf.py when no sdkconfig exists.
|
|
|
|
# Target: ESP32-S3
|
|
CONFIG_IDF_TARGET="esp32s3"
|
|
|
|
# Use custom partition table (8MB flash with OTA — ADR-045)
|
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_display.csv"
|
|
|
|
# Flash configuration: 8MB (Quad SPI)
|
|
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
|
|
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
|
|
|
|
# Compiler optimization: optimize for size to reduce binary
|
|
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
|
|
|
# Enable CSI (Channel State Information) in WiFi driver
|
|
CONFIG_ESP_WIFI_CSI_ENABLED=y
|
|
|
|
# NVS encryption disabled by default (requires eFuse provisioning).
|
|
# Enable only after burning HMAC key to eFuse block.
|
|
# CONFIG_NVS_ENCRYPTION is not set
|
|
|
|
# Disable unused features to reduce binary size
|
|
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
|
|
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
|
|
|
# LWIP: enable extended socket options for UDP multicast
|
|
CONFIG_LWIP_SO_RCVBUF=y
|
|
|
|
# FreeRTOS: increase task stack for CSI processing
|
|
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
|
|
|
# Extra WiFi IRAM placement (defense-in-depth for RuView#396 SPI cache race)
|
|
CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y
|