Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
787 commits
Select commit Hold shift + click to select a range
889e4f9
wifi: fix race condition waiting for connect result
pennam Oct 29, 2025
8c414bc
all: Remove superfluous prefix
sebromero Oct 29, 2025
8119c2b
feat: unoq: enable menu for immediate mode
facchinm Oct 29, 2025
b61582c
Merge pull request #223 from pillo79/pr-giga-wifi
pennam Oct 30, 2025
42962b5
Merge pull request #222 from pennam/thread-priority-fix
pennam Oct 30, 2025
5f0e907
Merge pull request #230 from arduino/pennam-unoq-patch
pennam Oct 30, 2025
6f70b4e
all: Remove build.board macro
sebromero Oct 30, 2025
33e52f9
variants/arduino_portenta_h7_stm32h747xx_m7: Update board config.
iabdalkader Oct 23, 2025
e6eec72
portenta-h7: Fix incorrect board identifier
sebromero Oct 30, 2025
661a316
Merge pull request #234 from sebromero/board-identifiers
sebromero Oct 30, 2025
8cbd9cf
Merge pull request #237 from pennam/wifi-begin-fix
pennam Oct 30, 2025
69260c8
Merge pull request #232 from iabdalkader/update_portenta_config
pennam Oct 31, 2025
8e34a0d
portentah7: enable wifi
pennam Oct 31, 2025
438a7c7
UNO-Q: Fix SPI (spi2) - disable PWM on D11
KurtE Nov 1, 2025
1a62094
CMakeLists.txt: Match variants by canonical board name
soburi Nov 1, 2025
568d8d0
CMakeLists.txt: Do nothing when the CONFIG_ARDUINO_API is disabled.
soburi Nov 1, 2025
6517688
fix: add all missing math.h functions
facchinm Nov 3, 2025
f024429
Merge pull request #241 from pennam/h7-wifi
pennam Nov 5, 2025
459b5fc
opta: enable wifi
pennam Nov 5, 2025
af6ee6b
libraries/SocketWrapper: Fix agrs and improve error handling.
iabdalkader Oct 30, 2025
7708097
libraries/WiFi: Add WiFiWebClientTLS example.
iabdalkader Nov 5, 2025
6847a9c
Merge pull request #238 from iabdalkader/fix_sockets
pennam Nov 5, 2025
dbc8a15
giga: enable mbedtls
pennam Nov 5, 2025
81717e3
unoq: remove Arduino_RPCLite submodule
pennam Nov 10, 2025
2338308
unoq: add Arduino_RPClite submodule
pennam Nov 10, 2025
a3fe58c
Merge pull request #244 from facchinm/asin_acos
pennam Nov 11, 2025
213a5e8
Merge pull request #247 from pennam/opta-wifi
pennam Nov 11, 2025
732ec72
Merge pull request #248 from pennam/giga-mbedtls
pennam Nov 11, 2025
46a7877
Merge pull request #250 from pennam/rpc-lib
pennam Nov 11, 2025
66be931
unoq: fix: reversed A4 and A5 ADC channels and clarify pin assignments
JoanVC100 Nov 11, 2025
b5b7f84
Merge pull request #242 from KurtE/q_spi2_mosi_afr
pennam Nov 11, 2025
7a08679
spi: fix data mode settings
pennam Nov 11, 2025
caac4f2
Merge pull request #235 from facchinm/unoq_immediate_mode
pennam Nov 12, 2025
555c598
spi: fix typo
pennam Nov 12, 2025
5884037
Merge pull request #256 from JoanVC100/main
pennam Nov 12, 2025
b804a29
posix: define M_PI and other stuff in Zephyr sketches
pillo79 Nov 11, 2025
1330cca
boards: arduino: giga_r1: Fix partition size.
iabdalkader Nov 12, 2025
5bce99b
Merge pull request #258 from pillo79/pr-xopen-source
pennam Nov 12, 2025
9458575
boards: portentah7: Fix partition size
pennam Nov 12, 2025
dfe56e0
Merge pull request #260 from iabdalkader/fix_giga_part
pennam Nov 12, 2025
f31dee7
Merge pull request #261 from pennam/fix_portenta_h7_part
pillo79 Nov 12, 2025
45fec8b
Merge pull request #259 from pennam/spi_settings_fix
pillo79 Nov 12, 2025
493bb36
json: require version 0.2.0 of the sketch tool
pillo79 Nov 12, 2025
beb3cad
README: clarify symlink instructions for Arduino IDE/CLI usage
pillo79 Nov 12, 2025
bcff219
unoq: restore main thread priority to 5
pennam Nov 12, 2025
52523f2
Merge pull request #263 from pennam/unoq-restore-main-thread-priority
pillo79 Nov 12, 2025
93ad66d
Merge pull request #262 from pillo79/pr-fixes-post-0.52
pennam Nov 12, 2025
254d984
unoq: specify reset gpio as push_pull
facchinm Nov 17, 2025
fa4564c
loader: config: set CONFIG_EVENTS=y
facchinm Nov 18, 2025
a93b329
loader: add symbols for Arduino_JSON library
hajimef Nov 15, 2025
bd88735
get_variant_name: remove redundant temp dir
pillo79 Nov 19, 2025
27314a6
feat: enable menu for static/dynamic build for all variants
pennam Nov 20, 2025
7c41c76
ZephyrUDP: add missing pragma once into header file
pennam Nov 21, 2025
e9d55ad
llext: add vsnprintf to exported symbols
pennam Nov 21, 2025
0c662b9
samples: fix blink readme
gibix Nov 21, 2025
56ef001
Merge pull request #280 from arduino/pennam-export-ch
pillo79 Nov 24, 2025
a054b06
Merge pull request #279 from arduino/pennam-udp-patch
pillo79 Nov 24, 2025
61293ec
Merge pull request #282 from arduino/docs/fix-sample
pillo79 Nov 24, 2025
108fa4e
nicla sense: allow uploading with openocd
pennam Nov 24, 2025
b774b27
platform: update to openocd-0.12.0
pennam Nov 24, 2025
5118039
nicla sense: increase main stack size
pennam Nov 24, 2025
b5166a9
variant: Add PocketBeagle 2 A53 rev A1 support
Ayush1325 Nov 20, 2025
8fc5c56
ci/package_core: save and reload build environment
pillo79 Nov 21, 2025
8d2586e
Portenta C33 ADC: fix for analog input A5 and A6 not working
maidnl Nov 20, 2025
0dcd8e2
nano_matter: add initial support for the Arduino Nano Matter
silabs-bozont Sep 1, 2025
5f76b2a
nano_matter: add PWM support
silabs-bozont Oct 21, 2025
2b75a26
nano_matter: add SPI support
silabs-bozont Oct 27, 2025
62de5e7
nano_matter: add static linking support
silabs-bozont Oct 28, 2025
c93ea54
nano_matter: add ArduinoBLE support
silabs-bozont Oct 30, 2025
a431e17
loader: return if sketch_buf could not be allocated
silabs-bozont Nov 10, 2025
7a91204
feat: install udev rules
lucarin91 Oct 31, 2025
1fc608b
ci/package_core: use matrix for building board binaries
pillo79 Nov 24, 2025
0ccd765
package_core: fix GitHub Actions logging syntax
pillo79 Nov 24, 2025
5a55b11
ci/package_core: proceed with testing as much as possible
pillo79 Nov 24, 2025
4cf15b3
extra: Add debug config fragment.
iabdalkader Nov 26, 2025
7bc5dc6
loader: Export the correct sketch log symbols.
iabdalkader Nov 25, 2025
0249d14
loader: Support relocating sections to different memory regions.
iabdalkader Dec 1, 2025
906dec1
variants: Disable some features for production build.
iabdalkader Dec 1, 2025
41e6e93
variants: Relocate llext heap and main stack.
iabdalkader Dec 1, 2025
79c2af0
Variants: Changed 'built-in' LED from RED to GREEN on R1, C33 and H7.
Dec 2, 2025
cad1828
Variants: Changed OPTA built-in LED change to GREEN as well.
Dec 3, 2025
fee59bb
rust: Add a Rust compatible API implementation.
soburi Nov 1, 2025
7beb5d5
Arduino.h: Give priority to include path for the command line.
soburi Nov 30, 2025
5569c6c
CI: Prepare Rust modules
soburi Nov 2, 2025
f33ea52
Merge pull request #268 from facchinm/unoq_reset_trivial
pennam Dec 4, 2025
6b3c144
Merge pull request #271 from facchinm/restore_events
pennam Dec 4, 2025
e0eaed2
Merge pull request #276 from pennam/static-build
pennam Dec 4, 2025
a2266c0
Merge pull request #278 from maidnl/portenta_c33_fix_adc
pennam Dec 4, 2025
4ce15c1
loader: fix missing pulseIn() implementation
pillo79 Dec 4, 2025
5f5ce5a
Merge pull request #285 from pennam/nicla-stack-fix
pillo79 Dec 4, 2025
9eb88f1
Merge pull request #286 from pillo79/parallel-ci
pennam Dec 10, 2025
56d6de9
Merge pull request #240 from lucarin91/add-post-install-script
facchinm Dec 10, 2025
7991d72
Variants: Changed 'built-in' LED to resemble G-R-G-B pattern.
Dec 11, 2025
909cd88
Merge pull request #287 from pillo79/pr-pulsein-fix
pennam Dec 12, 2025
456d829
Merge pull request #265 from bogdanarduino/built_in_LED_change_to_green
pennam Dec 12, 2025
dfaf05b
nano_matter: change LED_BUILTIN to green
silabs-bozont Dec 15, 2025
ebc3c75
Merge pull request #255 from silabs-bozont/main
pennam Dec 15, 2025
4b808a1
Merge pull request #284 from pennam/nicla-flash
pennam Dec 15, 2025
de08be0
variants: nano33ble: remove duplicated overlay file
pennam Dec 15, 2025
140c6c7
nano_matter: use zephyr_main artifact
pillo79 Dec 15, 2025
ae6d64b
nicla_sense_me: add ADC pins A0 and A1
pillo79 Dec 14, 2025
bfa23be
warning cleanup: mark unused parameters with ARG_UNUSED macro
pillo79 Dec 15, 2025
41aa393
warning cleanup: add missing return statements
pillo79 Dec 15, 2025
feaddfa
warning cleanup: reorder constructor initialization list
pillo79 Dec 15, 2025
7ad58a2
warning cleanup: fix SocketHelpers argument types
pillo79 Dec 15, 2025
c986f53
warning cleanup: misc fixes
pillo79 Dec 15, 2025
f64b3cd
submodules: update unoq libs to latest releases
pillo79 Dec 15, 2025
a587b35
nano_matter: Remove debug options from boards.txt
pennam Dec 15, 2025
ce6072a
Merge pull request #293 from arduino/pennam-nano-matter-debug
pennam Dec 16, 2025
dcd6af3
nicla sense: remove debug menu
pennam Dec 16, 2025
99d5270
Merge pull request #291 from pillo79/pr-warning-cleanup
pennam Dec 16, 2025
814ad18
Merge pull request #270 from iabdalkader/add_debug_overlay
pennam Dec 17, 2025
44c50c0
loader: redirect logs to uart
pennam Dec 2, 2025
6efc26e
giga: relocate llext heap and main stack
pennam Dec 2, 2025
e309ff0
giga: add log uart
pennam Dec 2, 2025
b0cd529
portentah7: add log uart
pennam Dec 2, 2025
b785726
portentac33: add log uart
pennam Dec 2, 2025
9e250d3
opta: disable shell and cpp
pennam Dec 2, 2025
81d8f7f
opta: relocate llext heap and main stack
pennam Dec 2, 2025
98b9add
opta: add log uart
pennam Dec 2, 2025
aff5bf8
nano33ble: disable shell and cpp
pennam Dec 15, 2025
5a4543c
nano33ble: add log uart
pennam Dec 15, 2025
263e035
nano33ble: autosize malloc arena
pennam Dec 15, 2025
a43c29b
nicla sense: disable shell and cpp
pennam Dec 16, 2025
8883316
unoq: disable shell and cpp
pennam Dec 16, 2025
914e008
unoq: restore immediate log mode
pennam Dec 16, 2025
f8a70d6
unoq: remove unused config
pennam Dec 16, 2025
671c845
prj: move CONFIG_INPUT_THREAD_* into giga r1 variant
pennam Dec 18, 2025
7895d12
unoq: make sure DYNAMIC_THREAD is enabled also with SHELL disabled
pennam Dec 16, 2025
0334cb6
prj: disable SHELL and CPP for alla variants
pennam Dec 16, 2025
c148017
c33: remove commented out configs
pennam Dec 17, 2025
3569f82
nicla sense: increase heap mem pool size to 8k
pennam Dec 17, 2025
59e6863
unoq: use user stack for parking sketch in RAM mode
facchinm Dec 18, 2025
fe4bfc3
chore(unoq): add set-to-ram-mode script
lucarin91 Dec 18, 2025
71d6adc
FIXME: disable additional_event_mask in NetworkInterface::begin()
pillo79 Dec 17, 2025
4d94ea8
Merge pull request #294 from pennam/nicla-sense-debug-menu
pillo79 Dec 18, 2025
f21e53f
Merge pull request #289 from pennam/33ble-overlay-fix
pillo79 Dec 18, 2025
18ade8e
Merge pull request #298 from pennam/giga-config-warn
pillo79 Dec 18, 2025
b0a18c0
Arduino_LED_Matrix: add const to matrixWrite
KurtE Nov 17, 2025
910d288
loader: fix unoq analog_reference return values
pillo79 Dec 18, 2025
e3368d6
Merge pull request #267 from KurtE/led_matrix_const
pillo79 Dec 18, 2025
959de17
loader: minor warning cleanup
pillo79 Dec 18, 2025
9f5dc47
Merge pull request #297 from pillo79/pr-wifi-fix
pennam Dec 18, 2025
c81f478
loader: log: early enable usb only if debug is active
pennam Dec 18, 2025
b502d06
Merge pull request #300 from pillo79/pr-unoq-warning-fixes
pennam Dec 18, 2025
91390ac
fix: SPI: remove holes between transfer()
facchinm Dec 10, 2025
51296f7
manifest: Make ArduinoCore-API a downloadable blob
soburi Sep 26, 2025
05fe6ad
CI: Add `west blobs fetch` instead of copy api directory
soburi Nov 1, 2025
7037c1d
loader: additional fixes for Arduino_JSON
pillo79 Dec 18, 2025
8198783
fix: make led matrix draw accept const buf
lucarin91 Dec 19, 2025
7b8b02f
Merge pull request #303 from lucarin91/update-const-matrix-led
pillo79 Dec 19, 2025
7b68ed5
Merge pull request #292 from pennam/disable-shell-v3
pillo79 Dec 22, 2025
dd1bf3c
Merge pull request #266 from hajimef/topic_arduino_json
pillo79 Dec 22, 2025
66f8f71
core: serial: fix availableForWrite()
silabs-bozont Dec 22, 2025
fb91696
workflows: Add clang format check workflow.
iabdalkader Aug 7, 2025
976152f
Merge pull request #288 from facchinm/spi_fix
pennam Jan 12, 2026
33d9593
Merge pull request #304 from silabs-bozont/availableforwrite-fix
pennam Jan 13, 2026
7a9ae87
platform: avoid absolute path for static check command
pillo79 Jan 13, 2026
e850083
Merge pull request #310 from pillo79/pr-fix-abs-path
facchinm Jan 13, 2026
0b46d67
extra/gen_rodata_ld: Add gen_rodata_ld tool.
iabdalkader Nov 3, 2025
13d5b41
fix(docs): variants file names and directory structure
gibix Jan 20, 2026
7b01271
network: interfaces: end() method NetworkInterface
andreagilardoni Jan 20, 2026
5baad68
Merge pull request #318 from gibix/docs/variants
pillo79 Feb 3, 2026
5a312ad
CMakeLists.txt: Improve overlay search rules
soburi Jan 31, 2026
4de9ea9
Merge pull request #319 from andreagilardoni/interfaces-end
pennam Feb 3, 2026
d52286e
zephyr: module.yml: Update to support `click-through` property
soburi Feb 3, 2026
7d51734
CI: Add `--auto-accept` for `west blobs fetch` command
soburi Feb 3, 2026
33ff52d
samples: hello_arduino: Correct printk format specifier
soburi Jan 31, 2026
396da38
cores: arduino: zephyrSerial: Add cast to suppress warning
soburi Jan 31, 2026
fcc3f2f
libraries/SPI: warning cleanups
pillo79 Jan 9, 2026
29b3ca9
nicla_sense_me: disable SPI to avoid conflict with UART
pillo79 Jan 9, 2026
7fcf6f4
loader: unoq: increase ram buffer
pennam Feb 4, 2026
b6c6121
Merge pull request #299 from lucarin91/unoq-set-to-ram-mode-script
pennam Feb 5, 2026
7505975
Merge pull request #324 from pennam/unoq-increase-ram-buffer
pillo79 Feb 5, 2026
49fc8d5
Arduino.h: Correct LED_BUILTIN define order
soburi Jan 31, 2026
68d992a
CMakeLists.txt: Build the ArduinoCore-API implementations
soburi Feb 1, 2026
b16b96f
CMakeLists.txt: Fix Rust-API implementation build
soburi Feb 1, 2026
bec3e13
packaging: add gen-rodata-ld tool
pennam Feb 5, 2026
5f797d7
fix(docs): variants file names and directory structure
gibix Jan 20, 2026
750e711
samples: fix blink readme
gibix Nov 21, 2025
7eab9c4
CMakeLists: add support for external overlays
lizard123137 Feb 5, 2026
4c9afe5
samples: Improved overlay search
soburi Feb 5, 2026
8d6e5ce
variants: Relocating the overlays
soburi Feb 5, 2026
1bc5de8
build: Switch to nano specs.
iabdalkader Jan 8, 2026
4315ad7
misc: Implement two-pass linking to separate rodata sections.
iabdalkader Nov 3, 2025
d893c0b
boards: fix partition definitions
pillo79 Jan 12, 2026
20418a2
Merge pull request #325 from pillo79/ci-fixes
pennam Feb 10, 2026
c8a9c07
workflows: properly trigger on main branch
pillo79 Jan 9, 2026
5f02507
get_core_version: override branch name in CI
pillo79 Jan 9, 2026
0ebf0b3
ci: ccache: use per-board cache
pillo79 Dec 18, 2025
f4a1666
ci: refactor 1/7: limit libraries per artifact
pillo79 Jan 9, 2026
6c07f0b
ci: refactor 2/7: generate per-board test list and batch compile
pillo79 Jan 9, 2026
a7ba039
ci: refactor 3/7: process build logs with Python script
pillo79 Jan 9, 2026
86fe72b
ci: refactor 4/7: handle expected errors in CI tests
pillo79 Jan 9, 2026
538fb21
ci: refactor 5/7: extract and display memory information reports
pillo79 Jan 9, 2026
bdd1d96
ci: refactor 6/7: test both static and dynamic linking
pillo79 Jan 21, 2026
1294955
ci: refactor 7/7: write PR comment with status
pillo79 Jan 9, 2026
b07b5f6
build: get true sketch and loader addr/sizes, enforce in packaging
pillo79 Jan 12, 2026
d63ab4a
bootstrap: add GitHub Actions log annotations
pillo79 Jan 20, 2026
c12b27c
package_tool: provide native ARM64 tool builds
pillo79 Feb 2, 2026
2044d49
variants: remove empty variant.h
DhruvaG2000 Feb 9, 2026
60d57c3
docs: variants: make variant.h optional
DhruvaG2000 Feb 10, 2026
1d620a3
Merge pull request #317 from pillo79/ci-refactor
facchinm Feb 10, 2026
45891a0
cores: arduino: zephyrCommon: Correct tone() behavior with duration=0
soburi Feb 5, 2026
e1956cd
zephyrCommon: Make configurable the max number of tones
soburi Jan 31, 2026
4dd64c6
samples: Added tone_doremi sample
soburi Feb 5, 2026
91bfe31
cores: provide long-call veneers for libc functions.
iabdalkader Feb 9, 2026
878b164
package_core: optimize Github Actions use
pillo79 Feb 12, 2026
fcbefb7
gitmodules: always use https:// links
pillo79 Feb 12, 2026
be214a1
zephyrCommon: Change `delayMicroseconds` to busy loop
soburi Aug 21, 2025
5e09e9e
Arduino.h: Correct LED_BUILTIN define order
soburi Jan 31, 2026
1145449
cores: arduino: zephyrSerial: Add cast to suppress warning
soburi Jan 31, 2026
b7b40bd
zephyrCommon: Removed pulseIn GPIO direction check
soburi Aug 22, 2025
8a7f3d0
zephyrCommon: Immediately terminate pulseIn if gpio not ready
soburi Aug 22, 2025
4c2756c
samples: hello_arduino: Correct printk format specifier
soburi Jan 31, 2026
c91b3a3
README.md: additional cleanups
pillo79 Feb 12, 2026
9f4f9ce
Merge pull request #309 from iabdalkader/fix_cpp_errors
pennam Feb 16, 2026
4de3676
platform: let older toolchains merge rodata
pillo79 Feb 16, 2026
5833105
Merge pull request #337 from soburi/samples_hello_printk_format
pillo79 Feb 16, 2026
c0fee5b
llext: Add strnlen to exported symbols
per1234 Feb 14, 2026
a5e5cd7
zephyrCommon: improve delay* accurancy
facchinm Feb 16, 2026
40895fa
Merge pull request #333 from per1234/export-strnlen
pillo79 Feb 16, 2026
a8dbb98
Merge pull request #341 from facchinm/coarser_tick
pillo79 Feb 16, 2026
3f07be4
Merge pull request #338 from soburi/imporve_pulsein
pillo79 Feb 16, 2026
303293f
Merge pull request #342 from pillo79/api-repo-fixes
facchinm Feb 16, 2026
9009b85
Merge pull request #336 from soburi/suppress_warn_in_64bit
pillo79 Feb 16, 2026
87421b4
Merge pull request #334 from soburi/fix_builtin_led_macro
pillo79 Feb 16, 2026
bac2110
ci: remove Ethernet examples from known issues list
pillo79 Feb 16, 2026
12c0e7f
zephyrCommon: improve delay* accurancy
facchinm Feb 16, 2026
5fd05f3
Merge pull request #246 from iabdalkader/add_gen_rodata
pennam Feb 18, 2026
c3e4a80
Merge pull request #326 from pennam/update-common-json
pennam Feb 18, 2026
144fcf1
Merge pull request #245 from iabdalkader/split_rodata
pennam Feb 18, 2026
79f48d5
Merge pull request #343 from pillo79/ci-remove-fixed-exceptions
pennam Feb 18, 2026
1548f1b
platform.txt: Add missing -Os to cflags.
iabdalkader Feb 18, 2026
ebdedfd
Merge pull request #348 from iabdalkader/add_os_cflags
pennam Feb 20, 2026
973a6a8
doc: add instructions to use custom core in arduino app lab
leonardocavagnis Feb 19, 2026
b193855
Merge pull request #349 from leonardocavagnis/readme_fix_core_app_lab
leonardocavagnis Feb 20, 2026
d9857cc
ci: remove install remoteocd script
dido18 Feb 24, 2026
ba27c01
ci: remove install pyocd
dido18 Feb 24, 2026
0a438c7
Merge pull request #362 from dido18/remove-remoteocd-script
pennam Feb 25, 2026
df8582c
treewide: fix SPDX tags on existing files
pillo79 Feb 25, 2026
12728a6
loader/blobs: additional docs for c33_bl.bin
pillo79 Feb 11, 2026
e350803
libraries: add missing SPDX license identifiers
pillo79 Feb 19, 2026
ee82a35
ci/license_check: switch to scancode-action and custom checks
pillo79 Feb 19, 2026
e9522f8
Merge pull request #329 from pillo79/license-fix
pennam Feb 26, 2026
fa1fa33
scancode: skip processing if no new files found
pillo79 Feb 26, 2026
cae7a3e
Merge pull request #364 from pillo79/license-fix2
pennam Feb 26, 2026
e7abf1e
samples: hello_arduino: Correct printk format specifier (again)
soburi Feb 26, 2026
dc7b335
cores: arduino: Format with clang-format
soburi Feb 23, 2026
8f10077
treewide: Merge remote-tracking branch 'arduino/main' into reunite-wi…
soburi Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# SPDX-License-Identifier: Apache-2.0
#
# Note: The list of ForEachMacros can be obtained using:
#
# git grep -h '^#define [^[:space:]]*FOR_EACH[^[:space:]]*(' include/ \
# | sed "s,^#define \([^[:space:]]*FOR_EACH[^[:space:]]*\)(.*$, - '\1'," \
# | sort | uniq
#
# References:
# - https://clang.llvm.org/docs/ClangFormatStyleOptions.html

