From 45ac020a88304b23a30a509e651d34276941dca0 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Wed, 26 Aug 2026 01:12:41 +0200 Subject: [PATCH] fix(espidf): no interactive REPL on a cloud-built P4 sketch esp_hosted ships a CLI -- an esp_console REPL on the serial console -- enabled by default, and every ESP32-P4 arduino build was carrying it. On a cloud-compiled sketch it is worse than useless: its "host>" prompt interleaves with the user's own serial output, and its console task polls a UART that in the emulator never blocks, pinning one HP core at priority 23 and defeating the engine's idle fast-forward. Found while bringing up the P4's esp_hosted WiFi companion, where it made a mostly-idle guest emulate two orders of magnitude slower than it should. Appended in the same esp32p4 block that pins the rev0 mask ROM, for the same reason: it is a property of running on the emulator's terms, not a user choice. --- backend/app/services/espidf_compiler.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/app/services/espidf_compiler.py b/backend/app/services/espidf_compiler.py index 6e15f6e9..472501db 100644 --- a/backend/app/services/espidf_compiler.py +++ b/backend/app/services/espidf_compiler.py @@ -3142,6 +3142,16 @@ class ESPIDFCompiler: '\n# Velxio: esp32p4js runs the rev0 mask ROM\n' 'CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y\n' 'CONFIG_ESP32P4_REV_MIN_0=y\n' + # esp_hosted ships an interactive CLI (a REPL on the serial + # console) enabled by default. On a cloud-compiled sketch it + # is worse than useless: its "host>" prompt interleaves with + # the user's own serial output, and its console task polls a + # UART that in the emulator never blocks, pinning one HP core + # at priority 23 and defeating the engine's idle fast-forward + # (project/espressif-devkits-2026-08/STATUS.md, round + # 2026-08-25/26). + '# Velxio: no interactive REPL on a cloud-built sketch\n' + 'CONFIG_ESP_HOSTED_CLI_ENABLED=n\n' ) return rendered