Okay, I think this might be the best of all worlds if I'm understanding correctly. No wasted memory, and the ability to "dynamically" set the number of pins. Just need to double the clock speed since I'll need 6 ticks per bit instead of 3.
.program WS281X_PIOGroup
.wrap_target
mov pins, ~null
mov exec x [1] ; where x is preloaded in the init function to be "out pins N"
mov pins, null [1]
.wrap
.program WS281X_PIOGroup
.wrap_target
mov pins, ~null
mov exec x [1] ; where x is preloaded in the init function to be "out pins N"
mov pins, null [1]
.wrap
Statistics: Posted by Bapstack — Mon Sep 15, 2025 7:14 pm