ESP8266-RTOS header missmatch

Greeting Platformio-folks,

Platformio was recommended to me by a friend at my local makerspace and I’m sorry if I’m dropping this in the wrong spot. I’ve been trying to get my head around programming an ESP8266 (specifically a nodeMCU 1.0) without resorting to Arduino IDE/language. I had some initial success getting the command line tooling recommended on the Espressif website running through WSL but couldn’t get their hello_world example sketch running possible due to WSL not playing nice with nonstandard baud rate the bootloader uses (best guess).

So I switched to VSCode/Platformio and have gotten the platformio blink example for ESP8266 rtos framework running that way. But my attempts to recreate the Espressif hello_world lead me to discover that the esp_system.h that platformio has does not match the esp_system.h provided by espressif.

I’ve not run a side by side comparison but the macros for querying chip information appear to be missing from the header provided by platformio.

My platformio.ini is pretty bare bones atm

platform = espressif8266
board = nodemcuv2
framework = esp8266-rtos-sdk

Can I point to the Espressif git repo in the platformio.ini instead of wherever the framework is pulling stuff from? Is there a reason for the mismatch? Have I just configured something wrong?

It seems PlatformIO’s esp8266-rtos support is based on a custom version of 1.5.0-beta.5, which means it’s from mid 2018, whereas you’ll be looking at stuff from the 3.1.x series…

Judging from this issue, it’s no simple matter, as someone has been maintaining some semblance of platformio support here, but as acknowledged in the issue on the platformio-espressif8266 repo, it’s basically useless, since all it does is pull in the ESP-IDF, and then you need it all the support tools, which is what PlatformIO would normally do for you.

1 Like