From 1de18cf0114d70b7625b4a75ef4ff46cfaf43a99 Mon Sep 17 00:00:00 2001 From: Nicholas G Date: Tue, 12 Apr 2022 14:10:55 -0400 Subject: [PATCH] Added brightness multiplier NOTE: PICO_XOSC_STARTUP_DELAY_MULTIPLIER MUST BE CHANGED FROM 1 TO 64 in pico-sdk/src/rp2_common/hardware_xosc/include/hardware/xosc.h https://forums.raspberrypi.com/viewtopic.php?t=317631 --- .vscode/settings.json | 5 +++++ README.md | 1 + build_uf2/Pico_Game_Controller.uf2 | Bin 74752 -> 74752 bytes src/controller_config.h | 1 + src/pico_game_controller.c | 5 +++-- 5 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..1c69c4c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "board.h": "c" + } +} diff --git a/README.md b/README.md index 3615336..f6ddf44 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Pico-Game-Controller +NOTE: PICO_XOSC_STARTUP_DELAY_MULTIPLIER MUST BE CHANGED FROM 1 TO 64 in pico-sdk/src/rp2_common/hardware_xosc/include/hardware/xosc.h This branch was developed with SDVX in mind. Capable of handling 7 LEDs, 1 WS2812B RGB strip, and 2 encoders. diff --git a/build_uf2/Pico_Game_Controller.uf2 b/build_uf2/Pico_Game_Controller.uf2 index 267e4115d74d00fc087702fdf70c40469c6200b7..36c8fbe168062ab63c24cf2913eb04d1abe7f590 100644 GIT binary patch delta 7590 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 S{e*kX(P*SzMfS3fBmNg6NF(w9 delta 7395 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 HJ5m1tT8OEF diff --git a/src/controller_config.h b/src/controller_config.h index 394e029..7edc684 100644 --- a/src/controller_config.h +++ b/src/controller_config.h @@ -11,6 +11,7 @@ #define REACTIVE_TIMEOUT_MAX 1000000 // HID to reactive timeout in us #define WS2812B_LED_SIZE 32 // Number of WS2812B LEDs #define WS2812B_LED_ZONES 1 // Number of WS2812B LED Zones +#define WS2812B_BRIGHTNESS 0.5 // Brightness adjustment #ifdef PICO_GAME_CONTROLLER_C diff --git a/src/pico_game_controller.c b/src/pico_game_controller.c index 0e2032a..4516447 100644 --- a/src/pico_game_controller.c +++ b/src/pico_game_controller.c @@ -171,8 +171,9 @@ void update_peripheral_lights(uint32_t counter) { **/ void ws2812b_update() { for (int i = 0; i < WS2812B_LED_SIZE; i++) { - put_pixel( - urgb_u32(ws2812b_data[i].r, ws2812b_data[i].g, ws2812b_data[i].b)); + put_pixel(urgb_u32(ws2812b_data[i].r * WS2812B_BRIGHTNESS, + ws2812b_data[i].g * WS2812B_BRIGHTNESS, + ws2812b_data[i].b * WS2812B_BRIGHTNESS)); } }