Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
8 RMT Channels Borks with PlatformIO only on ESP32 #771
I have an app that's pretty demanding - it's doing LZ decompression on one core of a stream of WiFI data received on the other, and drawing it using FastLED on 8 channels at once using RMT. So I'm really pushing things, but after some careful balancing of the load, all works well, at least if I build it using the Arduino IDE or the VSCode wrapper thereof.
If I compile it with PlatformIO (still Arduino Core, not ESPIDF) then it gets corruption, if anything at all, when talking to the LEDs. Basically FastLED.show() doesn't work. I recompile the same files with Arduino IDE, it works.
I appear to be using the same version of FastLED and other libraries that I inspected, so it almost seems like a compiler issue. Other than "I have a repro of this" I'm not sure what to do from here, but wondering if anyone else has had issues with PlatformIO and multiple channels on the ESP32?
Naturally, a simple case of one or two channels works fine...
I found the difference - board config in PlatformIO had PSRAM enabled, so that made for at least one different compiler flag, which I changed. That fixed it, even though the board did not have PSRAM and I was not calling PSRAMInit() or anything!
So, long story short, you can't even BUILD with PSRAM support enabled and have it work with >4 channels at once. That should be an easy repro, but how urgent it makes it I have no idea...