From 732d1dd4f6f9ec060b4b8332309c82ebb6c3ca25 Mon Sep 17 00:00:00 2001 From: Jonathan Rascher Date: Sun, 3 Nov 2019 16:30:15 -0600 Subject: [PATCH] Fix KBDPad MKI backlight, Num Lock LEDs; clean up firmware a bit (#6883) * Update keyboard kit URL * Replace custom RGB driver with new one from #7183 * Replace backlight with standard impl * Remove some unnecessary default settings * Disable COMMAND since docs want it off by default (There's no working IS_COMMAND set for this board anyway, so it's already a nop.) --- keyboards/kbdfans/kbdpad/mk1/config.h | 9 ++-- keyboards/kbdfans/kbdpad/mk1/info.json | 4 +- keyboards/kbdfans/kbdpad/mk1/mk1.c | 71 +++----------------------- keyboards/kbdfans/kbdpad/mk1/readme.md | 2 +- keyboards/kbdfans/kbdpad/mk1/rules.mk | 8 ++- 5 files changed, 17 insertions(+), 77 deletions(-) diff --git a/keyboards/kbdfans/kbdpad/mk1/config.h b/keyboards/kbdfans/kbdpad/mk1/config.h index 2c55d2aef0..1f0b371af0 100644 --- a/keyboards/kbdfans/kbdpad/mk1/config.h +++ b/keyboards/kbdfans/kbdpad/mk1/config.h @@ -27,12 +27,13 @@ along with this program. If not, see . #define MATRIX_ROWS 6 #define MATRIX_COLS 4 -// 0 1 2 3 4 5 #define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 } #define MATRIX_COL_PINS { A0, A1, A2, A3 } -#define UNUSED_PINS #define DIODE_DIRECTION COL2ROW -#define DEBOUNCE 5 -#define BACKLIGHT_LEVELS 1 +#define BACKLIGHT_PIN D4 +#define BACKLIGHT_BREATHING + +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 6 diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/info.json index 426a23b8d5..4f0da62e83 100644 --- a/keyboards/kbdfans/kbdpad/mk1/info.json +++ b/keyboards/kbdfans/kbdpad/mk1/info.json @@ -1,6 +1,6 @@ { - "keyboard_name": "KBDFans KBDPad MKI", - "url": "", + "keyboard_name": "KBDfans KBDPad MKI", + "url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit", "maintainer": "qmk", "width": 4, "height": 6.25, diff --git a/keyboards/kbdfans/kbdpad/mk1/mk1.c b/keyboards/kbdfans/kbdpad/mk1/mk1.c index c17cb00848..71a47b7ba9 100644 --- a/keyboards/kbdfans/kbdpad/mk1/mk1.c +++ b/keyboards/kbdfans/kbdpad/mk1/mk1.c @@ -13,76 +13,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "i2c_master.h" + #include "quantum.h" -#ifdef RGBLIGHT_ENABLE -#include "rgblight.h" -extern rgblight_config_t rgblight_config; - -void rgblight_set(void) { - if (!rgblight_config.enable) { - for (uint8_t i = 0; i < RGBLED_NUM; i++) { - led[i].r = 0; - led[i].g = 0; - led[i].b = 0; - } - } - - i2c_init(); - i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); -} -#endif +#define NUMLOCK_PIN D0 void matrix_init_kb(void) { -#ifdef RGBLIGHT_ENABLE - if (rgblight_config.enable) { - i2c_init(); - i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); - } -#endif - // call user level keymaps, if any + setPinOutput(NUMLOCK_PIN); matrix_init_user(); } -void matrix_scan_kb(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_task(); -#endif - matrix_scan_user(); - /* Nothing else for now. */ +void led_set_kb(uint8_t usb_led) { + writePin(NUMLOCK_PIN, IS_LED_ON(usb_led, USB_LED_NUM_LOCK)); + led_set_user(usb_led); } - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -void backlight_init_ports(void) { - // initialize pins D0, D1, D4 and D6 as output - setPinOutput(D0); - setPinOutput(D1); - setPinOutput(D4); - setPinOutput(D6); - - // turn backlight LEDs on - writePinHigh(D0); - writePinHigh(D1); - writePinHigh(D4); - writePinHigh(D6); -} - -void backlight_set(uint8_t level) { - if (level == 0) { - // turn backlight LEDs off - writePinLow(D0); - writePinLow(D1); - writePinLow(D4); - writePinLow(D6); - } else { - // turn backlight LEDs on - writePinHigh(D0); - writePinHigh(D1); - writePinHigh(D4); - writePinHigh(D6); - } -} \ No newline at end of file diff --git a/keyboards/kbdfans/kbdpad/mk1/readme.md b/keyboards/kbdfans/kbdpad/mk1/readme.md index 569fb88a22..e808d89347 100644 --- a/keyboards/kbdfans/kbdpad/mk1/readme.md +++ b/keyboards/kbdfans/kbdpad/mk1/readme.md @@ -4,7 +4,7 @@ Custom numpad. Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) Hardware Supported: KBDPad MKI -Hardware Availability: No longer available. +Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbdpad/mk1/rules.mk b/keyboards/kbdfans/kbdpad/mk1/rules.mk index e43baee5c5..f1f740760a 100644 --- a/keyboards/kbdfans/kbdpad/mk1/rules.mk +++ b/keyboards/kbdfans/kbdpad/mk1/rules.mk @@ -31,11 +31,9 @@ BOOTMAGIC_ENABLE = no MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = yes -COMMAND_ENABLE = yes +COMMAND_ENABLE = no BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = no -RGBLIGHT_CUSTOM_DRIVER = no +RGBLIGHT_ENABLE = no # PCB has underglow LEDs, but case doesn't let them show. +WS2812_DRIVER = i2c OPT_DEFS = -DDEBUG_LEVEL=0 - -QUANTUM_LIB_SRC = i2c_master.c