1.7 KiB
1.7 KiB
/ruview-flash — build + flash ESP32 firmware
Build and flash RuView ESP32 firmware. Variant + port: $ARGUMENTS (default 8mb, port COM8).
- Variant.
8mb→ ensure it builds fromfirmware/esp32-csi-node/sdkconfig.defaults.template(no mock — real WiFi CSI).4mb→cp firmware/esp32-csi-node/sdkconfig.defaults.4mb firmware/esp32-csi-node/sdkconfig.defaultsfirst (display disabled, dual OTA viapartitions_4mb.csv).heltec→sdkconfig.defaults.heltec_n16r2. - Build (Windows). ESP-IDF v5.4 does NOT work under Git Bash;
cmd.exe /Changs. Use the Espressif Python venv as a subprocess withMSYSTEM*env vars stripped — the exact command is inCLAUDE.local.md([python, idf_py, 'build'], cwd =firmware/esp32-csi-node). Outputs infirmware/esp32-csi-node/build/{bootloader/bootloader.bin, partition_table/partition-table.bin, esp32-csi-node.bin, ota_data_initial.bin}. - Flash. Same subprocess with
[python, idf_py, '-p', 'COM8', 'flash'], or:python -m esptool --chip esp32s3 --port COM8 --baud 460800 write_flash \ 0x0 firmware/esp32-csi-node/build/bootloader/bootloader.bin \ 0x8000 firmware/esp32-csi-node/build/partition_table/partition-table.bin \ 0xf000 firmware/esp32-csi-node/build/ota_data_initial.bin \ 0x20000 firmware/esp32-csi-node/build/esp32-csi-node.bin - Confirm. Serial monitor via pyserial on
COM8@ 115200 (NOTidf.py monitor— it hangs in a subprocess). Thencd v2 && cargo run -p wifi-densepose-sensing-server— frames should arrive. If not: re-run/ruview-provision, match the AP channel, drop any--filter-mac.
Never test in mock mode — the Kconfig fall-threshold bug only showed up with real CSI.