diff options
| author | Louis Burda <quent.burda@gmail.com> | 2022-11-20 01:35:41 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2022-11-20 01:35:53 +0100 |
| commit | 5c2cb697aa8d03eed27b45f8dc67957c45a3d722 (patch) | |
| tree | 056e08b0e4d4aa0d6f65f84043beb151d6c6245f /src/neopix.h | |
| parent | 12a423434352af137bda357001ac824aa23fdf77 (diff) | |
| download | sxkbd-5c2cb697aa8d03eed27b45f8dc67957c45a3d722.tar.gz sxkbd-5c2cb697aa8d03eed27b45f8dc67957c45a3d722.zip | |
Onboard neopixel led support
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; +} |
