Add NXP LPC8xx (LPC845, LPC804) PlatformIO envs#14
Conversation
Add five PlatformIO envs for the NXP Cortex-M0+ parts FastLED's
src/platforms/arm/lpc/ tree now supports:
- lpc845brk — LPC845-BRK breakout, with -DFASTLED_LPC_PWM_DMA=1
opting into the SCT + 3-channel DMA-to-GPIO fast
path (clockless_arm_lpc_pwm_dma.h)
- lpc845 — bare LPC845M301 (bit-bang clockless by default)
- lpcxpresso845max — LPCXpresso845MAX dev board
- lpc804 — bare LPC804M101, with a commented-out
-DFASTLED_LPC_PLU hint (mandatory for WS2812 timing
at the part's 15 MHz core clock)
- lpcxpresso804 — LPCXpresso804 dev board, same caveat as lpc804
All five use the zackees/platform-nxplpc-arduino fork (upstream
platformio/platform-nxplpc has no LPC8xx boards and no Arduino
framework). The platform SHA is pinned to match FastLED master's own
platformio.ini at the time of writing.
Each ini has a header comment noting the part's RAM/Flash budget, the
chip-specific fast-path build flag, and the non-registry platform
source so future maintainers don't get tripped up.
Boards intentionally NOT added: LPC11U24/U35, LPC11 legacy, LPC15xx
(supported by FastLED but out of scope for the LPC8xx issue), and the
unsupported LPC810/811/812/822/824/844/83x/834x.
Closes #13
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 (5)
📝 WalkthroughWalkthroughFive PlatformIO INI files are added under ChangesNXP LPC8xx PlatformIO Environments
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes 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
Add five PlatformIO envs covering the parts FastLED's
src/platforms/arm/lpc/tree supports today:lpc845brk— LPC845-BRK breakout, opts into the SCT + 3-channel DMA-to-GPIO fast path via-DFASTLED_LPC_PWM_DMA=1.lpc845— bare LPC845M301 (bit-bang clockless by default).lpcxpresso845max— LPCXpresso845MAX dev board.lpc804— bare LPC804M101 with a commented-out-DFASTLED_LPC_PLUhint (mandatory for WS2812 timing at the part's 15 MHz core clock).lpcxpresso804— LPCXpresso804 dev board, same caveat aslpc804.Why
FastLED has shipped first-class support for the LPC845 and LPC804 (Cortex-M0+), but
PlatformIO-Starterhad no envs targeting them. The platform package isn't in the PlatformIO registry either — users need thezackees/platform-nxplpc-arduinofork plus per-board IDs — so without these envs the on-ramp is "go reverse-engineer FastLED'splatformio.ini."Each ini has a header comment noting the part's RAM/Flash budget, the chip-specific fast-path build flag, and the non-registry platform source so future maintainers don't get tripped up.
Boards intentionally NOT added
Test plan
pio run -c platforms/platformio.lpc845brk.inisucceedspio run -c platforms/platformio.lpc845.inisucceedspio run -c platforms/platformio.lpcxpresso845max.inisucceedspio run -c platforms/platformio.lpc804.inisucceedspio run -c platforms/platformio.lpcxpresso804.inisucceedsFASTLED_LPC_PWM_DMAfast path is selected (FastLED's#ifdefforclockless_arm_lpc_pwm_dma.h)Closes #13
🤖 Generated with Claude Code
Summary by CodeRabbit