-
Notifications
You must be signed in to change notification settings - Fork 7.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.0.0 version Migration related issues #8796
Comments
I think this is also related: #8774 |
The OneWire lib does not compile anymore, because
Real fix is:
|
Probably needs particular include. Some have changed in IDF5 |
I have difficulty porting the following code to IDF5. Please look at the line below FIXME! HELP NEEDED!.
Snippet:
Are |
One VERY peculiar thing I just witnessed: Calling
When the tight loop, |
@everslick I am rewriting/restructuring the whole network stack in order to decouple WiFi from the rest of the network functions. Many things have changed and will be fixed/rewritten to work. Some APIs will change/get deprecated, but it's for the better. |
Yes, I've seen the issue for it. I'm very much looking forward to it! While we are at it. One of the things I do not really like about the Arduino API is the omnipresent instantiation of singleton like APIs. We have NO_GLOBAL_INSTANCES for that, but this is not always implemented for all interfaces. In case of |
WiFi would be able to not be global, but beware a new |
@me-no-dev Are you going to implement IPv6 with the rework of the network / wifi part? |
@Jason2866 IPv6 is planned for 3.0.0/1 it's coming for sure :) |
Not sure if this belongs here, w5500+ETH using latest git version, installed manually on windows 11. Running Example ETH_W5500_Arduino_SPI. I have two boards, very possible they have two different versions of W5500. One works fine, but one gives the following very randomly.
If I repower the board, Sometimes it starts working. Other times, it may give a different set of error messages, like this one.
And when it works, it connects and works fine, goes like this.
And the rest of the contents are printed from /asciilogo.txt. I use wificlientsecure to do https. Does espressif/esp-idf#11331 has any bearing on this? |
@kapyaar how is the W5500 to the ESP32? Is it custom board or is it connected via wires? It seems to me like some SPI connection issue. You can also try to decrease SPI CLK frequency to see if it helps. |
@kostaond @me-no-dev Board is good, it is an assembled pcb, but the issue is totally on our side. This ETH section is part of a larger board, and the new version had a few additional SPI chips, CS of one of those chips was floating, likely responding to requests meant for W5500. Took me a while to think outside my section of the board, Fixed that part, and the ETH part works consistently. Really sorry. I have an ETH question, but unrelated to this. To keep this thread clean, let me know if you want me to delete my post and comment, I will be happy to do that. |
@kapyaar You can have a look at the schematics provided by Olimex to get inspiration on how to implement the power nets when using Ethernet. |
Found another issue, where the DHCP service doesn't seem to work when starting softAP. |
|
Hello in latest git / 3.0.0 alpha I cannot find the API equivalent API of
to get IP of connected clients It seems now a component in IDF : But cannot find it in latest arduino-esp32 git Will this API be ported / available in esp32-arduino for final 3.0.0 ? |
@luc-github no. IDF 5.x has many changes since 4.x. There should be something else that would work the same way though |
so you mean |
my program uses the ESPAsyncWebSrv by dvarrel version 1.2.7 It compiled great under version 2.0.17 but fails with version 3.0.0. Is something wrong with the md5 libraries? (I'm using an esp32c3 board) |
A lot of libraries are still not ready. FYI if it can help, I am maintaining a fork of ESPAsyncWebServer (and its dependencies), which is compatible with Arduino 3 already since a while. This fork is already used in many projects like OpenDTU, ESP-Dash, ElegantOTA, Beelance, YaSolR, MycilaESPConnect, ClusterDuck Protocol, etc. |
How do I use your version? I can't find it in the library manager of the arduine IDE. Probably just copy it from github and put it somewhere? but where? |
I have learnt to never rely on Arduino's library manager because the identifier they use is the library name and it causes some conflicts. For this lib for example, @me-no-dev is the original author. But if you look in the list here you will see some 2.x versions coming from the fork I maintain (where I've kept the orignal author), but a guy decided to fork the ESPHome fork (what a hell), change to version 3.x and also change the author to his pseudo and deploy his package on top of it. So now everything is screwed up because people depending on ESPAsyncWebServer on Arduino will get his fork, which is an old version with still some bugs and it is not compatible with Arduino 3, like the 2.x versions are. Sadly the way everybody can deploy to the Arduino library manager and screw up things makes it completely unsafe to use. You better use Platformio instead, or manually download or re-download all the dependencies each time you open a new Arduino project to make sure you have the right library name and version. |
With Arduino IDE, you can also install libraries manually. |
Platformio can be blessing and a curse when you use it's [env] settings, it can easily confuse itself when juggling between v2 and v3.
you just uncomment one line, ctrl-save and platformio does the rest for you .. |
I have tried this example Connecting to network: eduroam assert failed: xQueueReceive queue.c:1475 (( pxQueue )) |
@tutotio looks like that example needs updating. We have a direct method to connect to enterprise networks: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/src/WiFiSTA.h#L111-L115 |
thanks for your answer The example is updated to the new version: esp_eap_client.h, used in the example, has been included in version 3 I have tried the direct method and got the same crash (the ESP32 continually reboots when connecting to network eduroam) |
do you get a backtrace that you can decode? |
I tried this example: Log:
|
Now run the backtrace through exception decoder :) |
Is this what you need?
|
With the first example: i got the same backtrace:
|
please list the exact call you make to WiFi.begin(). You should not get this error. I traced the code and it should work ok |
Both examples brakes without do any modification. It doesn't matter if you put a good or bad identity or password, it always breaks: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiClientEnterprise/WiFiClientEnterprise.ino It breaks if you are under wifi eduroam coberture. If eduroam wifi is not available or you change the ssid to a non existant ssid you got an error, but it don't brake and reboot: |
@tutotio please open an issue so we can further look into it. Post all relevant info there |
Hi guys, these are the dependencies Resolving arduino_nano_esp32-30 dependencies... this is the content of platformio.ini [env:arduino_nano_esp32-30] and here the link error: Linking .pio\build\arduino_nano_esp32-30\firmware.elf |
@ctodor This issue is not about Platformio setup or problems at all.
|
@Jason2866 thx for the answer, but there is no diff. between your example and mine (except you specify platform = espressif32 @ 6.7.0), but if you take a look at the dependencise you will see Platform espressif32 @ 6.7.0 (required: espressif32) Anyway, removing platform_packages key, everything works fine |
@me-no-dev : FYI found a bug in the new IPAddress implementation, following a bug report in my ESPAsyncWebServer fork, with an updated AsyncTCP which is Ipv6 compatible and also using the new |
FYI, many also want PlatformIO to add Arduino v3.0.0 support for it in platform-espressif32 too, which might never happen now? There is already an open pull request but PlatformIO is refusing to merge it as they claim that Espressif lack of support is at fault: |
the biggest issue I see here is that Espressif is not supporting PlatformIO. |
Can we please refocus the discussion (and notifications sent to all these people here) around Arduino 3 technical migration issues ?🙏 |
This function should be replaced by |
@Benik3 Arduino is not IDF. Why should there be an Arduino API for? |
The old Arduino library has available the "tcpip_adapter_get_sta_list", so there is now no available replacement in the new Arduino API. Or is there any way how to get MAC address of a connected client in the Arduino API 3.0.0 or another way to detect if the client was already connected or it is a new one? Example:
|
Hello,
purpose of this issue is to cover problems related to migration from 2.X (at the moment of writing the latest version is 2.0.14) to 3.X version.
💥 If you have any problems, please add comment to this issue. 💥
3.0.0 version introduces breaking changes in those APIs:
🎉 For more details plese take a look on MIGRATION GUIDE FROM 2.X TO 3.X. 🎉
List of all related issues: (will be updated)
Please take a look on those issue before adding comment to this ticket.
gpio_intr_enable
andgpio_intr_disable
#8737The text was updated successfully, but these errors were encountered: