Conversation
#468) The double curly braces {{...}} around file paths in program_esp commands produce literal brace characters in Tcl, which conflict with the additional quoting in esp_common.cfg (line 453). This causes: Error: couldn't open {.pio/build/.../firmware.bin} Single braces {...} are the correct Tcl quoting mechanism and properly handle paths with spaces without conflicting with esp_common.cfg. Fixes #466 Amp-Thread-ID: https://ampcode.com/threads/T-019d86a7-7c20-7398-9ca1-d1261af6d9d3 Co-authored-by: Amp <amp@ampcode.com>
Detect if platformio-core's FileDownloader already has a RETRY class attribute (introduced in the upstream retry enhancement). When present, the native implementation handles retries with urllib3.Retry for initial connections and _stream_with_retry for mid-download failures, making the monkey-patch redundant. This avoids double-retry scenarios (up to 5x5 = 25 attempts) and exception type mismatches (native code raises IOError, not PackageException) when running against an enhanced platformio-core. Amp-Thread-ID: https://ampcode.com/threads/T-019d8365-f1fd-713f-80df-fede9167d179 Co-authored-by: Amp <amp@ampcode.com>
Removed submodule checkout and updated dependency installation command.
The pioarduino IDE extension now exports PLATFORMIO_IDE_INTELLISENSE_ENGINE as an environment variable. When the value is 'clangd', the platform automatically installs tool-clangd-esp during configure_default_packages(). Espressif's clangd has native Xtensa and ESP RISC-V ISA extension support (xespv, xesploop, xespdsp, etc.) that the upstream clangd lacks, which eliminates unknown-flag errors and improves IntelliSense for ESP32 targets. Amp-Thread-ID: https://ampcode.com/threads/T-019d8c25-963a-728c-8166-76efd9747d60 Co-authored-by: Amp <amp@ampcode.com> * Strip and lowercase IntelliSense engine variable --------- Co-authored-by: Amp <amp@ampcode.com>
* fix: add missing -DBOARD_HAS_PSRAM to boards/atd147_s3.json * fix: add missing -DBOARD_HAS_PSRAM to boards/dfrobot_romeo_esp32s3.json * fix: add missing -DBOARD_HAS_PSRAM to boards/lilygo-t-display-s3.json * fix: add missing -DBOARD_HAS_PSRAM to boards/m5stack-atoms3u.json * fix: add missing -DBOARD_HAS_PSRAM to boards/nebulas3.json --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Refactor PSRAM detection logic and configure PSRAM frequency only if supported. * Add options for esp32 without PSRAM * Include linker script for ESP32 without PSRAM
Updated README to indicate support has ended for standalone mode and provided links to the VSC extension.
Removed Python version requirements from README.
📝 WalkthroughWalkthroughThis PR migrates the pioarduino platform to use ChangesDependency bootstrap and framework infrastructure
Filesystem and build configuration
Tooling and integration
Documentation and monitoring
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning Tools execution failed with the following error: Failed to run tools: Ping-pong health check failed 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/PIO_LOCK_INTEGRATION.md`:
- Line 221: Update the example lockfile platform URL value so it matches the
released version: change the string value under the "platform" key from
".../55.03.38/platform-espressif32.zip" to
".../55.03.39/platform-espressif32.zip" in the docs example (the JSON line
containing the "platform" key).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3dc4db28-25b4-4dc3-8bd0-4bd24bd90fad
📒 Files selected for processing (25)
.github/workflows/examples.ymlREADME.mdboards/atd147_s3.jsonboards/dfrobot_romeo_esp32s3.jsonboards/lilygo-t-display-s3.jsonboards/m5stack-atoms3u.jsonboards/nebulas3.jsonbuilder/frameworks/arduino.pybuilder/frameworks/espidf.pybuilder/main.pybuilder/penv_setup.pydocs/ARDUINO_RELINKER_INTEGRATION.mddocs/FATFS_INTEGRATION.mddocs/FILESYSTEM_PARTITION_SELECTION.mddocs/PIO_LOCK_INTEGRATION.mddocs/RELINKER_INTEGRATION.mddocs/WEAR_LEVELING.mdexamples/arduino-fatfs/FATFS_INTEGRATION.mdexamples/arduino-fatfs/WEAR_LEVELING.mdmisc/svd/esp32c5.svdmisc/svd/esp32c61.svdmonitor/README_STANDALONE.mdmonitor/filter_exception_decoder.pyplatform.jsonplatform.py
💤 Files with no reviewable changes (2)
- examples/arduino-fatfs/WEAR_LEVELING.md
- examples/arduino-fatfs/FATFS_INTEGRATION.md
| "packages": { | ||
| "tool-esptoolpy": "5.2.0" | ||
| }, | ||
| "platform": "https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38/platform-espressif32.zip" |
There was a problem hiding this comment.
Update the lockfile platform URL example to the current release version.
Line 221 still shows 55.03.38, but this PR publishes 55.03.39 in platform.json. Keeping the example aligned avoids copy/paste drift.
📝 Suggested doc fix
- "platform": "https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38/platform-espressif32.zip"
+ "platform": "https://github.com/pioarduino/platform-espressif32/releases/download/55.03.39/platform-espressif32.zip"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "platform": "https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38/platform-espressif32.zip" | |
| "platform": "https://github.com/pioarduino/platform-espressif32/releases/download/55.03.39/platform-espressif32.zip" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/PIO_LOCK_INTEGRATION.md` at line 221, Update the example lockfile
platform URL value so it matches the released version: change the string value
under the "platform" key from ".../55.03.38/platform-espressif32.zip" to
".../55.03.39/platform-espressif32.zip" in the docs example (the JSON line
containing the "platform" key).
Description:
Related issue (if applicable): fixes #
Checklist:
Summary by CodeRabbit
New Features
board_build.filesystem_partitionoptionpio.lock.jsonBug Fixes
Documentation
Chores