Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
f40db8490f |
4
esp/cpp/04_esp-idf-arduino/.gitignore
vendored
Normal file
4
esp/cpp/04_esp-idf-arduino/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
build
|
||||
managed_components
|
||||
|
||||
|
18
esp/cpp/04_esp-idf-arduino/CMakeLists.txt
Normal file
18
esp/cpp/04_esp-idf-arduino/CMakeLists.txt
Normal file
@ -0,0 +1,18 @@
|
||||
# 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.26)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
|
||||
project(
|
||||
#[[NAME]] esp-idf-arduino
|
||||
VERSION 0.1
|
||||
DESCRIPTION "Example ESP-IDF cmake project"
|
||||
LANGUAGES CXX
|
||||
)
|
||||
|
||||
# For writing pure cmake components, see the documentation
|
||||
# https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/build-system.html#writing-pure-cmake-components
|
||||
idf_build_set_property(COMPILE_OPTIONS "-Wno-error" APPEND)
|
47
esp/cpp/04_esp-idf-arduino/README.md
Normal file
47
esp/cpp/04_esp-idf-arduino/README.md
Normal file
@ -0,0 +1,47 @@
|
||||
# 03_temp-humidity-web
|
||||
|
||||
There is no schematic for this example, it simply prints some output to the serial monitor.
|
||||
This is more of a build system example for untethering yourself from the Arduino IDE.
|
||||
|
||||
To build this example you can run the following commands.
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make -j $(nproc)
|
||||
```
|
||||
|
||||
To flash to your ESP or access the `idf.py menuconfig` menu from the ESP-IDF you can run the same commands with `make`.
|
||||
|
||||
```bash
|
||||
make flash
|
||||
make menuconfig
|
||||
```
|
||||
|
||||
If Ninja is preferred:
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G Nina
|
||||
ninja
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
The [Arduino IDE](https://github.com/arduino/arduino-ide) must be installed.
|
||||
|
||||
install [ESP-IDF](https://github.com/espressif/esp-idf?tab=readme-ov-file#setup-build-environment)
|
||||
|
||||
```bash
|
||||
git clone -b v5.3.2 git@github.com:espressif/esp-idf.git
|
||||
cd esp-idf
|
||||
./install.sh
|
||||
|
||||
# You only need to do this if you want to use ESP-IDF's idf.py helper script.
|
||||
# This example uses cmake, so it's not required.
|
||||
. ./export.sh
|
||||
```
|
||||
|
||||
|
431
esp/cpp/04_esp-idf-arduino/dependencies.lock
Normal file
431
esp/cpp/04_esp-idf-arduino/dependencies.lock
Normal file
@ -0,0 +1,431 @@
|
||||
dependencies:
|
||||
chmorgan/esp-libhelix-mp3:
|
||||
component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.3
|
||||
espressif/arduino-esp32:
|
||||
component_hash: f5fc427eaeb4b84d6b644e3fac1251240a38b8c5e08122f1810a59145f00ccb0
|
||||
dependencies:
|
||||
- name: chmorgan/esp-libhelix-mp3
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: 1.0.3
|
||||
- name: espressif/cbor
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 0.6.0~1
|
||||
- name: espressif/esp-dsp
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target != esp32c2
|
||||
version: ^1.3.4
|
||||
- name: espressif/esp-modbus
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.0.15
|
||||
- name: espressif/esp-sr
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target in [esp32s3]
|
||||
version: ^1.4.2
|
||||
- name: espressif/esp-zboss-lib
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: ==1.6.0
|
||||
- name: espressif/esp-zigbee-lib
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: ==1.6.0
|
||||
- name: espressif/esp_diag_data_store
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 1.0.1
|
||||
- name: espressif/esp_diagnostics
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 1.0.2
|
||||
- name: espressif/esp_hosted
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target == esp32p4
|
||||
version: ^0.0.25
|
||||
- name: espressif/esp_insights
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 1.0.1
|
||||
- name: espressif/esp_modem
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.1.0
|
||||
- name: espressif/esp_rainmaker
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 1.5.0
|
||||
- name: espressif/esp_wifi_remote
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target == esp32p4
|
||||
version: ^0.4.1
|
||||
- name: espressif/libsodium
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.0.20~1
|
||||
- name: espressif/mdns
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.2.3
|
||||
- name: espressif/network_provisioning
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: 1.0.2
|
||||
- name: espressif/qrcode
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 0.1.0~2
|
||||
- name: espressif/rmaker_common
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: target not in [esp32c2, esp32p4]
|
||||
version: 1.4.6
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.3,<5.4'
|
||||
- name: joltwallet/littlefs
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ^1.10.2
|
||||
source:
|
||||
registry_url: https://components.espressif.com/
|
||||
type: service
|
||||
targets:
|
||||
- esp32
|
||||
- esp32s2
|
||||
- esp32s3
|
||||
- esp32c2
|
||||
- esp32c3
|
||||
- esp32c6
|
||||
- esp32h2
|
||||
- esp32p4
|
||||
version: 3.1.1
|
||||
espressif/cbor:
|
||||
component_hash: 440f4ee4504841cc9b4f3a8ef755776a612ac9dace355514c68b999868f990ff
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.6.0~1
|
||||
espressif/esp-dsp:
|
||||
component_hash: fa7fe74305df6da25867437ebcd4213e047cbfc0556cf92067ab657fce537c6e
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.2'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.5.2
|
||||
espressif/esp-modbus:
|
||||
component_hash: e42ebfdfc9d8e46821a915b4c1a5c6465c44dbd4e1bca10531e26f4adc7acc42
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.17
|
||||
espressif/esp-serial-flasher:
|
||||
component_hash: dcc42a16712a1a636509cf0bf90e14032d7f2141784b533613b267b6aa318d52
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.0.11
|
||||
espressif/esp-zboss-lib:
|
||||
component_hash: fad683f7e04366398b61c0eea6e6517d4fe7ec4112407e26743dc80bafc0dcdc
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.6.0
|
||||
espressif/esp-zigbee-lib:
|
||||
component_hash: 0026979f590d7f2b07f433bb0fd031a12b0c2cc0eec8584b59cb6e567d5afd82
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.6.0
|
||||
espressif/esp_diag_data_store:
|
||||
component_hash: 8849195251dbb8a2d7268335277cfa310cef36e4ac1e90cd59ad3be4269a30d7
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.1
|
||||
espressif/esp_diagnostics:
|
||||
component_hash: fe19f5ee7f0145f406d36a4d5310e4ae0c6ee1afa47f2681ada8a2ea8582d390
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
- name: espressif/rmaker_common
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.4.0
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.2
|
||||
espressif/esp_insights:
|
||||
component_hash: 2472a19de98a8b991baeeac7209765b70ce14ec2b1435dbed3abd020dd0f7227
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
- name: espressif/cbor
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >=5.0
|
||||
version: ~0.6
|
||||
- name: espressif/esp_diag_data_store
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.0
|
||||
- name: espressif/esp_diagnostics
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.0
|
||||
- name: espressif/rmaker_common
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.4.0
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.1
|
||||
espressif/esp_modem:
|
||||
component_hash: 681d7c8417ce0f2a11a562c6998b7b379a4847be41d84673c11c0c7a6b00e918
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.1'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.3.0
|
||||
espressif/esp_rainmaker:
|
||||
component_hash: f89a4759347f3909417fb33059452f36c86befae9d10bda78b5417b7a5d19d11
|
||||
dependencies:
|
||||
- name: espressif/rmaker_common
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.4.6
|
||||
- name: espressif/network_provisioning
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >= 5.1
|
||||
version: ~1.0.0
|
||||
- name: espressif/mdns
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >=5.0
|
||||
version: ^1.2.0
|
||||
- name: espressif/json_parser
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.0.3
|
||||
- name: espressif/json_generator
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.1.1
|
||||
- name: espressif/esp_secure_cert_mgr
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >=4.3
|
||||
version: ^2.2.1
|
||||
- name: espressif/esp_schedule
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.2.0
|
||||
- name: espressif/esp_rcp_update
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >= 5.1
|
||||
version: ~1.2.0
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.5.0
|
||||
espressif/esp_rcp_update:
|
||||
component_hash: c10afbd54a17f27eed880e61262b161656e6d36ad63376c307f9273e99d0abcd
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
- name: espressif/esp-serial-flasher
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~0.0.0
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.2.0
|
||||
espressif/esp_schedule:
|
||||
component_hash: e202a9c688f7f1ab601efb91d682e4bcfaebc508dcceee1a1e0a0d2d1ca75a26
|
||||
dependencies:
|
||||
- name: espressif/rmaker_common
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
version: ~1.4.2
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.2.0
|
||||
espressif/esp_secure_cert_mgr:
|
||||
component_hash: 5d9175b416f751ba6a7cb35bdf092f0af85658ce06c4a592c7c541d8017ebeb9
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 2.5.0
|
||||
espressif/jsmn:
|
||||
component_hash: d80350c41bbaa827c98a25b6072df00884e72f54885996fab4a4f0aebce6b6c3
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.1.0
|
||||
espressif/json_generator:
|
||||
component_hash: 45033e1c199b13f1c8c1b544fb7d4e2df6a8e3071ebdcb1b22582b61a7974ff2
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.1.2
|
||||
espressif/json_parser:
|
||||
component_hash: d74b81729ad06ec11ff5eb5b1b0d7df1d00e6027fc11471f4b139c70dcf1b1e4
|
||||
dependencies:
|
||||
- name: espressif/jsmn
|
||||
registry_url: https://components.espressif.com
|
||||
require: private
|
||||
rules:
|
||||
- if: idf_version >=5.0
|
||||
version: ~1.1
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.3
|
||||
espressif/libsodium:
|
||||
component_hash: 25b968723c584a2742ca36cebe5a7ef049c6767e059f7b1e1eec69946019025d
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.2'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.20~2
|
||||
espressif/mdns:
|
||||
component_hash: 4e21149422be01c24d4b1d4dec64fa07d136d8c5d234e931f3ebf375cbde51a0
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.0'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.5.2
|
||||
espressif/network_provisioning:
|
||||
component_hash: ef2e10182fd1861e68b821491916327c25416ca7ae70e5a6e43313dbc71fe993
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=5.1'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.0.2
|
||||
espressif/qrcode:
|
||||
component_hash: 3b493771bc5d6ad30cbf87c25bf784aada8a08c941504355b55d6b75518ed7bc
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 0.1.0~2
|
||||
espressif/rmaker_common:
|
||||
component_hash: a3a1df881278d0351fc850b77792fe8a196ddd6dcacbea203d606329cc6a0239
|
||||
dependencies: []
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.4.6
|
||||
idf:
|
||||
source:
|
||||
type: idf
|
||||
version: 5.3.2
|
||||
joltwallet/littlefs:
|
||||
component_hash: add3caf39a265868f70e55f17e8bfb401f200e45a601dc392832e7ac2c1487bc
|
||||
dependencies:
|
||||
- name: idf
|
||||
require: private
|
||||
version: '>=4.3'
|
||||
source:
|
||||
registry_url: https://components.espressif.com
|
||||
type: service
|
||||
version: 1.16.4
|
||||
direct_dependencies:
|
||||
- espressif/arduino-esp32
|
||||
- idf
|
||||
manifest_hash: fe35c802ba6a89901a8000205c3dac0c8d85b17fbd036b7a7dcb213e5f6e5361
|
||||
target: esp32
|
||||
version: 2.0.0
|
4
esp/cpp/04_esp-idf-arduino/main/CMakeLists.txt
Normal file
4
esp/cpp/04_esp-idf-arduino/main/CMakeLists.txt
Normal file
@ -0,0 +1,4 @@
|
||||
idf_component_register(
|
||||
SRCS "main.cpp"
|
||||
INCLUDE_DIRS "."
|
||||
)
|
17
esp/cpp/04_esp-idf-arduino/main/idf_component.yml
Normal file
17
esp/cpp/04_esp-idf-arduino/main/idf_component.yml
Normal file
@ -0,0 +1,17 @@
|
||||
## IDF Component Manager Manifest File
|
||||
dependencies:
|
||||
## Required IDF version
|
||||
idf:
|
||||
version: '>=4.1.0'
|
||||
# # Put list of dependencies here
|
||||
# # For components maintained by Espressif:
|
||||
# component: "~1.0.0"
|
||||
# # For 3rd party components:
|
||||
# username/component: ">=1.0.0,<2.0.0"
|
||||
# username2/component2:
|
||||
# version: "~1.0.0"
|
||||
# # For transient dependencies `public` flag can be set.
|
||||
# # `public` flag doesn't have an effect dependencies of the `main` component.
|
||||
# # All dependencies of `main` are public by default.
|
||||
# public: true
|
||||
espressif/arduino-esp32: ^3.1.1
|
10
esp/cpp/04_esp-idf-arduino/main/main.cpp
Normal file
10
esp/cpp/04_esp-idf-arduino/main/main.cpp
Normal file
@ -0,0 +1,10 @@
|
||||
#include "Arduino.h"
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println("Hello world!");
|
||||
delay(1000);
|
||||
}
|
2405
esp/cpp/04_esp-idf-arduino/sdkconfig
Normal file
2405
esp/cpp/04_esp-idf-arduino/sdkconfig
Normal file
File diff suppressed because it is too large
Load Diff
2178
esp/cpp/04_esp-idf-arduino/sdkconfig.old
Normal file
2178
esp/cpp/04_esp-idf-arduino/sdkconfig.old
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user