diff --git a/main.c b/main.c index accf849..8a57136 100644 --- a/main.c +++ b/main.c @@ -34,7 +34,7 @@ void rewrite_payload() { put_pixel(PIX_whi); write_payload(); - put_pixel(PIX_gre); + put_pixel(PIX_red); // used to automatically rewrite payload when eMMC/console changes init_config(cid_buf + 1); } diff --git a/misc.c b/misc.c index f2bbfc8..1b16869 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,3 @@ -#include "misc.h" #include "pico/stdlib.h" #include "hardware/pio.h" #include "pins.h" @@ -6,6 +5,7 @@ #include "hardware/vreg.h" #include "ws2812.pio.h" #include "board_detect.h" +#include "misc.h" #include "board_detect.h" extern int ws_pio_offset; @@ -116,12 +116,7 @@ void put_pixel(uint32_t pixel_grb) gpio_put(pwr_pin(), 1); sleep_us(200); } - - uint8_t green = (pixel_grb >> 8) & 0xFF; - uint8_t red = (pixel_grb >> 16) & 0xFF; - uint8_t blue = pixel_grb & 0xFF; - - pio_sm_put_blocking(pio0, 3, (green << 16) | (red << 8) | blue); + pio_sm_put_blocking(pio0, 3, pixel_grb << 8u); sleep_us(50); pio_sm_set_enabled(pio0, 3, false); gpio_init(led_pin()); @@ -152,4 +147,3 @@ void reset_cpu() { gpio_disable_pulls(PIN_RST); gpio_disable_input_output(PIN_RST); } - diff --git a/misc.h b/misc.h index 8a7934c..0b7a456 100644 --- a/misc.h +++ b/misc.h @@ -1,20 +1,17 @@ -#ifndef MISC_H_ -#define MISC_H_ - #define PIX_gre 0x00FF00 #define PIX_red 0xFF0000 #define PIX_whi 0x111111 #define PIX_g 0x008000 -#include - void put_pixel(uint32_t pixel_grb); + void halt_with_error(uint32_t err, uint32_t bits); + void gpio_disable_input_output(int pin); + void gpio_enable_input_output(int pin); + void finish_pins_except_leds(); + void reset_cpu(); - -#endif /* MISC_H_ */ -