Add ESP32 PARLIO-capable boards (C5/C6/H2/P4) with required ISR-IRAM flags#10
Conversation
Add the two required PARLIO TX ISR build flags (CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM and CONFIG_PARLIO_TX_ISR_CACHE_SAFE) to every ESP32 chip whose SoC capabilities expose PARLIO. Without these flags the FastLED PARLIO driver's TX ISR sits in flash and takes cache-miss stalls during execution, silently corrupting LED timing. - Update esp32c5, esp32c6, esp32h2 envs with the PARLIO flags and bump their pioarduino platform-package to 55.03.35 for consistency. - Add a new esp32p4 env with the PARLIO flags, huge_app partitions and ARDUINO_USB_MODE=1. - Add a comment block next to the flags pointing future maintainers at FastLED src/platforms/esp/32/drivers/parlio/ as the canonical PARLIO-capable chipset list, so the env list stays in sync if new PARLIO-capable chips appear. S3 / C3 / C2 / S2 / original-ESP32 envs are intentionally left without the PARLIO flags; those chips don't have the peripheral and the flags would falsely imply they do. Closes #9 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThree existing PlatformIO environments (esp32c5, esp32c6, esp32h2) are updated to ChangesPARLIO ISR flags and platform updates across PARLIO-capable ESP32 envs
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Poem
✨ 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
CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM=1andCONFIG_PARLIO_TX_ISR_CACHE_SAFE=1) to every ESP32 chip whose SoC capabilities expose PARLIO: C5, C6, H2, P4.platforms/platformio.esp32p4.inienv (the P4 was completely missing).55.03.35for consistency with the newly added P4 env.src/platforms/esp/32/drivers/parlio/as the canonical PARLIO-capable chipset list.Why
Without these flags the FastLED PARLIO driver's TX ISR sits in flash and takes cache-miss stalls during execution, silently corrupting LED protocol timing. The FastLED driver only signals their absence with a compile-time
#warning, which is easy to miss.Boards explicitly NOT modified
S3 / C3 / C2 / S2 / original-ESP32 envs are intentionally left without the PARLIO flags — those chips don't have the PARLIO peripheral (
SOC_PARLIO_SUPPORTED=0) and adding the flags would falsely imply they do.Test plan
pio run -c platforms/platformio.esp32c5.inisucceedspio run -c platforms/platformio.esp32c6.inisucceedspio run -c platforms/platformio.esp32h2.inisucceedspio run -c platforms/platformio.esp32p4.inisucceeds#warningno longer fires on these envsCloses #9
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Chores