Page 1 of 1

we can use the Arduino libraries as an ESP-IDF component ?

Posted: Tue Jun 02, 2020 8:30 am
by mohasrj
hi everyone, i am using ESP32 KIT with framework ESP-IDF on eclipse and i want to know if i can use any librairies from Arduino framework with ESP-IDF like the ADC MCP3428 ?

i try to add arduino-esp32 in project (clone https://github.com/espressif/arduino-esp32.git) i get error :

Python requirements from C:\Users\mohammed.seridj\esp\esp-idf\requirements.txt are satisfied.
CMake Error at C:/Users/mohammed.seridj/esp/esp-idf/tools/cmake/build.cmake:185 (message):
Failed to resolve component 'ethernet'.
Call Stack (most recent call first):
C:/Users/mohammed.seridj/esp/esp-idf/tools/cmake/build.cmake:211 (__build_resolve_and_add_req)
C:/Users/mohammed.seridj/esp/esp-idf/tools/cmake/build.cmake:425 (__build_expand_requirements)
C:/Users/mohammed.seridj/esp/esp-idf/tools/cmake/project.cmake:337 (idf_build_process)
CMakeLists.txt:6 (project)


-- Configuring incomplete, errors occurred!
See also "C:/Users/mohammed.seridj/Desktop/wrkspse/myapp/build/CMakeFiles/CMakeOutput.log".
cmake --build . -- -v
ninja: error: loading 'build.ninja': Le fichier spécifié est introuvable.


Build complete (0 errors, 0 warnings): C:\Users\mohammed.seridj\Desktop\wrkspse\myapp\build


What is the recommended way to add Arduino libraries and ensure that make knows what to do with them?



best regards

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Tue Jun 02, 2020 11:28 am
by chegewara

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Tue Jun 02, 2020 12:02 pm
by mohasrj
yes i have still the same error, but u can confirme me if i can use my esp idf template code and i add inside arduino library without using .ccp

void setup(){
Serial.begin(115200);
}

void loop(){
Serial.println("loop");
delay(1000);
}

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Tue Jun 02, 2020 5:32 pm
by chegewara
When you are making arduino as component project you have to remember 2 things:
1) copy sdkconfig to your project before you start building it:
https://github.com/espressif/arduino-es ... /tools/sdk
or
https://github.com/espressif/arduino-es ... /tools/sdk
depending on idf version you want to use
2) this is still idf project, so you will need to learn this:
https://docs.espressif.com/projects/esp ... lists-file

Every component requires CMakeLists.txt, it is included in arduino already:
https://github.com/espressif/arduino-es ... eLists.txt

https://github.com/chegewara/arduino-as ... eLists.txt

If you are using idf components you need to add REQUIRES in cmakelists.
You also need to rename ino file to cpp.

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Wed Jun 03, 2020 9:07 am
by mohasrj
oky thanks sir,

But as I understand arduino-esp32 is based on IDF 3.3 and I can't use it as a component for idf 4.0. It is then recommended to roll back the idf version to one compatible with the arduino component so 3.3.

is that true ?

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Wed Jun 03, 2020 4:54 pm
by chegewara
You can use esp32s2 branch with idf master, but you have to remember its still WiP and some things may not work.
Most of functionalities has been tested more or less and if you find bug it will be fixed in rather short time, i believe.

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Wed Jun 24, 2020 10:07 pm
by akotowski
I have this same problem.
I have a program using arduino that compiles and runs in IDF version 3.2.
Trying to compile this in 4.1. I received the same errorL: Failed to resolve component 'ethernet'.
I followed your suggestions below, still same error.
I then edited CmakeFile.txt to refer to "main.cpp" instead of "main.c".
Now I get the error: "Please configure IDF framework to include mbedTLS -> Enable pre-shared-key ciphersuites and activate at least one cipher"
Should I be using esp32s2 branch even though I am using a standard esp32?
Should I add mbedTLS per the above? How?

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Thu Jun 25, 2020 12:13 am
by chegewara
akotowski wrote: Should I be using esp32s2 branch even though I am using a standard esp32?
Branch esp32s2 is based on idf v4.2 afaik. The name of branch is suggesting it is meant to be used with S2, but is just added support for S2 with migrating to idf v4.x.
Like i said, you have to remember it is still work in progress, because in idf v4.x is a lot changes. Some components and/or peripherals may not work or still have bugs. Espressif team is working hard on it to give us working environment when esp-idf v4.2 will become stable release.

Re: we can use the Arduino libraries as an ESP-IDF component ?

Posted: Sun Aug 23, 2020 1:19 pm
by jason.a
Hi if you're encountering the "Failed to resolve the component ethernet" line, i may have found an easy fix. Go to the project folder in which you have install the arduino-esp32 git to be used for the idf component, then open the CMakeLists.txt file and scroll down until you come across the line which reads set(COMPONENT_REQUIRES spi_flash mbedtls mdns ethernet esp_adc_cal wifi_provisioning) and change ethernet to esp_eth. Really looks like it's working though i havent actually test it for compiling code in esp idf using the arduino library yet