Closed chombium closed 4 years ago
@chombium Thanks for your report.
I've done few tests with the commits in the repo and it seems that the problematic commit was a force push and messed something.
I did one more test: I've checked out the previous commit, created a diff, applied the changes and tried to build my app. The build was successful and everything workd as expected.
in my local esp-adf
repo:
$ git checkout 30403e26485e00c42bb3d8a96064ebcb0090edb8
$ git diff --full-index --binary 30403e26485e00c42bb3d8a96064ebcb0090edb8 e9c4faff248cd300207ad938a93d67d880484986 | git apply
than in my project repo I ran:
idf.py build
and everything worked as expected.
It seems that there are no problems with the changes introduced with the commit e9c4faff248cd300207ad938a93d67d880484986
.
Now I'm searching for a clean way to revert this commit, apply the changes introduced by it and add the rest of the commits up to the master HEAD on top of it.
I'm opened to ideas on how to do this.
Best Regards, Jovan
path-to-xtensa-esp32-elf-5.2.0>/bin:$PATH where do i find this??
now i am not able to build the project I have some problems "Warn about uninitialized values. CMake Warning (dev) at CMakeLists.txt:5 (include): uninitialized variable 'ADF_PATH' This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at CMakeLists.txt:5 (include): include could not find load file: /CMakeLists.txt
-- Found Git: C:/Program Files/Git/bin/git.exe (found version "2.25.1.windows.1")
-- Unexpected file in components directory: C:/Users/Embedded/Desktop/esp/esp-idf/components/.gitkeep
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/Embedded/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/Embedded/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/Embedded/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Users/Embedded/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe
-- Check for working CXX compiler: C:/Users/Embedded/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
warning: the default selection SR_RUN_WM6_CORE1 (undefined) of
Hi @embelgit,
thanks for taking a look into this. Feel free to ping me if you need more help.
Here are some
<path-to-xtensa-esp32-elf-5.2.0>
is the path to the folder where you've installed the Xtensa toolchain on your machine.
You also have to export the ADF_PATH
and IDF_PATH
variables. ADF_PATH
has to point to the path where you've cloned ESP ADF
and IDF_PATH to the ESP IDF
folder inside the ADF_PATH, $ADF_PATH/esp-idf
.
BTW. If you are trying to compile my demo project, you are getting the same error as I do:
If you check the component paths the wifi_provisioning
component is read from your C:/Users/Embedded/Desktop/esp/esp-idf/components/wifi_provisioning
folder, so from the ESP_IDF and not from the components/wifi_provisioning
provided in the project
@chombium Could you help to test with follow modifications? IDF is v3.3.
@jason-mao sure, I will be glad to help. At the moment I don't have time, but I will test this tonight (I'm in GMT+1 time zone) and I will update you.
@jason-mao: Could you please send me a link to ADF github repo where the file is located?
Hi @jason-mao, hi @embelgit,
I've tested the suggested changes and I can confirm that they fix the problem :)
Here is a detailed description of what I've done:
d4c36b4ba8d20352205ebaab0e8ddf7d99351044
)$ echo $ADF_PATH
/opt/development/sdk/esp/esp-adf
$ echo $IDF_PATH
/opt/development/sdk/esp/esp-adf/esp-idf
$ echo $PATH
/opt/development/sdk/esp/tools/tools/xtensa-esp32-elf/xtensa-esp32-elf-5.2.0/bin:/opt/development/sdk/esp/esp-adf/esp-idf/tools: <rest of the PATH>
cd /opt/development/projects/esp/component-override/play_mp3
idf.py build
in the output from the build I saw that the component path was not overridden:
-- Component names: ...
-- Component paths:
...
/opt/development/sdk/esp/esp-adf/components/wifi_service;
...
$IDF_PATH/tools/cmake/project.cmake
file. The diff is:
diff --git a/tools/cmake/project.cmake b/tools/cmake/project.cmake
index 13478facc..e9d426b75 100644
--- a/tools/cmake/project.cmake
+++ b/tools/cmake/project.cmake
@@ -30,6 +30,12 @@ macro(project name)
endforeach()
endif()
if(EXTRA_COMPONENT_DIRS) spaces2list(EXTRA_COMPONENT_DIRS)
@@ -39,12 +45,6 @@ macro(project name) endforeach() endif()
if(COMPONENTS) set(IDF_COMPONENTS "${COMPONENTS}") endif()
6. compiled my ADF test `play_mp3` project once again and in the output from `idf.py build` I saw that the component path gets properly overridden:
Component names: ... -- Component paths: ... /opt/development/projects/esp/component-override/play_mp3/components/wifi_service; ...
7. as a final test to check if the IDF overrides work properly after the changes, I've compiled my test IDF project `hello_world`.
```bash
$ cd /opt/development/projects/esp/component-override/hello_world
$ idf.py build
In the output I've seen that the overrides work properly for IDF projects as well:
-- Component names: ...
-- Component paths:
...
/opt/development/projects/esp/component-override/hello_world/components/wifi_provisioning;
...
Great job @jason-mao and @embelgit. Thanks for the help. I guess you can merge the changes to the ESP IDF.
Best Regards, Jovan
@chombium Thank you. It is going to merge.
Hi,
I'm working on an ADF application for a while and now I wanted to update my ADF copy to the latest master (commit
fae539c3035b2c041f49c5b01cdc4c99038595b0
) which includes ESP-IDF v3.3. After updating my ADF copy I'm experiencing a problem when overriding ADF components. With the latest master I'm not able to build my app. In the output fromidf.py build
in theComponent paths:
section I see that the components are taken from the$ADF_PATH/components
and not from<PROJECT_PATH>/components
.Development environment:
fae539c3035b2c041f49c5b01cdc4c99038595b0
Steps to reproduce the problem:
git clone --recursive https://github.com/espressif/esp-adf.git
setting the envvars:
Prepare a demo project: copied IDF hello-world and ADF play_mp3 examples to a new folder and initialized it as a git repo. The demo project can be found here.
build the apps with
idf.py build
to check if everything worksadd dummy components which override the standard components:
wifi_service
for ADF andwifi_provisioning
for IDF and I've tried to rebuild the projects:The expected result was that both the projects build successfully and the ADF/IDF components are overridden by the components in the project.
The actual result is:
hello_world
project was build with the IDFwifi_provisioning
component overridden with the one from the project;play_mp3
project, thewifi_service
component was not overriden with the one from the project. I also checkedComponent paths:
list from theidf.py build
output and I saw that the path was$ADF_PATH/components/wifi_service
.e9c4faff248cd300207ad938a93d67d880484986
.Can someone please help me to solve the problem?
Best Regards, Jovan