---
BasedOnStyle: LLVM
AlignOperands: Align
BreakBeforeTernaryOperators: false
EmptyLineBeforeAccessModifier: LogicalBlock
AlignConsecutiveMacros: AcrossComments
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AttributeMacros:
- __aligned
- __deprecated
- __packed
- __printf_like
- __syscall
- __syscall_always_inline
- __subsystem
BitFieldColonSpacing: After
BreakBeforeBraces: Attach
ColumnLimit: 100
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
ForEachMacros:
- 'ARRAY_FOR_EACH'
- 'ARRAY_FOR_EACH_PTR'
- 'FOR_EACH'
- 'FOR_EACH_FIXED_ARG'
- 'FOR_EACH_IDX'
- 'FOR_EACH_IDX_FIXED_ARG'
- 'FOR_EACH_NONEMPTY_TERM'
- 'FOR_EACH_FIXED_ARG_NONEMPTY_TERM'
- 'RB_FOR_EACH'
- 'RB_FOR_EACH_CONTAINER'
- 'SYS_DLIST_FOR_EACH_CONTAINER'
- 'SYS_DLIST_FOR_EACH_CONTAINER_SAFE'
- 'SYS_DLIST_FOR_EACH_NODE'
- 'SYS_DLIST_FOR_EACH_NODE_SAFE'
- 'SYS_SEM_LOCK'
- 'SYS_SFLIST_FOR_EACH_CONTAINER'
- 'SYS_SFLIST_FOR_EACH_CONTAINER_SAFE'
- 'SYS_SFLIST_FOR_EACH_NODE'
- 'SYS_SFLIST_FOR_EACH_NODE_SAFE'
- 'SYS_SLIST_FOR_EACH_CONTAINER'
- 'SYS_SLIST_FOR_EACH_CONTAINER_SAFE'
- 'SYS_SLIST_FOR_EACH_NODE'
- 'SYS_SLIST_FOR_EACH_NODE_SAFE'
- '_WAIT_Q_FOR_EACH'
- 'Z_FOR_EACH'
- 'Z_FOR_EACH_ENGINE'
- 'Z_FOR_EACH_EXEC'
- 'Z_FOR_EACH_FIXED_ARG'
- 'Z_FOR_EACH_FIXED_ARG_EXEC'
- 'Z_FOR_EACH_IDX'
- 'Z_FOR_EACH_IDX_EXEC'
- 'Z_FOR_EACH_IDX_FIXED_ARG'
- 'Z_FOR_EACH_IDX_FIXED_ARG_EXEC'
- 'Z_GENLIST_FOR_EACH_CONTAINER'
- 'Z_GENLIST_FOR_EACH_CONTAINER_SAFE'
- 'Z_GENLIST_FOR_EACH_NODE'
- 'Z_GENLIST_FOR_EACH_NODE_SAFE'
- 'STRUCT_SECTION_FOREACH'
- 'STRUCT_SECTION_FOREACH_ALTERNATE'
- 'TYPE_SECTION_FOREACH'
- 'K_SPINLOCK'
- 'COAP_RESOURCE_FOREACH'
- 'COAP_SERVICE_FOREACH'
- 'COAP_SERVICE_FOREACH_RESOURCE'
- 'HTTP_RESOURCE_FOREACH'
- 'HTTP_SERVER_CONTENT_TYPE_FOREACH'
- 'HTTP_SERVICE_FOREACH'
- 'HTTP_SERVICE_FOREACH_RESOURCE'
- 'I3C_BUS_FOR_EACH_I3CDEV'
- 'I3C_BUS_FOR_EACH_I2CDEV'
- 'MIN_HEAP_FOREACH'
IfMacros:
- 'CHECKIF'
IncludeCategories:
- Regex: '^".*\.h"$'
Priority: 0
- Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|limits|locale|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|tgmath|time|wchar|wctype)\.h>$'
Priority: 1
- Regex: '^\<zephyr/.*\.h\>$'
Priority: 2
- Regex: '.*'
Priority: 3
IndentCaseLabels: false
IndentGotoLabels: true
IndentAccessModifiers: false
AccessModifierOffset: -4
IndentWidth: 4
InsertBraces: true
InsertNewlineAtEOF: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SortIncludes: Never
SeparateDefinitionBlocks: Always
UseTab: ForContinuationAndIndentation
TabWidth: 4
WhitespaceSensitiveMacros:
- COND_CODE_0
- COND_CODE_1
- IF_DISABLED
- IF_ENABLED
- LISTIFY
- STRINGIFY
- Z_STRINGIFY
- DT_FOREACH_PROP_ELEM_SEP
56 changes: 41 additions & 15 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,64 @@ on: [push, pull_request]

