diff options
Diffstat (limited to 'src/neopix.h')
| -rw-r--r-- | src/neopix.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/neopix.h b/src/neopix.h new file mode 100644 index 0000000..8b01038 --- /dev/null +++ b/src/neopix.h @@ -0,0 +1,22 @@ +#include "hardware/pio.h" +#include "hardware/gpio.h" + +struct neopix { + PIO pio; + uint sm; + uint pin; +}; + +void neopix_init(struct neopix *pix, PIO pio, uint sm, uint pin); +void neopix_put(struct neopix *pix, uint32_t rgb); + +inline uint32_t +neopix_u32rgb(uint8_t r, uint8_t g, uint8_t b) { + uint32_t rgb; + + rgb = ((uint32_t) r) << 8; + rgb |= ((uint32_t) g) << 16; + rgb |= ((uint32_t) b) << 0; + + return rgb; +} |
