Skip to content

zephyrproject-rtos/gsoc-2022-arduino-core

Folders and files

NameName
Last commit message
Last commit date
Oct 14, 2024
Sep 15, 2024
Aug 12, 2024
Aug 30, 2024
Jun 26, 2024
Oct 14, 2024
Jul 12, 2022
Sep 24, 2022
Aug 18, 2024
May 23, 2024
Jun 1, 2022
May 28, 2024
Jul 1, 2022
Jul 30, 2024
Jul 30, 2024
Aug 28, 2024

Repository files navigation

GSoC 2022 Project: Arduino Core API module for Zephyr

The Arduino Core API module for zephyr leverages the power of Zephyr under an Arduino-C++ style abtraction layer thus helping zephyr new-comers to start using it without worrying about learning about new APIs and libraries. See the project documentation folder for detailed documentation on these topics:

Adding Arduino Core API to Zephyr

  • Pre requisites: It is assumed that you have zephyrproject configured and installed on your system as per the official Get Started Guide. The recommended path to install is ~/zephyrproject as specified in the guide. If you have zephyr installed in a custom path you may need to make changes to the CMakeLists.txt file in the sample code directory when building these samples.

  • Add following entry to west.yml file in manifest/projects subtree of Zephyr:

# Arduino API repository.
- name: Arduino-Core-Zephyr
  path: modules/lib/Arduino-Zephyr-API
  revision: main
  url: https://github.com/zephyrproject-rtos/gsoc-2022-arduino-core
  • Then, clone the repository by running
west update
  • Note: For Linux users only there exists an install.sh script in this project that can be run to quickly link the ArduinoCore-API to this module. If you are able to run that script successfully then you can skip the next steps.

  • To "complete" the core you need to copy or symlink the api folder from the ArduinoCore-API repo to the target's cores/arduino folder:

$ git clone [email protected]:arduino/ArduinoCore-API # Any location
$ ln -s /<your>/<location>/ArduinoCore-API/api cores/arduino/.

The cores folder can be found at ~/zephyrproject/modules/lib/Arduino-Zephyr-API/cores.

Known Bug(s):

NOTE: You can skip this step as well if you ran install.sh.

Maintainers:

License

Please note that the current license is Apache 2. Previously it was LGPL 2.1 but after careful review it was determined that no LGPL code or derivates was used and the more permissive license was chosen.

Additional Links