diff options
| author | Louis Burda <quent.burda@gmail.com> | 2022-11-29 04:50:45 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2022-11-29 04:50:45 +0100 |
| commit | 6defee37f9939991bbf3152e2cd4e18593baa541 (patch) | |
| tree | e743df5b0b7234dbb56da95f551f7fab90da5127 /src/neopix.c | |
| parent | 20c38dd87e618713ff9bd131e39cc95dfdb949c8 (diff) | |
| download | sxkbd-6defee37f9939991bbf3152e2cd4e18593baa541.tar.gz sxkbd-6defee37f9939991bbf3152e2cd4e18593baa541.zip | |
Fix pio uart integration with neopix pio
Diffstat (limited to 'src/neopix.c')
| -rw-r--r-- | src/neopix.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/neopix.c b/src/neopix.c index 107f354..028f01c 100644 --- a/src/neopix.c +++ b/src/neopix.c @@ -1,15 +1,19 @@ -#include "hardware/pio.h" - #include "neopix.h" #include "ws2812.pio.h" +#include "util.h" + +#include "hardware/pio.h" void -neopix_init(struct neopix *pix, PIO pio, uint sm, uint pin) +neopix_init(struct neopix *pix, uint pin) { uint offset; + int sm; - pix->sm = sm; - pix->pio = pio; + pix->pio = pio0; + sm = pio_claim_unused_sm(pix->pio, true); + ASSERT(sm >= 0); + pix->sm = (uint) sm; pix->pin = pin; offset = pio_add_program(pix->pio, &ws2812_program); ws2812_program_init(pix->pio, pix->sm, offset, |
