Add support for RGB LEDs wired directly to each half's controller (#5392)
* Add support for wiring RGB LEDs for both halves directly to their respective controllers RGB LEDs for each half don't need to be chained together across the TRRS cable with this * Add split RGB LED support for serial * Update config/rules for bakingpy layout * Un-nest ifdefs for hand detection * Read RGB config state from memory instead of EEPROM for serial updates * Reuse existing LED pointer instead of creating new one
This commit is contained in:
parent
23086808a7
commit
f077204fae
10 changed files with 76 additions and 38 deletions
|
@ -11,25 +11,25 @@
|
|||
# include "eeconfig.h"
|
||||
#endif
|
||||
|
||||
#if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT)
|
||||
#include "rgblight.h"
|
||||
#endif
|
||||
|
||||
volatile bool isLeftHand = true;
|
||||
|
||||
__attribute__((weak))
|
||||
bool is_keyboard_left(void) {
|
||||
#ifdef SPLIT_HAND_PIN
|
||||
#if defined(SPLIT_HAND_PIN)
|
||||
// Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand
|
||||
setPinInput(SPLIT_HAND_PIN);
|
||||
return readPin(SPLIT_HAND_PIN);
|
||||
#else
|
||||
#ifdef EE_HANDS
|
||||
return eeprom_read_byte(EECONFIG_HANDEDNESS);
|
||||
#else
|
||||
#ifdef MASTER_RIGHT
|
||||
return !is_keyboard_master();
|
||||
#else
|
||||
return is_keyboard_master();
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(EE_HANDS)
|
||||
return eeprom_read_byte(EECONFIG_HANDEDNESS);
|
||||
#elif defined(MASTER_RIGHT)
|
||||
return !is_keyboard_master();
|
||||
#endif
|
||||
|
||||
return is_keyboard_master();
|
||||
}
|
||||
|
||||
bool is_keyboard_master(void)
|
||||
|
@ -71,6 +71,16 @@ void matrix_setup(void)
|
|||
{
|
||||
isLeftHand = is_keyboard_left();
|
||||
|
||||
#if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT)
|
||||
uint8_t num_rgb_leds_split[2] = RGBLED_SPLIT;
|
||||
if (isLeftHand) {
|
||||
rgblight_set_clipping_range(0, num_rgb_leds_split[0]);
|
||||
}
|
||||
else {
|
||||
rgblight_set_clipping_range(num_rgb_leds_split[0], num_rgb_leds_split[1]);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (is_keyboard_master())
|
||||
{
|
||||
keyboard_master_setup();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue