BSB-LAN icon indicating copy to clipboard operation
BSB-LAN copied to clipboard

Migrating BSB-LAN to ESP32 framework 3.0.0

Open fredlcore opened this issue 1 year ago • 11 comments

Since a few days, the Arduino IDE now installs version 3.0.0 as the default ESP32 framework. This comes with a long, long list of breaking changes, the one most noticable is that the OneWireNg library that comes with BSB-LAN no longer compiles.

For the moment, this means that BSB-LAN can currently only compile under version 2.0.17 of the ESP32 framework. A compiler warning/error has been added, so that users will hopefully be able to fix this themselves without opening dozens of bug reports.

However, while we can make this a requirement, it would probably be better to go with the flow and adjust BSB-LAN if possible.

Apart from the libraries, I assume that a number of other functions will also generate problems, especially when it comes to networking. Currently, the seamless change from Ethernet to WiFi and back again (which for example allow the setting up of the BSB-LAN accesspoint if the ethernet function is not working) relies on the fact that the EthernetClient object is derived from the WiFiClient object. However, this seems to have changed with 3.0.0.

There is a migration guide here: https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html

Currently, I haven't found a way to install 3.0.0 under PlatformIO/VSCode, so I can only reproduce the errors in the Arduino IDE, and thus not really start on working on the code changes. Maybe someone else has time capacities and knowledge how and what to change here? Ideally, BSB-LAN should still work under 2.0.17, at least as long as 3.0.0 is also available under PlatformIO. But if there has to be a breaking change, there has to be a breaking change, of course...

Looking forward to any kind of help or suggestions!

fredlcore avatar May 30 '24 10:05 fredlcore