jobs:
build:
name: Build Arduino-API Zephyr samples
runs-on: ubuntu-latest
container: zephyrprojectrtos/ci:latest
container: zephyrprojectrtos/ci-base:latest
env:
CMAKE_PREFIX_PATH: /opt/toolchains
CCACHE_IGNOREOPTIONS: -specs=*
MODULE_PATH: ../modules/lib/Arduino-Zephyr-API

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
path: subfolder

- name: Fix module path, list needed HALs
run: |
mkdir -p $(dirname $MODULE_PATH) && mv subfolder $MODULE_PATH

- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
path: Arduino-Zephyr-API
toolchains: arm-zephyr-eabi
manifest-file-name: ${{ env.MODULE_PATH }}/west.yml
enable-ccache: false

- name: Add manifest path as module
run: |
echo EXTRA_ZEPHYR_MODULES="$(pwd)/$MODULE_PATH" >> $GITHUB_ENV

- name: Initialize
working-directory: Arduino-Zephyr-API
run: |
west init -m https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core.git
west update
git clone https://github.com/arduino/ArduinoCore-API.git ArduinoCore-API
sed '/WCharacter.h/ s/./\/\/ &/' ArduinoCore-API/api/ArduinoAPI.h > ArduinoCore-API/api/tmpArduinoAPI.h
mv ArduinoCore-API/api/tmpArduinoAPI.h ArduinoCore-API/api/ArduinoAPI.h
cp -r ArduinoCore-API/api modules/lib/Arduino-Zephyr-API/cores/arduino/.
west blobs --auto-accept fetch arduinocore-zephyr

