Any plans for updating PlatformIO to support the esp-idf framework release 4.2?

Hi,

Are there any plans for updating PlatformIO to support the esp-idf framework release 4.2?
There are some new features relating to heap management that I would like to use, it would just be nice to know about the plans.

Thanks!

Already usable in the bleeding-edge development branch since yesterday, see Add support for ESP-IDF v4.2 · Issue #455 · platformio/platform-espressif32 · GitHub.

Thanks! I missed that one. :+1:

I used the “pio platform update” but the version file in ‘…platformio\packages\framework-espidf’ still say “3.40100.200827”? Actually all the files in the folder has the date from the previous esp-idf release (4.1). How do I update the esp-idf framework to the new release 4.2?

Udpating is done exactly like the comment says on github. You need to modify the platformio.ini of your project, replace the original platform = espressif32 line by the bleeding edge version platform = https://github.com/platformio/platform-espressif32.git.

platform = GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO

I already have that in the platformio.ini file from the last time you helped me with the debug adapter speed?

[platformio]
default_envs = nodemcu-32s

[env:nodemcu-32s]
;platform = espressif32
platform = GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO
board = nodemcu-32s
;board_debug.adapter_speed = 500
;board_upload.flash_size = 8MB
;board_upload.maximum_size = 8388608
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
framework = espidf
monitor_speed = 115200
debug_tool = olimex-arm-usb-ocd-h
;upload_protocol = olimex-arm-usb-ocd-h
;board_build.partitions = ESP32_OTA_8M.csv
board_build.partitions = ESP32_OTA_4M.csv

Then pio platform update should have updated that too.
Remove the folders of the form C:\Users\<user>\.platformio\platforms\espressif32@src* to force a redownload on the next build.

Remove the folders of the form C:\Users\<user>\.platformio\platforms\espressif32@src* to force a redownload on the next build.

Thanks, that did it!
Is there a special procedure to follow when updating the framework(s)?

When re-building the project I now get this message:

*** [.pio\build\nodemcu-32s\bootloader\soc\esp32\adc_periph.o] Source C:\Users\Niels\.platformio\packages\framework-espidf\components\soc\esp32\adc_periph.c' not found, needed by target .pio\build\nodemcu-32s\bootloader\soc\esp32\adc_periph.o’.

Looking for the file I found it in another path:

…platformio\packages\framework-espidf\components\soc\soc\esp32

So it seems it now needs “…soc/soc/…” in order to reach the file? Do you know where that is configured?

1 Like

I was testing the example at platform-espressif32/examples/espidf-aws-iot at develop · platformio/platform-espressif32 · GitHub with the bleeding-edge platform and additionally folliwing this comment regarding inclusion of binary files and I don’t receive such an error.

PLATFORM: Espressif 32 (2.1.0+sha.1d1a7ca) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, esp32s2_kaluga_v1, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-espidf 3.40200.210118 (4.2.0)
 - tool-cmake 3.16.4
 - tool-esptoolpy 1.30000.201119 (3.0.0)
 - tool-idf 1.0.1
 - tool-mconf 1.4060000.20190628 (406.0.0)
 - tool-ninja 1.9.0
 - toolchain-esp32ulp 1.22851.191205 (2.28.51)
 - toolchain-xtensa32 2.80400.210114 (8.4.0)
...
Linking .pio\build\esp32dev\firmware.elf
Building .pio\build\esp32dev\firmware.bin
Retrieving maximum program size .pio\build\esp32dev\firmware.elf
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  10.0% (used 32780 bytes from 327680 bytes)
Flash: [=======   ]  72.9% (used 764504 bytes from 1048576 bytes)
esptool.py v3.0
======================= [SUCCESS] Took 57.61 seconds =======================

If in doubt remove the folders C:\Users\Max\.platformio\packages\framework-espidf*, execute the “Clean” task in the project and rebuild.

If in doubt remove the folders C:\Users\Max\.platformio\packages\framework-espidf* , execute the “Clean” task in the project and rebuild.

Thanks that did the trick!
So, what is your preferred platform/framework update procedure? I would like not to use so much time (yours and mine) on the next update. :wink:

I have followed the exact same steps as follows:

  1. Delete .platformio/platforms/espressif32
  2. Delete .platformio/packages/framework-espidf@3.40402.0
  3. Clean project
  4. Build project for fresh installation of platform and framework

But it keeps downloading framework-espidf@3.40402.0

Here is my platformio.ini file:

[env:esp32dev]
platform = https://github.com/platformio/platform-espressif32.git
board = esp32dev
framework = espidf
monitor_speed = 115200
debug_tool = esp-prog
debug_speed = 1000
upload_protocol = esp-prog
upload_port = esp-prog
board_build.partitions = partitions.csv
board_build.f_flash = 80000000L
board_build.embed_txtfiles = src/Certs/certs.pem

Can anyone tell me why it won’t install latest package (framework-espidf)?

But that is the latest version according to

platform-espressif32/platform.json at 03254d41cb8e63e9b37d7c796ad55f2c00869ea5 · platformio/platform-espressif32 · GitHub and PlatformIO Registry.

Note that this encodes ESP-IDF 4.4.2.

Which version did you expect?

Ah, you are right. I don’t know what I was thinking.

The reason for my confusion is that I was trying to use:

#include "tcpip_adapter.h"

But it kept using a deprecated version of the header file, instead of the following:

So I assumed that I must have an older version of ESP-IDF.