Using github version of arduino-espressif32?

The version of arduino-espressif32 that comes with the platformio packet manager is unfortunately out of date for a very specific functionality (ledc-fade). So i want to use the newest github version of the library.
How do i do so? I am on a mac and I cloned the repo, but putting
framework = framework-arduinoaespressif32@/home/julian/Code/arduino-esp32
in my platformio.ini gives me
Error: This board doesn’t support framework-arduinoaespressif32@/home/julian/Code/arduino-esp32 framework!

I’m using an ESP32-S2 and my board in the ini is set to board = esp32-s2-saola-1, so it also might be tha tthe config problem lies there?

framework can only be the principal value of the name of the framework, i.e,. arduino. It’s invalid to pass a package name and a path there. That’s what platform_packages would be for.

However, this still wouldn’t work: The standard platform code (espressif32) and the current state of the Arduino-ESP32 builder script is so wrong (referencing inexisting PlatformIO registry packages etc.), that a platform_packages link to #master would not work. Espressif seems to have screwed that one up.

The solution is to use a third-party platform that correctly integrates the Alpha 3.0.0 release of Arduino-ESP32 into PlatformIO. This was discussed in https://github.com/platformio/platform-espressif32/issues/1211. The solution is to simply change the platform value to that fork.

[env:esp32-s2-saola-1]
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF5
board = esp32-s2-saola-1
framework = arduino

thank you. I am still confused, however. The repo you linked seems to be something else than i want? At least the compiler can’t find any of the ledc functions now, which come out of https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-ledc.c ?
I must be fundamentally not understanding something right, but i don’t know what it is

The platform-espressif32 is the PlatformIO platform. It does not contain the framework’s source code. But it references the packages that do.

my bad. the functions are there, the whole way how ledc is done has changed.
So has the way, esp-now is handled. god, what a mess :wink:

If upgrading to an Alpha version is too unstable and unmaintainable, I’m sure you can do with classical ledcWrite() calls on every loop() call with some time variable map()-ed to the right color / PWM value. (example)

Changes are to expect when major release version number increases :wink:
I update my repo on every relevant change in Arduino or IDF code.
The breaking changes are documented → Migration from 2.x to 3.0 - - — Arduino ESP32 latest documentation

Please keep in mind my fork is not fully compatible to the official one.
Removed some stuff we don’t use in project Tasmota. The most relevant is the remove of the old outdated SPIFFS lib.

1 Like

as long as ledc and esp-now work i should be ok with my project :slight_smile: