hpwit / I2SClocklessVirtualLedDriver

MIT License
28 stars 4 forks source link

Compilation error when defining FULL_DMA_BUFFER #10

Closed StjnTS closed 7 months ago

StjnTS commented 8 months ago

Hello,

When I define 'FULL_DMA_BUFFER' in my code, I get an compilation error pointing to the I2SClocklessVirtualLedDriver.h.

Do you know how I can fix this?

compilation_error

hpwit commented 8 months ago

Hello I will have a look at it. Can you tell me what you're trying to achieve. Because this option will use a very large amount of memory. Rgds Yves

StjnTS commented 8 months ago

Hello Yves,

Thanks for the answer already.

I want to control 32 strips x 130 leds (WS2812B). (4 pins) I am already using the FASTLEDVIRTUALDRIVER for more than a year on this project. (nice library by the way! :) I am trying now to improve this project with this I2SClocklessVirtualLedDriver library based on your example FullBufferLoopSync.

Regards,

Stijn

hpwit commented 8 months ago

Hello What are you trying to achieve using the full frame buffer ? Because this option will use 148k

StjnTS commented 8 months ago

I have some trouble with periodic flickering. Especially when I am setting some leds to black. I am using interrupts and multithreading, so I hope to fix this flickering with using this frame buffer. Would you advice this to use the full frame buffer?

hpwit commented 8 months ago

Hello I understand download the dev branch of my repository Then add

define __NB_DMA_BUFFER 10

Before the #include of the library. This should naturally help with your issue. You can increase this number if you still have flickering. This new version has a lot of new functionalities that I need to document. Let me know

StjnTS commented 8 months ago

Hello Yves, That worked for me. I am running it now for serveral hours without flickering. Thanks!

hpwit commented 8 months ago

Great news. You're one of the first one to use that branch. Can I ask what you're doing with interrupts. I am happy that people are using this library. Let me know if you need more help or if you wanna share some Pictures of your build.

StjnTS commented 8 months ago

I am using a timer interrupt to create a fixed base for changing color modes. It's a christmas tree existing of 32 strips of WS2812B leds controlled by a ESP32. I've planned to add some extra features next year like streaming and special effects for new year's night. So I am looking forward to make great use of this library!

IMG_3941

hpwit commented 8 months ago

Great Christmas tree !!! The new driver has a lot of functionalities to rotate duplicate scale move what you are displaying. For instance https://youtu.be/xJd4ygx5DmQ?si=xd5XUL5WZqUV2kNC

StjnTS commented 7 months ago

That looks very nice! I've seen the video earlier, but I didn't knew it was using this library. That's something I definitely want to try out. I will delve into it soon to see which functionalities I can use.