fix: revert console to UART primary so device boots on USB-only power - #176
fix: revert console to UART primary so device boots on USB-only power#176joaosouz4dev wants to merge 1 commit into
Conversation
Commit 2b68d56 switched the primary console to USB Serial/JTAG. When the board is powered from a USB charger or power bank with no host PC attached, early ESP_LOGI calls in app_main block on the USB CDC TX queue and boot never progresses past the banner. The 50 ms TX timeout that motivated the switch is not enough to cover all standalone-power scenarios. Restore the prior configuration (matching commit 10c9a5e and the workflow documented in README.md line 215): CONFIG_ESP_CONSOLE_UART_DEFAULT=y CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y UART is non-blocking when nothing is listening, and the secondary USB-JTAG keeps flash + debug + log output working through the USB port.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe ChangesConsole I/O Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Commit 2b68d56 (
feat: include spiffs.bin in release and switch console to USB-JTAG) switched the primary console toCONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y. In practice this regresses standalone (host-less) operation on ESP32-S3:ESP_LOGIcalls inapp_mainblock on the USB CDC TX queue and boot never progresses past the banner.README.mdline 215 still documents the previous configuration (CONFIG_ESP_CONSOLE_UART_DEFAULT=y), so the sdkconfig and the docs are currently out of sync.This PR restores the configuration that was in place before 2b68d56 (matching commit 10c9a5e and the workflow described in the README):
UART as primary is non-blocking when nothing is connected. The secondary USB-Serial/JTAG keeps flash, debug, and log output working through the USB port, so the
idf.py -p <usb-jtag-port> flash monitorworkflow is unaffected. The unrelatedspiffs.bin-in-release change from 2b68d56 is left intact.Test plan
idf.py fullclean && idf.py buildidf.py -p <PORT> flash monitor— logs still appear via USBREADME.md"USB (JTAG) vs UART" sectionSummary by CodeRabbit