- name: Setup Rust toolchain
run: |
wget https://sh.rustup.rs
mv index.html rustup_install.sh
bash rustup_install.sh -y
/root/.cargo/bin/rustup default stable
/root/.cargo/bin/rustup target add thumbv6m-none-eabi thumbv7em-none-eabihf thumbv7em-none-eabi thumbv7m-none-eabi
echo "/root/.cargo/bin" >> $GITHUB_PATH

- name: Build fade
working-directory: Arduino-Zephyr-API
run: |
west build -p -b arduino_nano_33_ble_sense samples/fade
west build -p -b arduino_nano_33_ble/nrf52840/sense $MODULE_PATH/samples/fade

- name: Build i2cdemo
working-directory: Arduino-Zephyr-API
run: |
west build -p -b arduino_nano_33_ble_sense samples/i2cdemo
west build -p -b arduino_nano_33_ble/nrf52840/sense $MODULE_PATH/samples/i2cdemo

- name: Build adc
run: |
west build -p -b beagleconnect_freedom/cc1352p7 $MODULE_PATH/samples/analog_input

- name: Archive firmware
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: firmware
path: Arduino-Zephyr-API/build/zephyr/zephyr.*
12 changes: 8 additions & 4 deletions .github/workflows/checkpatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ name: checkpatch review
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main" ]
branches: [ "main", "next" ]
pull_request:
branches: [ "main" ]
branches: [ "main", "next" ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand All @@ -20,11 +20,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Calculate PR commits + 1'
run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV
- uses: actions/checkout@v3
run: |
echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV
wget https://raw.githubusercontent.com/zephyrproject-rtos/zephyr/refs/heads/main/scripts/checkpatch.pl
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ env.PR_FETCH_DEPTH }}
- name: Run checkpatch review
uses: webispy/checkpatch-action@v9
env:
CHECKPATCH_COMMAND: perl ./checkpatch.pl

