-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Arduino as Component examples (#8878)
* Example for IDF component registry * Added readme * updated readme * remove idf dependency * add empty lines on file end * idf_component.yml version change * Updated readme for local development --------- Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
- Loading branch information
1 parent
b303cb4
commit 00a9579
Showing
7 changed files
with
103 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -65,4 +65,6 @@ dependencies: | |
version: "^1.4.2" | ||
rules: | ||
- if: "target in [esp32s3]" | ||
examples: | ||
- path: ../idf_component_examples/ | ||
|
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# For more information about build system see | ||
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html | ||
# The following five lines of boilerplate have to be in your project's | ||
# CMakeLists in this exact order for cmake to work correctly | ||
cmake_minimum_required(VERSION 3.16) | ||
|
||
include($ENV{IDF_PATH}/tools/cmake/project.cmake) | ||
project(main) |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 | | ||
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | | ||
|
||
# _Hello world example_ | ||
|
||
This is the simplest buildable example made to be used as a template for new projects running Arduino-esp32 as an ESP-IDF component. | ||
See [Arduino-esp32](https://components.espressif.com/components/espressif/arduino-esp32) in ESP Registry. | ||
|
||
## How to use example | ||
|
||
To create a ESP-IDF project from this example with the latest relase of Arduino-esp32, you can simply run command: `idf.py create-project-from-example "espressif/arduino-esp32:hello_world"`. | ||
ESP-IDF will download all dependencies needed from the component registry and setup the project for you. | ||
|
||
If you want to use cloned Arduino-esp32 repository, you can build this example directly. | ||
Go to the example folder `arduino-esp32/idf_component_examples/Hello_world`. | ||
First you need to comment line 6 `pre_release: true` in examples `/main/idf_component.yml`. | ||
Then just run command: `idf.py build`. | ||
|
||
## Example folder contents | ||
|
||
The project **Hello_world** contains one source file in C++ language [main.cpp](main/main.cpp). The file is located in folder [main](main). | ||
|
||
ESP-IDF projects are built using CMake. The project build configuration is contained in `CMakeLists.txt` | ||
files that provide set of directives and instructions describing the project's source files and targets | ||
(executable, library, or both). | ||
|
||
Below is short explanation of remaining files in the project folder. | ||
|
||
``` | ||
├── CMakeLists.txt | ||
├── main | ||
│ ├── CMakeLists.txt | ||
│ ├── idf_component.yml | ||
│ └── main.cpp | ||
└── README.md This is the file you are currently reading | ||
``` | ||
|
||
## How to add Arduino libraries | ||
|
||
In the project create folder `components/` and clone the library there. | ||
In the library folder create new CMakeLists.txt file, add lines shown below to the file and edit the SRCS to match the library source files. | ||
|
||
``` | ||
idf_component_register(SRCS "user_library.cpp" "another_source.c" | ||
INCLUDE_DIRS "." | ||
REQUIRES arduino-esp32 | ||
) | ||
``` | ||
|
||
Below is structure of the project folder with the Arduino libraries. | ||
|
||
``` | ||
├── CMakeLists.txt | ||
├── components | ||
│ ├── user_library | ||
│ │ ├── CMakeLists.txt This needs to be added | ||
│ │ ├── ... | ||
├── main | ||
│ ├── CMakeLists.txt | ||
│ ├── idf_component.yml | ||
│ └── main.cpp | ||
└── README.md This is the file you are currently reading | ||
``` |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
idf_component_register(SRCS "main.cpp" | ||
INCLUDE_DIRS ".") |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
## IDF Component Manager Manifest File | ||
dependencies: | ||
espressif/arduino-esp32: | ||
version: '*' | ||
override_path: '../../../' | ||
pre_release: true |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#include "Arduino.h" | ||
|
||
void setup(){ | ||
Serial.begin(115200); | ||
} | ||
|
||
void loop(){ | ||
Serial.println("Hello world!"); | ||
delay(1000); | ||
} |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# | ||
# Arduino ESP32 | ||
# | ||
CONFIG_AUTOSTART_ARDUINO=y | ||
# end of Arduino ESP32 | ||
|
||
# | ||
# FREERTOS | ||
# | ||
CONFIG_FREERTOS_HZ=1000 | ||
# end of FREERTOS | ||
# end of Component config |