Platform.IO

Ok, I am really trying to give Platform.IO a chance as I respect the advice of people with much more experience than I but so far I hate it. Can anyone kelp point me in the right direction of what might be causing these errors when I attempt to build the latest WLED Master? I really am trying to like it.

Compiling .pio\build\esp32dev\src\xml.cpp.o
In file included from .pio/libdeps/esp32dev/NeoPixelBus_ID547/src/NeoPixelBus.h:82:0,
from .pio/libdeps/esp32dev/NeoPixelBus_ID547/src/NeoPixelBrightnessBus.h:29,
from wled00\NpbWrapper.h:119,
from wled00\FX.h:30,
from wled00\fcn_declare.h:79,
from wled00\wled.h:84,
from wled00\udp.cpp:1:
.pio/libdeps/esp32dev/NeoPixelBus_ID547/src/internal/DotStarGenericMethod.h:33:33: fatal error: .pio/libdeps/esp32dev/NeoPixelBus_ID547/src/internal/TwoWireBitBangImple.h: Permission denied
compilation terminated.
*** [.pio\build\esp32dev\src\udp.cpp.o] Error 1
============================================================================ [FAILED] Took 119.60 seconds ============================================================================

Environment Status Duration


nodemcuv2 IGNORED
esp01 SUCCESS 00:01:32.815
esp01_1m_ota SUCCESS 00:02:03.788
esp01_1m_full IGNORED
esp07 IGNORED
d1_mini SUCCESS 00:02:23.803
heltec_wifi_kit_8 IGNORED
h803wf IGNORED
esp32dev FAILED 00:01:59.601
esp8285_4CH_MagicHome IGNORED
esp8285_4CH_H801 IGNORED
esp8285_5CH_H801 IGNORED
d1_mini_debug IGNORED
d1_mini_ota IGNORED
custom_LEDPIN_4 IGNORED
custom_LEDPIN_16 IGNORED
custom_APA102 IGNORED
custom_WS2801 IGNORED
custom32_LEDPIN_16 IGNORED
======================================================================= 1 failed, 3 succeeded in 00:08:00.007 =======================================================================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

I tried to upload after this and it did succeed in uploading the code albeit extremely slowly but then it just kept re-uploading and I had to terminate the process and Vstudio crashed.

What board you have?

Thanks for the reply! I have several, 8266, ESP32, and I’m trying to get ESP32-Pico to work reliably.

I think the cause of the ussue is this statement in Platformio.ini

default_envs = d1_mini, esp01, esp01_1m_ota, esp32dev

I commented it out and now I can specify just one board at a time.

Now I’m trying to understand how the board definitions work and see if I can get something stable for the ESP32-Pico.

1 Like

You might have a problem with ESP32 pico. Board have one core and as I recall somebody already has tried to flash such a board with limited success. Better if you use ESP8266 MCU or similar. Just uncomment Platformio.ini line with your board.

I really want to get this M5Stack operational, 8266 isn’t packaged like this is.

Funy thing is, compiling with Platform.IO it has been perfectly stable but the button does not work. Arduino the button works but wifi connectivity is an issue.

Good luck :slight_smile:

Anyone ever see a guide for setting up/using Platform.IO? I’m interested in taking a peek.

And by the way, the issues I was having was with an 8266, not the Atom. The Atom is a separate topic.

I’d love to see one as well. Learning curve is a little steep. I can’t even figure out how to force specify a board from within the project.

for me https://github.com/Aircoookie/WLED/blob/master/.travis.yml was a good starting point.

@lanman1: try platformio run -e d1_mini

Thanks @pille for the info. I’m still not sold on PlatformIO. Im still having an issue where I get build errors about files missing but then after 1 or 2 fails, it builds properly. Twice I’ve has to restart PlatformIO to get it to successfully build.

Any advice on making it wasy to switch back and forth on hardware platforms for the build? Just manually editing the platformio.ini for each build?

If you press platformio icon on the left side you will see list of the tasks. Choose one at the time and you don’t have edit *.ini file :slight_smile: Be patient and soon you will realize that you can do a lot more with Platformio than with Arduino IDE.

1 Like

Thank you, that is very helpful. Now if I can figure out the inconsistencies in the build success/failure I’ll be set.

I found out if there are any GLOBAL libraries configured, they override any project library version requirements. I removed all the global libraries and suddenly could succeed 100% with compiling using PIO and WLED.

Thanks all. Ok, so I think I’m comfortable with PlatformIO and building for multiple boards and getting used to it. How do you all keep current with the changes to WLED-Master? Can you point PaltformIO to the Git repo and automatically update or do you just manually maintain a local project folder?

Also, for a shared folder/computer scenario, what do you keep shared and what do you keep on the local computer?

Wow. I must be looking in the wrong places. $999 per month?!

If it helps anyone, I now have 3 computers sharing a common Onedrive shared file structure by setting the following 2 Env variables on the systems to point to local dirs.

PLATFORMIO_CACHE_DIR

Allows one to override “platformio.ini” (Project Configuration File) option cache_dir.

PLATFORMIO_BUILD_CACHE_DIR

Allows one to override “platformio.ini” (Project Configuration File) option build_cache_dir.

1 Like