62 changes: 62 additions & 0 deletions .github/workflows/format_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: 'Format Check'

on:
push:
branches:
- 'main'
paths:
- '**/*.c'
- '**/*.cpp'
- '**/*.h'
- '**/*.hpp'

pull_request:
types:
- opened
- edited
- reopened
- synchronize
branches:
- 'main'
paths:
- '**/*.c'
- '**/*.cpp'
- '**/*.h'
- '**/*.hpp'

workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'

jobs:
format-check:
runs-on: ubuntu-latest
strategy:
matrix:
path:
- check: 'cores/arduino/'
exclude: 'cores/arduino/api/'
- check: 'loader/'
exclude: 'loader/llext_exports\.c$'
- check: 'libraries/'
exclude: 'examples'
exclude: 'extras'
exclude: 'ea_malloc'
fail-fast: false

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: false
persist-credentials: false

- name: Run clang-format check
uses: jidicula/clang-format-action@v4.15.0
with:
clang-format-version: '19'
check-path: ${{ matrix.path['check'] }}
exclude-regex: ${{ matrix.path['exclude'] }}
13 changes: 9 additions & 4 deletions .github/workflows/license_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@ name: Scancode

on: [pull_request]

permissions:
contents: read

jobs:
scancode_job:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
name: Scan code for licenses
steps:
- name: Checkout the code
uses: actions/checkout@v1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Scan the code
id: scancode
uses: zephyrproject-rtos/action_scancode@v4
uses: zephyrproject-rtos/action_scancode@23ef91ce31cd4b954366a7b71eea47520da9b380 # v4
with:
directory-to-scan: 'scan/'
- name: Artifact Upload
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: scancode
path: ./artifacts
Expand Down
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/build/
/distrib/
/firmwares/*
/venv/
llext-edk/
cflags.txt
cxxflags.txt
includes.txt
syms-dynamic.ld
syms-static.ld
rust/Cargo.lock
Loading
Loading