Replies: 24 comments 18 replies
-
Hi, |
Beta Was this translation helpful? Give feedback.
-
I am not able to reproduce. If I create a pio file with your content and create src/main.cpp with your c++ content and run
|
Beta Was this translation helpful? Give feedback.
-
After testing many settings, different boards and Async versions, I discovered that PlatformIO/Arduino doesn't seem to clear the build cache properly (or at least that's what it looks like). Sometimes a build works correctly, and other times it doesn’t—seemingly at random. When manually deleting all cache/temp files in the project folder:
Files:
And these settings, it will compile.
But disabling IPV6 support by uncommenting Will produce the ip_addr_t error. After an error, no other options, lib_deps or boards will compile. You need to manually clear all the caches & temp files. To summarize for AsyncTCP: It will not compile with these platformio settings:
|
Beta Was this translation helpful? Give feedback.
-
I suspect CONFIG_LWIP_IPV6 is required... Even Arduino 2 has it set and AsyncTCP is for Arduino 2 and 3. It was recently opened to esp-idf only but not sure it can be used with CONFIG_LWIP_IPV6=n, especially with framework = arduino. Maybe @willmmiles or @me-no-dev would know better... I will move this to support ticket for now, until it is proven there is a real issue which is not related to a usage problem. |
Beta Was this translation helpful? Give feedback.
-
@qniens : would you be able to test this PR ? #68 CC @willmmiles / @me-no-dev |
Beta Was this translation helpful? Give feedback.
-
@mathieucarbou I just tested the PR and it compiles without errors.
It looks like this quick fix might make it incompatible with ESPAsyncWebServer. Error:
Platformio.ini
|
Beta Was this translation helpful? Give feedback.
-
Leaving the built cache intact and only including
platformio.ini
|
Beta Was this translation helpful? Give feedback.
-
@qniens : the error you got in espasyncws (first one with the fix) is unrelated. I've seen that: this is because you miss an include and Arduino components are then missing from the compile path. |
Beta Was this translation helpful? Give feedback.
-
I had a feeling you would say that :-)
A minimal code example gives the same error.
I think this is related to the custom_sdkconfig built of pioarduino in combination with the ESP32-P4. platformio.ini
|
Beta Was this translation helpful? Give feedback.
-
Even after clearing my cache and generated files I get this error:
|
Beta Was this translation helpful? Give feedback.
-
P4 needs this components. Do NOT remove:
|
Beta Was this translation helpful? Give feedback.
-
Explainable since P4 has no WiFi so trying to use IP settings will fail. |
Beta Was this translation helpful? Give feedback.
-
@qniens By using 'custom_sdkconfig` options you have to take care by using it correctly. As already explained before it needs taken care how to use options which affects wifi too. To be clear this is NOT a bug in pioarduino. Wrong config ends in compile errors. That's it. |
Beta Was this translation helpful? Give feedback.
-
If you want that custom of build, you can look into using Arduino as IDF component. On other side it's very hard for the Async libs to support both Arduino 2.x and 3.x. Once 2.x support is removed, things will get easier. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the clarification ,I understand it's not a bug in pioarduino. That said, I assumed that using a custom_sdkconfig would only override the values I explicitly set, and that all other values would remain the same as in the default build. But from what I’m seeing, it seems the resulting config doesn't fully match the default one. If so, that explains the confusion. Thanks again for your time and support! |
Beta Was this translation helpful? Give feedback.
-
@qniens Will have a look, indeed only the setting which is listed in custom_sdkconfig should be changed to the original used sdkconfig (which is stored in the Arduino framework and used by pioarduino) |
Beta Was this translation helpful? Give feedback.
-
The P4 env needs a change
The key is to enable Host wifi for the P4. Now ESPAsyncWebServer throws an error
This line https://github.com/ESP32Async/ESPAsyncWebServer/blob/c25ff116ab0ee917b43ade6156e3bac9e7e80611/src/WebServer.cpp#L10 (probably other too) needs a specifi check for the P4 which Network is used Wifi / ETH |
Beta Was this translation helpful? Give feedback.
-
@mathieucarbou Why is this there at all? Imho this code part should not do WiFi enable at all, only a check for a valid IP in general. |
Beta Was this translation helpful? Give feedback.
-
@qniens @Jason2866 @me-no-dev : I've pushed 2 PRs:
Not sure about the last one regarding 8266 and RPI... |
Beta Was this translation helpful? Give feedback.
-
Filters are to be reworked once only ESP32 Arduino v3 is supported. Then we should use the |
Beta Was this translation helpful? Give feedback.
-
@me-no-dev This option |
Beta Was this translation helpful? Give feedback.
-
When compiling Arduino as a component of IDF and using this lib it fails to compile when this option is not set. |
Beta Was this translation helpful? Give feedback.
-
shown in this thread here #67 (reply in thread) |
Beta Was this translation helpful? Give feedback.
-
Yes, it automatically resolves the dependencies from the idf_component.yml which is in framework |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
IDE / Tooling
pioarduino
What happened?
When building AsyncTCP for the ESP32-P4 with custom_sdkconfig set (even without any options), compilation fails due to mismatched types between [ip_addr] and [ip_addr_t].
To Reproduce use AsyncTCP as a dependency in a PlatformIO project targeting ESP32-P4 and set custom_sdkconfig.
Build the project.
Stack Trace
Minimal Reproductible Example (MRE)
Empty project
platformio.ini
I confirm that:
Beta Was this translation helpful? Give feedback.
All reactions