I’m trying to find a reasonably clean way to use newer versions of framework-arduinoespressif32
I received a bug report from a user of my library (Frugal-IoT), and it turned out their clean installation of PlatformIO, fully updated, gets espressif32 at 6.11.0 which gets framework-arduinoespressif32 version ~3.20017.0
I wasn’t seeing that bug since somewhere along the line I’d installed https://github.com/pioarduino/platform-espressif32.git#55.03.20 and my PlatformIO was defaulting to use that.
I was hoping there was a clean way to say that my library depended on the 3.3.2 framework (which includes a bug fix I submitted), but it seems that the line
``
platform=https://github.com/pioarduino/platform-espressif32.git#55.03.32
``
Has to be added by every USER of the library. - which is going to massively increase the chance of failure.
The weird thing is that 3.20017.0 doesnt seem to even get the versions that were live in Feb 2025 (when 3.2.0 was tagged). e.g. arduino-esp32/libraries/WiFi/src/WiFiType.h is missing WL_STOPPED which was added on 11 Nov 23, two years previously to 3.2.0 being tagged, but this fix is not in 3.20017.0
A user of my library wasted a day on this, and now I have, before figuring out what is going on - its totally non-trivial to debug given that you can’t just specify a framework in a platformio.ini file, you have to have previously downloaded that framework via the platform.
What I’d like to see - but is probably too much to hope for.
- A way to mark a library as dependent on a certain framework or later (not via a GitHub link)
- A way to put something like `platform_packages = framework-arduinoespressif32@3.3.2` and have it find and install that package independent of the espressif32 version
- The default - fully updated - platform IO include fixes that have been in framework-arduino-espressif32 since November 2023 and ideally track the latest version at
https://github.com/pioarduino/platform-espressif32