I have a weird issue to do with, I believe,

I have a weird issue to do with, I believe, the timing of ws2812 pixels using the dmxreceiver library and a teensy 3.1.

I’m using the DmxReceiver (https://github.com/jimparis/DmxReceiver) library to receive dmx signals from a lighting desk to choose different modes of animations that I have programmed. I have been doing this with lpd8806 so far with no issues (and it works with exactly the same hardware/software on the lpd8806 so it seems like a ws2812 issue).

Now I am using WS2812B pixels with exactly the same configuration and it works as expected until I start sending dmx commands to the teensy, where it starts behaving strangely.

So I guess my question is: how does fastled do the ws2812b timing and is there anything I am doing that could interfere with that?

I’m using the TimerOne library to call and interrupt every 100ms to print out the DMX buffer to the serial port for troubleshooting, I have commented this out and the problem still occurs.

To fill the DMX buffer I am using the IntervalTimer https://www.pjrc.com/teensy/td_timing_IntervalTimer.html … I don’t really know much about any of the lower-level stuff but could that affect the ws2812 timing with it’s interrupts? It’s the only thing I can think of really. The buffer is constantly being called, and when I print out the DMX buffer it is receiving the DMX correctly, it’s just making the output a bit strange.

I took a video below that hopefully explains whats happening, but this is a bit weird and I’ve spent the past 2 days trying to figure it out and I’m a little stuck so any help would be greatly appreciated. :slight_smile:

Setup code is here: http://pastebin.com/tCetmcY5
I chopped out the print fucntions and stuff like that, but I can add them back in if it will actually help.
https://lh3.googleusercontent.com/TKQzp1kBiAGhJOQ0_qjieHENC9XgdjctIHodm6DrM1BFIZ927r89mYAfd4kPAIeE3B8kM7OIiBOZrtk=m37