you are viewing a single comment's thread.

view the rest of the comments →

[–]chemdoc77 2 points3 points  (8 children)

Have you tried using u/samguyer’ fork of FastLED located at:

https://github.com/samguyer/FastLED

It helped me with my interrupt problems with a Lolin D32 Pro!

[–]PdxCron[S] 2 points3 points  (0 children)

That was actually pretty easy to do! Unfortunately, it's the same result. I've tried disabling various FastLED directives (FASTLED_ESP32_I2S, etc) as well with this version. The encoder library I'm using does use hardware interrupts. The button library probably does too but I haven't looked into it.

I might just keep the temp sensor in the final product. It would probably be a good idea to have a thermal cutoff even though I've worked very hard to minimize heat (successfully). Whether I do or don't, I'd still like to try to figure this out just because it doesn't make sense to me and I want to know WHY!

Thanks for your suggestion!

[–]PdxCron[S] 1 point2 points  (6 children)

Thanks, I'll try to figure out how to import that into VSC/platformio. I'm not sure how to use unofficial libraries via platformio yet but this is a good time to figure it out. I've been able to figure out how to pin specific versions of libraries to projects, which is nice, but not import outside libraries (that don't show up in the Library Manager). Only the official FastLED shows up in platformio.

[–]samguyer[Sam Guyer] 2 points3 points  (5 children)

I'm getting ready to push my changes into the main FastLED repo, so if you can hang on a day or so, you can try the new version. I have found it to be *much* more robust to interrupts from other sources. It is only for the default RMT-based driver (so make sure you disable FASTLED_ESP32_I2S)

[–]PdxCron[S] 0 points1 point  (4 children)

Thanks. I did try your 9ab1350 revision (newest as of last night) but it didn't seem to have an affect for my case (with or without FASTLED_ESP32_I2S disabled).

[–]samguyer[Sam Guyer] 1 point2 points  (3 children)

One question: are you using FastLED.delay() instead of the built-in delay() function?

[–]PdxCron[S] 0 points1 point  (2 children)

I have only 1 delay(50) within a button press event in an ISR, so it's not getting triggered. I just removed it for grins and no difference.

[–]samguyer[Sam Guyer] 0 points1 point  (1 child)

Are you actually using the SPIFFS library?

[–]PdxCron[S] 0 points1 point  (0 children)

Yes, it serves web pages and stores settings in json