~ruther/qmk_firmware

46a69d1f3bb0275819a8f9f2cd0911b77db6eff0 — Danny 5 years ago b56a418
[Keyboard] Quefrency Rev2 Caps Lock LED, set lighting defaults (#8729)

* Add support for Caps Lock LED

Currently ignores the fact that led_state is not synced between halves, so caps lock LED doesn't do anything if USB is plugged into right half

* Set initial backlight and RGB mode/values on blank EEPROM

* Set default VIA layout options

* Add backlight/RGB ifdefs

* Set bootloaders for each rev
M keyboards/keebio/quefrency/rev1/config.h => keyboards/keebio/quefrency/rev1/config.h +3 -0
@@ 55,3 55,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16    // Number of LEDs

// Set 65% column (option 1) and Macro (option 2) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x06

M keyboards/keebio/quefrency/rev1/rules.mk => keyboards/keebio/quefrency/rev1/rules.mk +1 -0
@@ 0,0 1,1 @@
BOOTLOADER = caterina

M keyboards/keebio/quefrency/rev2/config.h => keyboards/keebio/quefrency/rev2/config.h +5 -0
@@ 47,6 47,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DEBOUNCE 5

#define BACKLIGHT_PIN B5
#define CAPS_LOCK_LED_PIN B6

/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0


@@ 62,3 63,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_NUM 16    // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }

// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x0018
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

M keyboards/keebio/quefrency/rev2/rev2.c => keyboards/keebio/quefrency/rev2/rev2.c +31 -0
@@ 1,1 1,32 @@
#include "quefrency.h"
#include "split_util.h"

void matrix_init_kb(void) {
    setPinOutput(CAPS_LOCK_LED_PIN);
    matrix_init_user();
}

bool led_update_kb(led_t led_state) {
    // Only update if left half
    if (isLeftHand && led_update_user(led_state)) {
        writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
    }
    return true;
}

void eeconfig_init_kb(void) {
#ifdef BACKLIGHT_ENABLE
    backlight_enable();
    backlight_level(3);
#endif
#ifdef RGBLIGHT_ENABLE
    rgblight_enable(); // Enable RGB by default
    rgblight_sethsv(0, 255, 255);  // Set default HSV - red hue, full saturation, full brightness
#ifdef RGBLIGHT_ANIMATIONS
    rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
#endif
#endif

    eeconfig_update_kb(0);
    eeconfig_init_user();
}

M keyboards/keebio/quefrency/rev2/rules.mk => keyboards/keebio/quefrency/rev2/rules.mk +1 -0
@@ 1,3 1,4 @@
BOOTLOADER = atmel-dfu
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes

M keyboards/keebio/quefrency/rules.mk => keyboards/keebio/quefrency/rules.mk +3 -17
@@ 1,32 1,18 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = caterina

# Build Options
#   change to "no" to disable the options, or define them in the Makefile in
#   the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no        # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = yes         # Console for debug
COMMAND_ENABLE = no        # Commands for debug and configuration
CONSOLE_ENABLE = yes        # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
MIDI_ENABLE = no            # MIDI controls
AUDIO_ENABLE = no           # Audio output on port C6
UNICODE_ENABLE = no         # Unicode
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight.
RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend