manifest: Add arduino-core build snippet#538
Open
soburi wants to merge 3 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a Zephyr arduino-core snippet intended to centralize ArduinoCore configuration and per-board variant .conf/.overlay selection, then updates samples, loader build, scripts, and CI to rely on west build -S arduino-core instead of per-app overlay handling.
Changes:
- Introduces
zephyr/snippets/arduino-coresnippet (YAML + README + common Kconfig fragment). - Removes per-sample/loader CMake logic that manually derived
DTC_OVERLAY_FILE/EXTRA_CONF_FILE, switching builds to-S arduino-core. - Updates docs/CI and adds placeholder variant
.conffiles where needed.
Reviewed changes
Copilot reviewed 34 out of 34 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| zephyr/snippets/arduino-core/snippet.yml | Defines the arduino-core snippet and per-board variant file mapping. |
| zephyr/snippets/arduino-core/README.rst | Documents using the snippet via west build -S. |
| zephyr/snippets/arduino-core/arduino-core.conf | Enables CONFIG_ARDUINO_API. |
| zephyr/module.yml | Registers snippet_root so Zephyr can discover snippets in this module. |
| variants/rpi_pico/rpi_pico.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/nrf9160dk_nrf9160/nrf9160dk_nrf9160.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/nrf52840dk_nrf52840/nrf52840dk_nrf52840.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/cc3220sf_launchxl/cc3220sf_launchxl.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/beagleconnect_freedom/beagleconnect_freedom.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/arduino_nano_33_iot/arduino_nano_33_iot.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/arduino_nano_33_ble/arduino_nano_33_ble.conf | Adds placeholder variant .conf referenced by snippet. |
| variants/arduino_mkrzero/arduino_mkrzero.conf | Adds placeholder variant .conf referenced by snippet. |
| samples/threads_arduino/README.rst | Uses :snippets: arduino-core in build docs. |
| samples/threads_arduino/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/spi_controller/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/serial_event/README.rst | Updates build command to include -S arduino-core. |
| samples/serial_event/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/i2cdemo/README.rst | Updates build command to include -S arduino-core. |
| samples/i2cdemo/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/hello_arduino/README.rst | Adds snippet to QEMU example build command. |
| samples/hello_arduino/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/fade/README.rst | Updates build command to include -S arduino-core. |
| samples/fade/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/button_press_led/README.rst | Updates build command to include -S arduino-core. |
| samples/button_press_led/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/blinky_arduino/README.rst | Updates build command to include -S arduino-core. |
| samples/blinky_arduino/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/attach_interrupt/README.rst | Updates build command to include -S arduino-core. |
| samples/attach_interrupt/CMakeLists.txt | Removes manual overlay selection logic. |
| samples/analog_input/README.rst | Updates build command to include -S arduino-core. |
| samples/analog_input/CMakeLists.txt | Removes manual overlay selection logic. |
| loader/CMakeLists.txt | Removes manual overlay/conf selection for loader build. |
| extra/build.sh | Builds loader with -S arduino-core. |
| .github/workflows/build.yml | Updates CI builds to pass -S arduino-core. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
We are adding `arduino-core` snippet configuration to handle board-specific *.overlay and *.conf files in a manner consistent with Zephyr's build system. This ensures that board-specific settings are applied when building with the `west build -S arduino-core ...` command. For clarity, we are adding a .conf file even for boards that do not have additional settings. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Change the configuration to apply *.overlay and *.conf files via snippets instead of environment variables. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
|
Memory usage change @ b5d0a30
Click for full report table
Click for full report CSV |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added an
arduino-coreZephyr snippet that applies the common ArduinoCore config.This snippet able to eliminate special handling *.overlay and *.conf.