FastLED fails in v2.3.0

I have successfully been using FastLED v3.6.0 on IDE v2.2.1 for some time on my Linux Mint v21.2 and lately v21.3 box. A few days back I updated to IDE v2.3.0 when it was presented in the Update Manager. Immediately after, any sketch using FastLED failed with about 8 pages of printed errors, mostly relating to, as well as MANY others. All other sketches with added libraries still work. Here are a couple of sample errors:

#warning "The legacy RMT driver is deprecated
.../Arduino/libraries/FastLED/src/fastpin.h:91:87: warning: 'volatile'-qualified parameter is deprecated [-Wvolatile]

And many pages of other similar errors ending with:
exit status 1
Compilation error: exit status 1

I have a txt file with all the errors if someone would like to help out on this.

I did a TimeShift restore back to the week before and brought back v2.2.1 installed and working, but the FastLED errors were still there. So it's something that TimeShift does not backup.

I tried a old notebook with LM v21.3 (all updates) and FastLED v3.6.0 works just fine on it, but it is so much slower to compile than my development box. Any help will be greatly appreciated.

Have you tried updating the FastLED library? If it has dependencies, they will also be updated automatically.

Thanks, but yes, rolled back to the first one available and checked each one in the list to the current one of v3.6.0 -- none of which worked any longer. It's just something with this machine that got corrupted with IDE v2.3.0 update last week.

Which Arduino board are you using ?

Use an LTS Mint, not a "latest."

I have been using the ESP32 NodeMCU-32s on almost all of my projects for a couple of years now. Remember, this setup still works on the old laptop, just not my main development machine since it was updated to v2.3.0.

I don't know much about ESPs. One thing that I know is that the ESP development environment can treat warnings as errors.

Is it maybe the compiler warnings setting in file → preferences that is different between your two systems?

If that is the problem then you can stop the compiler reporting warnings as error

See ESP32 unused variable compile error - #15 by cgvrl

sterreje - The laptop was set to NONE and the big box was set to DEFAULT. Changing it to NONE reduced the number of errors but still had lots of RMT type errors. I tried all options in the drop down, but no joy. Thanks for the clue though.

UKHeliBob, that info is for Windows. I'm running Linux.

Those are warnings, not errors. You might be missing the real culprit in that output.

Assuming the compile still fails, compare the installed board packages using library manager.

If needed, you can uninstall the IDE and install IDE 2.2.1; Release 2.2.1 · arduino/arduino-ide · GitHub

Been down that road and still the errors (warnings) continue. Have the latest board packages as well.

OK, but you can still find platform.txt and make the changes

I have been trying to get FastLED.h to work with IDE 2.3.1 and it seems to me that, apart from a platform.h (avr problem) and the change from #include "driver/rmt.h" to "driver/rmt_tx.h", the keyword 'volatile' has been mostly deprecated in the C20 standard. This produces a lot of warnings. I'm unsure if simply deleting the 'volatile' keyword in the library 'fastpin.h' is appropriate

There are other problems that produce errors due to structures (e.g. 'struct rmt_channel_t').

I'm wondering whether to give up on FastLED library and use something else but I won't regress to an older versions of the IDE, C11 or ESP-IDF.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.