Out of curiosity, is there a way I can manually update PlatformIO’s espressif32 framework to the latest release?
We use the latest stable v2.1. See
checking github, I see the v2.1 has a different esp_wifi.h file (includes promiscuous filtering). however, after making sure I’ve got all the updates from platformio, I still see the older v2.0 esp_wifi.h (in packages\framework-arduinoespressif32\tools\sdk\include\esp32) I’d like to get updated to v2.1 so I can use the promiscuous filtering.
Is there any way I can grab the github repro and install it over what platformio installed?
Hi @SoftwareSamurai!
How do you compare v2.1 with our package?
We use an archive esp-idf-v2.1.zip
from release page Releases · espressif/esp-idf · GitHub
PlatformIO is suppose to auto-update the libraries for each platform, and after making sure my PlatformIO says everything is up to date, I looked at esp_wifi.h on my local machine. It does not contain the promiscuous filtering struct/function. When I look at esp_wifi.h in github on the v2.1 (or master) branch, it does contain the promiscuous filtering struct/function.
(Look for esp_wifi_set_promiscuous_filter() in esp_wifi.h found in esp-idf/components/esp32/include/ on the v2.1 branch in github.)
So I can only conclude that the default/current ESP32 platform framework files are from the v2.0 branch, not the v2.1.
My question is: Is there a way I can manually update my PlatformIO’s esp32 platform framework files to the ESP-IDF v2.1 branch?
FYI: I just tried uninstalling and re-installing the espressif32 and framework packages, and I’m still getting the v2.0 ESP-IDF under the framework.
Do I have to manually copy the v2.1 files and libraries over the automatically-installed framework files?
I’ve checked esp-idf/components/esp32/include/esp_wifi.h
and there is esp_wifi_set_promiscuous_filter
function. Could you please share here the output from the next command:
pio platform show espressif32
espressif32 ~ Espressif 32
Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Version: 0.9.1
Home: PlatformIO Registry
Repository: GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO
Vendor: https://espressif.com/
License: Apache-2.0
Frameworks: arduino, espidf, pumbaa, simba
Packages
Package toolchain-xtensa32
Type: toolchain
Requirements: ~1.50200.0
Installed: Yes
Version: 1.50200.0
Original version: 5.2.0
Description: GCC for SoC Xtensa L108
Package framework-simba
Type: framework
Requirements: >=12.2.0
Installed: No (optional)
Package framework-arduinoespressif32
Type: framework
Requirements: ~1.1.4
Installed: Yes
Version: 1.1.5
Original version: None
Description: Arduino Wiring-based Framework (ESP32 Core)
Package framework-pumbaa
Type: framework
Requirements: >=2.3.0
Installed: No (optional)
Package tool-espotapy
Type: uploader
Requirements: ~1.0.0
Installed: No (optional)
Package framework-espidf
Type: framework
Requirements: ~2.210.0
Installed: No (optional)
Package tool-esptoolpy
Type: uploader
Requirements: ~1.20000.0
Installed: Yes
Version: 1.20000.0
Original version: 2.0.0
Description: ESP8266 ROM Bootloader utility
Boards
ID MCU Frequency Flash RAM Name
esp32-evb ESP32 240Mhz 1280kB 288kB OLIMEX ESP32-EVB
esp32thing ESP32 240Mhz 1280kB 288kB SparkFun ESP32 Thing
nano32 ESP32 240Mhz 1280kB 288kB MakerAsia Nano32
featheresp32 ESP32 240Mhz 1280kB 288kB Adafruit ESP32 Feather
quantum ESP32 240Mhz 1280kB 288kB Noduino Quantum
node32s ESP32 240Mhz 1280kB 288kB Node32s
onehorse32dev ESP32 240Mhz 1280kB 288kB Onehorse ESP32 Dev Module
esp32doit-devkit-v1 ESP32 240Mhz 1280kB 288kB DOIT ESP32 DEVKIT V1
espea32 ESP32 240Mhz 1280kB 288kB April Brother ESPea32
esp32dev ESP32 240Mhz 1280kB 288kB Espressif ESP32 Dev Module
lolin32 ESP32 240Mhz 1280kB 288kB WEMOS LOLIN32
nodemcu-32s ESP32 240Mhz 1280kB 288kB NodeMCU-32S
esp-wrover-kit ESP32 240Mhz 1280kB 288kB Espressif ESP-WROVER-KIT
esp32-gateway ESP32 240Mhz 1280kB 288kB OLIMEX ESP32-GATEWAY
hornbill32minima ESP32 240Mhz 1280kB 288kB Hornbill ESP32 Minima
esp320 ESP32 240Mhz 1280kB 288kB Electronic SweetPeas ESP320
intorobot ESP32 240Mhz 1280kB 288kB IntoRobot Fig
hornbill32dev ESP32 240Mhz 1280kB 288kB Hornbill ESP32 Dev
widora-air ESP32 240Mhz 1280kB 288kB Widora AIR
esp32vn-iot-uno ESP32 240Mhz 1019kB 288kB ESP32vn IoT Uno
firebeetle32 ESP32 240Mhz 1280kB 288kB FireBeetle-ESP32
espino32 ESP32 240Mhz 1280kB 288kB ESPino32
Hm, framework-espidf
package is not installed?
Could you please compile any simple esp-idf
example and check line 624
in esp-idf/components/esp32/include/esp_wifi.h
For me, esp_wifi.h is in “packages\framework-arduinoespressif32\tools\sdk\include\esp32”.
In fact, I don’t show any folder named “esp-idf” at all.
Perhaps the issue is that I’ve got “framework-arduinoespressif32” installed rather than “framework-espidf”?
This is not an issue, framework-arduinoespressif32
and framework-espidf
are two completely separate packages. Honestly, I don’t know which version of esp-idf
is used as a base for the Arduino implementation, but if you want to use esp-idf
, you should explicitly specify that in your platformio.ini
, for example like in this project. And when you first time compile a project based on esp-idf
, PlatformIO will automatically download v2.1 for you.
This IS an issue because framework-arduinoespressif32 CONTAINS files from the ESP-IDF repro, and they are from v2.0, not the latest v2.1, and so far I’ve received no answer as to how I can update those file to the v2.1 release. It’s not that I WANT to use the ESP-IDF files, but rather they are automagically installed and made available to me via PlatformIO.
Understand that I got here when I simply created a new project and selected “Espressif ESP32 Dev Module”. PlatformIO then installed whatever it thought it needed, and here I am today.
So, again, how do I update the ESP-IDF files in framework-arduinoespressif32 to the v2.1 release?
I see that framework-arduinoespressif32 has been updated to v0.10.0, supporting more boards and “Update Arduino Core for ESP32” (appears to be v2.1 of the ESP-IDF).
Thank you!
Out of curiosity: Is there a way to find out who actually maintains these frameworks/packages?
See
I seem to have a version issue also. Using VS Code with PlatformIO for Feather32 board using ESP-IDF framework. I discovered some missing code in the files generated by PlatformIO (specifically components/bt/bluedroid/api/include/esp_gatt_defs.h) and checking against ESP-IDF ver 2.1, they are definitely different files.
So same question as SoftwareSamurai… how can I get my system upgraded to 2.1