diff --git a/misc.c b/misc.c index 1b16869..8bb7c50 100644 --- a/misc.c +++ b/misc.c @@ -116,7 +116,12 @@ void put_pixel(uint32_t pixel_grb) gpio_put(pwr_pin(), 1); sleep_us(200); } - pio_sm_put_blocking(pio0, 3, pixel_grb << 8u); + + uint8_t green = (pixel_grb >> 16) & 0xFF; + uint8_t red = (pixel_grb >> 8) & 0xFF; + uint8_t blue = pixel_grb & 0xFF; + + pio_sm_put_blocking(pio0, 3, (green << 16) | (red << 8) | blue); sleep_us(50); pio_sm_set_enabled(pio0, 3, false); gpio_init(led_pin()); diff --git a/misc.h b/misc.h index 0b7a456..c9acb10 100644 --- a/misc.h +++ b/misc.h @@ -6,6 +6,11 @@ void put_pixel(uint32_t pixel_grb); + uint8_t red = (pixel_grb >> 8) & 0xFF; + uint8_t green = (pixel_grb >> 16) & 0xFF; + uint8_t blue = pixel_grb & 0xFF; + + void halt_with_error(uint32_t err, uint32_t bits); void gpio_disable_input_output(int pin);