Two fixes for ESP32 WiFi not connecting in production: 1. espidf_compiler.py: Change WiFi normalization from 'Velxio-GUEST' on channel 6 to 'Espressif' on channel 5. The lcgamboa QEMU binary downloaded from GitHub Releases only contains the original three APs: PICSimLabWifi (ch1), Espressif (ch5), MasseyWifi (ch10). Channel 6 had no matching AP, so the beacon timer's channel-match condition never fired → firmware scanned forever and never connected. 2. esp32_worker.py: Redirect fd 1 to /dev/null before loading QEMU so raw UART bytes from QEMU's -nographic mux don't corrupt the JSON event pipe. The real pipe fd is saved and sys.stdout is rebound so _emit() continues to work. This also prevents stdout pipe back-pressure from stalling qemu_main_loop() (and thus REALTIME timers). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| tests | ||
| Dockerfile | ||
| debug_qemu.py | ||
| mcp_server.py | ||
| mcp_sse_server.py | ||
| requirements.txt | ||
| test_compilation.py | ||
| test_esp32c3_emulation.py | ||
| test_simulation.py | ||