PutRGB calls TxPut which is non-blocking and silently discards data
when the TX FIFO is full.
Wait for FIFO space before each PutRGB using runtime.Gosched() to
yield cooperatively, matching the pattern used by piolib.WriteRaw.
Signed-off-by: deadprogram <ron@hybridgroup.com>
Integrate PIO support directly into the existing Device.
NewWS2812() now uses PIO for hardware-timed control
on RP2040/RP2350 and falls back to bit-banging on other platforms.
No changes to the exported API surface.