From 6859cedcbf7a98227bd530a40152d9fde7332a73 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 16 Dec 2024 13:10:35 +0100 Subject: [PATCH] Use PHY value for LED GPIO number. Signed-off-by: Pol Henarejos --- src/led/led_cyw43.c | 6 +++++- src/led/led_pico.c | 11 ++++++++--- src/led/led_ws2812.c | 7 +++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/led/led_cyw43.c b/src/led/led_cyw43.c index 939d377..36e4bcc 100644 --- a/src/led/led_cyw43.c +++ b/src/led/led_cyw43.c @@ -27,7 +27,11 @@ void led_driver_init() { void led_driver_color(uint8_t color, uint32_t led_brightness, float progress) { (void)led_brightness; - cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, progress >= 0.5); + uint8_t gpio = CYW43_WL_GPIO_LED_PIN; + if (phy_data.led_gpio_present) { + gpio = phy_data.led_gpio; + } + cyw43_arch_gpio_put(gpio, progress >= 0.5); } #endif diff --git a/src/led/led_pico.c b/src/led/led_pico.c index 72fda7b..c3d40df 100644 --- a/src/led/led_pico.c +++ b/src/led/led_pico.c @@ -19,14 +19,19 @@ #if defined(PICO_DEFAULT_LED_PIN) && !defined(PICO_DEFAULT_WS2812_PIN) +uint8_t gpio = PICO_DEFAULT_LED_PIN; + void led_driver_init() { - gpio_init(PICO_DEFAULT_LED_PIN); - gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); + if (phy_data.led_gpio_present) { + gpio = phy_data.led_gpio; + } + gpio_init(gpio); + gpio_set_dir(gpio, GPIO_OUT); } void led_driver_color(uint8_t color, uint32_t led_brightness, float progress) { (void)led_brightness; - gpio_put(PICO_DEFAULT_LED_PIN, progress >= 0.5); + gpio_put(gpio, progress >= 0.5); } #endif diff --git a/src/led/led_ws2812.c b/src/led/led_ws2812.c index 48a76de..047246f 100644 --- a/src/led/led_ws2812.c +++ b/src/led/led_ws2812.c @@ -64,8 +64,11 @@ void led_driver_init() { PIO pio = pio0; int sm = 0; uint offset = pio_add_program(pio, &ws2812_program); - - ws2812_program_init(pio, sm, offset, PICO_DEFAULT_WS2812_PIN, 800000, true); + uint8_t gpio = PICO_DEFAULT_WS2812_PIN; + if (phy_data.led_gpio_present) { + gpio = phy_data.led_gpio; + } + ws2812_program_init(pio, sm, offset, gpio, 800000, true); } uint32_t pixel[] = {