Skip to content

Commit 36e1032

Browse files
committed
get rid of led stubs + make bootloader always show blue leds
1 parent 0ffe72e commit 36e1032

6 files changed

Lines changed: 26 additions & 36 deletions

File tree

Keypad.Firmware/Keypad.Firmware.ino

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,16 @@ void setup()
4040
if (configuration_bootloader_requested())
4141
{
4242
#if NEO_COUNT > 0
43-
const uint8_t boot_hues[3] = {NEO_CYAN, NEO_BLUE, NEO_MAG};
44-
for (uint8_t i = 0; i < NEO_COUNT; ++i)
45-
{
46-
NEO_writeHue(i, boot_hues[i % 3], NEO_BRIGHT_KEYS);
47-
}
48-
NEO_update(); // update pixels
43+
led_show_bootloader_indicator();
4944
#endif
5045
BOOT_now(); // jump to bootloader
5146
}
5247

5348
buttons_setup();
5449
encoder_setup();
50+
#if NEO_COUNT > 0
5551
led_set_mode(LED_LOOP);
52+
#endif
5653
USBInit();
5754
#endif
5855
}
@@ -68,7 +65,9 @@ void loop()
6865
buttons_update();
6966
encoder_update();
7067
hid_service();
68+
#if NEO_COUNT > 0
7169
led_update();
70+
#endif
7271

7372
// light idle to avoid saturating USB
7473
delay(1);

Keypad.Firmware/configuration.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
#define CONFIGURATION_DEBUG_MODE 0
1111

1212
#define PIN_NEO P34
13-
#define NEO_COUNT 3
13+
#define NEO_COUNT 2
1414
#define NEO_GRB

Keypad.Firmware/src/buttons.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "util.h"
44
#include "buttons.h"
55
#include "configuration_data.h"
6+
#include "led.h"
67
#include "../configuration.h"
78

89
#if !CONFIGURATION_DEBUG_MODE
@@ -81,6 +82,9 @@ void buttons_update(void)
8182

8283
if (has_bootloader_chord && bootloader_chord_candidate)
8384
{
85+
#if NEO_COUNT > 0
86+
led_show_bootloader_indicator();
87+
#endif
8488
BOOT_now();
8589
}
8690
}

Keypad.Firmware/src/hid.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ void hid_handle_button(size_t button_index, hid_trigger_mode_t mode)
129129

130130
const button_binding_t *binding = &button_bindings[button_index];
131131

132+
#if NEO_COUNT > 0
132133
if (binding->led_index >= 0)
133134
{
134135
if (mode == HID_TRIGGER_PRESS)
@@ -140,6 +141,7 @@ void hid_handle_button(size_t button_index, hid_trigger_mode_t mode)
140141
led_presskey(-1);
141142
}
142143
}
144+
#endif
143145

144146
hid_run_binding(&binding->function, mode);
145147
}

Keypad.Firmware/src/led.c

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
#include "../configuration.h"
33
#include "led.h"
44

5-
#if !CONFIGURATION_DEBUG_MODE
6-
7-
#if NEO_COUNT > 0
5+
#if !CONFIGURATION_DEBUG_MODE && NEO_COUNT > 0
86
#include "neo/neo.h"
97

108
static enum led_keyboard_mode_t led_mode_s = LED_LOOP;
@@ -22,6 +20,16 @@ void led_set_color_hue(uint8_t led0, uint8_t led1, uint8_t led2)
2220
}
2321
}
2422

23+
void led_show_bootloader_indicator(void)
24+
{
25+
for (uint8_t i = 0; i < NEO_COUNT; ++i)
26+
{
27+
NEO_writeHue(i, NEO_BLUE, NEO_BRIGHT_KEYS);
28+
}
29+
current_led_s = -1;
30+
NEO_update();
31+
}
32+
2533
void led_set_mode(enum led_keyboard_mode_t mode)
2634
{
2735
led_mode_s = mode;
@@ -83,30 +91,4 @@ void led_update()
8391

8492
NEO_update();
8593
}
86-
87-
#else
88-
89-
void led_set_color_hue(uint8_t led0, uint8_t led1, uint8_t led2)
90-
{
91-
(void)led0;
92-
(void)led1;
93-
(void)led2;
94-
}
95-
96-
void led_set_mode(enum led_keyboard_mode_t mode)
97-
{
98-
(void)mode;
99-
}
100-
101-
void led_presskey(int key)
102-
{
103-
(void)key;
104-
}
105-
106-
void led_update()
107-
{
108-
}
109-
110-
#endif
111-
11294
#endif

Keypad.Firmware/src/led.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ void led_set_mode(enum led_keyboard_mode_t mode);
2222
// set led color in FIX mode
2323
void led_set_color_hue(uint8_t led0, uint8_t led1, uint8_t led2);
2424

25+
// show bootloader entry feedback
26+
void led_show_bootloader_indicator(void);
27+
2528
// update led task
2629
void led_update();
2730

0 commit comments

Comments
 (0)