From 815c0a96cc27b830d08cf1b79520fac491ee97e8 Mon Sep 17 00:00:00 2001 From: whowechina Date: Fri, 14 Feb 2025 15:42:01 +0800 Subject: [PATCH] Flowing rainbow lights --- Production/Firmware/diva_pico.uf2 | Bin 112640 -> 110592 bytes firmware/src/main.c | 9 +++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Production/Firmware/diva_pico.uf2 b/Production/Firmware/diva_pico.uf2 index 48395ac36a0824714336e1bae595e054dd4f23e4..e02db9a57c9c3d2bf5b626499952e6d80ebe6db3 100644 GIT binary patch delta 34112 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 CZ`9HN diff --git a/firmware/src/main.c b/firmware/src/main.c index 3672246..714ee1f 100644 --- a/firmware/src/main.c +++ b/firmware/src/main.c @@ -127,10 +127,11 @@ static void run_lights() rgb_button_color(i, color); } + uint32_t phase = (now / 20000) & 0xff; if (now - last_hid_time >= 1000000) { for (int i = 0; i < 16; i++) { - uint32_t color = rgb32_from_hsv(i * 16, 255, 255); - rgb_slider_color(i, slider_touched(i) ? color : 0x101010); + uint32_t color = rgb32_from_hsv(i * 16 + phase, 255, 96); + rgb_slider_color(i, slider_touched(i) ? 0xffffff: color); } } } @@ -174,8 +175,8 @@ static void update_check() { const uint8_t pins[] = BUTTON_DEF; // keypad 00 and * bool all_pressed = true; - for (int i = 0; i < 2; i++) { - uint8_t gpio = pins[sizeof(pins) - 2 + i]; + for (int i = 0; i < 4; i++) { + uint8_t gpio = pins[i]; gpio_init(gpio); gpio_set_function(gpio, GPIO_FUNC_SIO); gpio_set_dir(gpio, GPIO_IN);