I'm using FastLED 3.2.0 on a Chinesium esp32 and everything was running smoothly until

I’m using FastLED 3.2.0 on a Chinesium esp32 and everything was running smoothly until I made some changes and got this error:

‘rmt_register_tx_end_callback’ was not declared in this scope

The offending file is clockless_esp32.h

Problem is, I can’t track down the changes that caused this to pop up.

I’m coding in Sloeber, BTW.

Any ideas?

@Dani_Epstein can you publish your code and your changes on gist ? Thx

It looks like the issue is with this:
FastLED.addLeds<WS2812B, SECONDS_DATA_PIN, GRB>(secondLeds, NUM_SECOND_LEDS).setCorrection( TypicalLEDStrip );

So I rolled back from 3.2.0 to 3.1.6 and it works now. That caught me off guard, I wasn’t expecting that, so it was the last thing I commented out!

@Dani_Epstein That’s strange. Question is, is it really a bug between library versions, or something to do with that controller? Maybe someone else with an ESP32 could test, at least one version vs the other. Would be good if you could provide the code (or a version of the code) that fails with 3.2.0 and works with 3.1.6.

Here is the code:

I tried compiling it in both Sloeber and the Arduino IDE, but go this from the Arduino IDE:

Arduino: 1.8.5 (Windows 10), Board: “WEMOS LOLIN32, 80MHz, 921600”

In file included from F:\sloeber-workspace2\fastLED_test_1\fastLED_test_1.ino:3:0:

C:\Users\dani\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.001

pragma message “FastLED version 3.002.001”

                 ^

In file included from C:\Users\dani\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from F:\sloeber-workspace2\fastLED_test_1\fastLED_test_1.ino:3:

C:\Users\dani\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message “No hardware SPI pins defined. All SPI access will default to bitbanged output”

                   ^

In file included from C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms/esp/32/fastled_esp32.h:4:0,

             from C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms.h:29,

             from C:\Users\dani\Documents\Arduino\libraries\FastLED/FastLED.h:52,

             from F:\sloeber-workspace2\fastLED_test_1\fastLED_test_1.ino:3:

C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms/esp/32/clockless_esp32.h: In instantiation of ‘void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::startOnChannel(int) [with int DATA_PIN = 18; int T1 = 60; int T2 = 150; int T3 = 90; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 5]’:

C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms/esp/32/clockless_esp32.h:410:13: required from ‘static void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::startNext(int) [with int DATA_PIN = 18; int T1 = 60; int T2 = 150; int T3 = 90; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 5]’

C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms/esp/32/clockless_esp32.h:314:26: required from ‘void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showPixels(PixelController<RGB_ORDER>&) [with int DATA_PIN = 18; int T1 = 60; int T2 = 150; int T3 = 90; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 5]’

F:\sloeber-workspace2\fastLED_test_1\fastLED_test_1.ino:60:1: required from here

C:\Users\dani\Documents\Arduino\libraries\FastLED/platforms/esp/32/clockless_esp32.h:432:41: error: ‘rmt_register_tx_end_callback’ was not declared in this scope

         rmt_register_tx_end_callback(doneOnChannel, 0);

                                     ^

Multiple libraries were found for “FastLED.h”
Used: C:\Users\dani\Documents\Arduino\libraries\FastLED
Not used: C:\Users\dani\Documents\Arduino\libraries\arduino_69861
exit status 1
Error compiling for board WEMOS LOLIN32.

Were you able to fix this problem? The missing function is one that is provided by the ESP32 IDF core that you should get when you install ESP32 support in your Arduino IDE.

Yes, I updated the ESP32 IDF core and that cured it. My apologies for taking so long to update this thread, I completely forgot about this issue.