Got the start of an #ARGB #WS2812 signal parser working using #RaspberryPi #RP2040 PIO. Going to use this with my #OpenRGB RP2040 ARGB splitter project to send configuration data (LED channel counts) using a standard ARGB controller output. RP2040 PIO is awesome for dealing with high speed serial signals!
Got it to parse more than 4 channels by using DMA. I set up two 1024 LED buffers and flip/flop between them every time a complete ARGB signal is received (detected by a 50us timeout as defined in the WS2812 protocol). The completed buffer is available for parsing while DMA starts filling the other one. In this screenshot I was printing out the first 16 LEDs while running the Visor effect in OpenRGB (the 16th LED is the first LED on the second strip so it's not part of the same pattern).