Skip to content

Reunite with arduino repo#164

Closed
soburi wants to merge 1025 commits into
zephyrproject-rtos:mainfrom
soburi:reunite-with-arduino-repo
Closed

Reunite with arduino repo#164
soburi wants to merge 1025 commits into
zephyrproject-rtos:mainfrom
soburi:reunite-with-arduino-repo

Conversation

@soburi

@soburi soburi commented Feb 23, 2026

Copy link
Copy Markdown
Member

I would like to move this PR forward while acknowledging the concerns raised in #163.

When integrating repositories, merging the full history is unavoidable. Because we have already made a series of small incremental merges, this PR can now be structured almost as a simple file addition, with only a few exceptions, and without significantly changing behavior.
If we miss this opportunity to merge, the two trees are likely to diverge again, making future integration more difficult.

As shown by the contents of this PR, the actual change is mostly a single file addition. I believe it is now in a reviewable state. The added file has not yet been referenced from CMakeLists.txt; it is only placed in the tree for now.

I have also prepared documentation and records for the differences that have not yet been integrated.

Therefore, I expect the main remaining concern to be DCO-related. I think we should discuss that point separately, and I would appreciate your thoughts on it.

For now, let’s first organize the concerns and then address them one by one.

dido18 and others added 15 commits February 24, 2026 15:37
As these pins are shown as Wire pins on the official documents
such as the pinout and multiple people have reported that
it does not work.
Explicitly state the license in all source files to comply with SPDX
best practices. In addition, update the copyright notice to the new
format.
- ea_malloc: MIT (derived from https://github.com/embeddedartistry/c-linked-list)
- Arduino_LED_Matrix: Apache-2.0 (new code)
- Camera: LGPL-3.0+ (derived)
- all others: LGPL-2.1+ (derived)
We cannot depend on Zephyr's action since it actively flags any
non-Apache2 contribution. Instead, use the official scancode-action and
process the resulting JSON file to point out missing or new licenses.
treewide: fix SPDX license tags, enable license check
Action crashes if no files are found in the scancode-inputs folder.
scancode: skip processing if no new files found
Make sure the verification passed before deleting temporary files. These
may be used in a re-run of verify-core if failed jobs are retried by the
user via the Github interface.
@soburi soburi force-pushed the reunite-with-arduino-repo branch from e57b468 to 8f10077 Compare February 26, 2026 20:59
pennam and others added 14 commits February 27, 2026 09:24
variants: avoid llext ro data relocation
added time and sys_clock_settime export

Signed-off-by: Andrea Gilardoni <a.gilardoni@arduino.cc>
Fixed to use %zu which corresponds to size_t.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Use a formatter to standardize indentation.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fix minor typo in comment.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fix minor typo in comments.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
- Remove duplicated `analogReadResolution` declaration
- Add the same #ifdef conditions used in the implementation
  to the `analogWriteResolution` as well.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
cores: arduino: Arduino.h: Fix typo
strcpy, memcmp and memset were missing from export, they are however
exported by zephyr llext/llext_export.c.

Signed-off-by: Andrea Gilardoni <a.gilardoni@arduino.cc>
llext: libc: Added missing lib exports
Added a condition that the length of digital_pin_gpios is 0 or more.

-------------------------------------------------------------------

Pick: arduino@d20ef628

Co-Authored-by:    Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
dani-clo and others added 27 commits April 27, 2026 12:33
cores: exports: Add double helper long jumps
variant: portentac33: add pwm configuration for analogWrite
- Test for a proper API folder setup; if the API header file is missing,
  remove any leftover content and checkout the API folder from the
  archive as well. This helps users that do not have a full Zephyr setup
  (especially on Windows, where the 'api' symlink is broken anyway).

- Check the provided core folder path maps to a CLI-compatible path
  ending with "hardware/*/zephyr", to avoid the user from mistakenly
  generating an invalid FQBN.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Detect the common case of users cloning the core with the original name
"ArduinoCore-zephyr" and warn them about it, as it causes library
detection issues.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
fix: add checks for local FQBN setup
Update the version of sync-zephyr-artifacts to 0.2.1 in _common.json to
import the latest changes with variable file names, core path checks,
and API folder processing.
tools: require sync-zephyr-artifacts 0.2.1
docs: clarify installation steps and folder naming
- Fixed input max value calculation (Needs to be -1 after shift)
- Clamp calculations are performed first, eliminating cast
- make internal arduino_adc array static

Co-Authored-by: Giovanni Bruno <g.bruno@arduino.cc>
Co-Authored-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-Authored-by: Martino Facchin <m.facchin@arduino.cc>
Co-Authored-by: Luca Burelli <l.burelli@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-Authored-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Make analogReference as weak to allow override by each board
implimentations.

Co-Authored-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
BeagleConnect Freedom now defines multiple revisions in board.yml,
so specify the revision explicitly in CI.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Update for uart_irq_update() changes introduced with
zephyrproject-rtos/zephyr#105231.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
…ecycle

Rework tone/noTone internals to better match Arduino behavior while making
concurrent tone usage configurable and safer.

- Add CONFIG_ARDUINO_MAX_TONES (default: -1).
- Negative values fall back to the digital pin count from devicetree.
- Replace per-pin tone timer arrays with slot-based pin_timer entries.
- Remove the timeout companion timer and finish finite tones by counting
  remaining toggles in tone_expiry_cb().

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
When analogWrite() is called for a pin that cannot be resolved to a PWM channel,
or when the resolved PWM device is not ready,
fall back to GPIO output instead of returning without changing the pin state.

This matches the common Arduino behavior for pins without hardware PWM support:
values above the midpoint drive the pin HIGH,
while lower values drive it LOW. Existing hardware PWM behavior is unchanged.

Co-Authored-by: Satvik <145106491+vs11official@users.noreply.github.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Passing -1 to digital I/O functions may happen when libraries do not
properly sanitize their inputs, leading to undefined behavior. This
commit adds a check to ensure that the pin number is valid before
accessing the arduino_pins array.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add digitalPinToPortDevice() and digitalPinToPinIndex().

Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add F_CPU definition for retrive CPU frequency.

Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Mike S <CyberMerln@gmail.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Allow Arduino APIs to switch a pin between GPIO and peripheral
functions by re-running the selected device init path when
the requested owner changes.

This is an interim pinmux handoff mechanism for boards where
sketches may move a pin back and forth between
serial/GPIO/PWM-style use.

Co-Authored-by: Martino Facchin <m.facchin@arduino.cc>
Co-Authored-by: pennam <m.pennasilico@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
No longer available CONFIG_CPLUSPLUS.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
We are merging 0.55.0 from https://github.com/arduino/ArduinoCore-zephyr.
Aside from the following files, there are no substantial differences other
than the addition of new files:

- .gitignore
- variants/arduino_nano_33_ble_nrf52840_sense/arduino_nano_33_ble_nrf52840_sense.overlay

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Since USB has not yet been implemented in this repository,
cdc_acm_uart is disabled.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add `documentation/repos-diff-control.md` file to manage
difference with https://github.com/arduino/ArduinoCore-zephyr.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
@soburi soburi force-pushed the reunite-with-arduino-repo branch from 8f10077 to bd495b9 Compare June 23, 2026 04:05
@soburi soburi closed this Jun 23, 2026
@soburi soburi deleted the reunite-with-arduino-repo branch June 23, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.