How to set LED brightness? #229

Closed
opened 2025-12-19 19:31:00 +08:00 by BrandonStudio · 4 comments
BrandonStudio commented 2025-12-19 19:31:00 +08:00 (Migrated from github.com)

Wavesharep RP2350 One

It seems that Pico Commissioner could set brightness ranging from 0 to 15? But it is not available now

Can I set this via CLI? Or should I modify the source code? It's too shining and too bright now.

Wavesharep RP2350 One It seems that Pico Commissioner could set brightness ranging from 0 to 15? But it is not available now Can I set this via CLI? Or should I modify the source code? It's too shining and too bright now.
chengnan049 commented 2025-12-20 20:27:20 +08:00 (Migrated from github.com)
https://web.archive.org/web/20251209085838/https://www.picokeys.com/pico-commissioner/ https://web.archive.org/web/20241230232822/https://www.picokeys.com/pico-commissioner/#expand
BrandonStudio commented 2025-12-27 21:03:34 +08:00 (Migrated from github.com)

I find it. Modify pico-keys-sdk/src/led/led.h

--- a/src/led/led.h
+++ b/src/led/led.h
@@ -47,20 +47,27 @@ enum {
 #define MAX_BTNESS          ((1 << LED_BTNESS_BITS) - 1)
 #define HALF_BTNESS         ((1 << (LED_BTNESS_BITS - 1)) - 1)

+#ifdef BTNESS
+#error btness conflict
+#endif
+#define BTNESS              1 // Change brightness here, 0-15
+
 // steady on
 #define LED_ON_NO_BLINK     ((1000 << LED_ON_SHIFT) | (0 << LED_OFF_SHIFT))

 enum  {
-    MODE_NOT_MOUNTED = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_RED << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT),
-    MODE_MOUNTED     = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT),
-    MODE_SUSPENDED   = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (2000 << LED_OFF_SHIFT),
-    MODE_PROCESSING  = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT),
-    MODE_BUTTON      = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT),
+    MODE_NOT_MOUNTED = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_RED << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT),
+    MODE_MOUNTED     = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT),
+    MODE_SUSPENDED   = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (2000 << LED_OFF_SHIFT),
+    MODE_PROCESSING  = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT),
+    MODE_BUTTON      = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT),

     MODE_ALWAYS_ON   = UINT32_MAX,
     MODE_ALWAYS_OFF  = 0
 };

+#undef BTNESS
+
 extern void led_set_mode(uint32_t mode);
 extern uint32_t led_get_mode();
 extern void led_blinking_task();
I find it. Modify `pico-keys-sdk/src/led/led.h` ```diff --- a/src/led/led.h +++ b/src/led/led.h @@ -47,20 +47,27 @@ enum { #define MAX_BTNESS ((1 << LED_BTNESS_BITS) - 1) #define HALF_BTNESS ((1 << (LED_BTNESS_BITS - 1)) - 1) +#ifdef BTNESS +#error btness conflict +#endif +#define BTNESS 1 // Change brightness here, 0-15 + // steady on #define LED_ON_NO_BLINK ((1000 << LED_ON_SHIFT) | (0 << LED_OFF_SHIFT)) enum { - MODE_NOT_MOUNTED = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_RED << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT), - MODE_MOUNTED = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT), - MODE_SUSPENDED = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (2000 << LED_OFF_SHIFT), - MODE_PROCESSING = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT), - MODE_BUTTON = (MAX_BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT), + MODE_NOT_MOUNTED = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_RED << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT), + MODE_MOUNTED = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (500 << LED_OFF_SHIFT), + MODE_SUSPENDED = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (2000 << LED_OFF_SHIFT), + MODE_PROCESSING = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT), + MODE_BUTTON = (BTNESS << LED_BTNESS_SHIFT) | (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT), MODE_ALWAYS_ON = UINT32_MAX, MODE_ALWAYS_OFF = 0 }; +#undef BTNESS + extern void led_set_mode(uint32_t mode); extern uint32_t led_get_mode(); extern void led_blinking_task(); ```
BrandonStudio commented 2025-12-27 21:05:43 +08:00 (Migrated from github.com)

However, I still hope there will be a cmake command to control this.

However, I still hope there will be a cmake command to control this.
chengnan049 commented 2025-12-28 16:50:26 +08:00 (Migrated from github.com)
You still can try https://github.com/Chr0n0stasis/pypicokey-mirror/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#229