aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Rascher <jon@bcat.name>2019-11-03 16:30:15 -0600
committerfauxpark <fauxpark@gmail.com>2019-11-04 09:30:15 +1100
commit732d1dd4f6f9ec060b4b8332309c82ebb6c3ca25 (patch)
tree8c0161dd1eb1d9128f36f369beb6e84578acd937
parente9c44e396d21df990b1d08e8b4c30e288797dffe (diff)
downloadqmk_firmware-732d1dd4f6f9ec060b4b8332309c82ebb6c3ca25.tar.gz
qmk_firmware-732d1dd4f6f9ec060b4b8332309c82ebb6c3ca25.zip
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.)
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/config.h9
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/info.json4
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/mk1.c71
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/readme.md2
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/rules.mk8
5 files changed, 17 insertions, 77 deletions
diff --git a/keyboards/kbdfans/kbdpad/mk1/config.h b/keyboards/kbdfans/kbdpad/mk1/config.h
index 2c55d2aef..1f0b371af 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 <http://www.gnu.org/licenses/>.
27#define MATRIX_ROWS 6 27#define MATRIX_ROWS 6
28#define MATRIX_COLS 4 28#define MATRIX_COLS 4
29 29
30// 0 1 2 3 4 5
31#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 } 30#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 }
32#define MATRIX_COL_PINS { A0, A1, A2, A3 } 31#define MATRIX_COL_PINS { A0, A1, A2, A3 }
33#define UNUSED_PINS
34 32
35#define DIODE_DIRECTION COL2ROW 33#define DIODE_DIRECTION COL2ROW
36#define DEBOUNCE 5
37 34
38#define BACKLIGHT_LEVELS 1 35#define BACKLIGHT_PIN D4
36#define BACKLIGHT_BREATHING
37
38#define RGBLIGHT_ANIMATIONS
39#define RGBLED_NUM 6
diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/info.json
index 426a23b8d..4f0da62e8 100644
--- a/keyboards/kbdfans/kbdpad/mk1/info.json
+++ b/keyboards/kbdfans/kbdpad/mk1/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "keyboard_name": "KBDFans KBDPad MKI", 2 "keyboard_name": "KBDfans KBDPad MKI",
3 "url": "", 3 "url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 4, 5 "width": 4,
6 "height": 6.25, 6 "height": 6.25,
diff --git a/keyboards/kbdfans/kbdpad/mk1/mk1.c b/keyboards/kbdfans/kbdpad/mk1/mk1.c
index c17cb0084..71a47b7ba 100644
--- a/keyboards/kbdfans/kbdpad/mk1/mk1.c
+++ b/keyboards/kbdfans/kbdpad/mk1/mk1.c
@@ -13,76 +13,17 @@
13 * You should have received a copy of the GNU General Public License 13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "i2c_master.h"
17#include "quantum.h"
18 16
19#ifdef RGBLIGHT_ENABLE 17#include "quantum.h"
20#include "rgblight.h"
21extern rgblight_config_t rgblight_config;
22 18
23void rgblight_set(void) { 19#define NUMLOCK_PIN D0
24 if (!rgblight_config.enable) {
25 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
26 led[i].r = 0;
27 led[i].g = 0;
28 led[i].b = 0;
29 }
30 }
31
32 i2c_init();
33 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
34}
35#endif
36 20
37void matrix_init_kb(void) { 21void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE 22 setPinOutput(NUMLOCK_PIN);
39 if (rgblight_config.enable) {
40 i2c_init();
41 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
42 }
43#endif
44 // call user level keymaps, if any
45 matrix_init_user(); 23 matrix_init_user();
46} 24}
47 25
48void matrix_scan_kb(void) { 26void led_set_kb(uint8_t usb_led) {
49#ifdef RGBLIGHT_ENABLE 27 writePin(NUMLOCK_PIN, IS_LED_ON(usb_led, USB_LED_NUM_LOCK));
50 rgblight_task(); 28 led_set_user(usb_led);
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58} 29}
59
60void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output
62 setPinOutput(D0);
63 setPinOutput(D1);
64 setPinOutput(D4);
65 setPinOutput(D6);
66
67 // turn backlight LEDs on
68 writePinHigh(D0);
69 writePinHigh(D1);
70 writePinHigh(D4);
71 writePinHigh(D6);
72}
73
74void backlight_set(uint8_t level) {
75 if (level == 0) {
76 // turn backlight LEDs off
77 writePinLow(D0);
78 writePinLow(D1);
79 writePinLow(D4);
80 writePinLow(D6);
81 } else {
82 // turn backlight LEDs on
83 writePinHigh(D0);
84 writePinHigh(D1);
85 writePinHigh(D4);
86 writePinHigh(D6);
87 }
88} \ No newline at end of file
diff --git a/keyboards/kbdfans/kbdpad/mk1/readme.md b/keyboards/kbdfans/kbdpad/mk1/readme.md
index 569fb88a2..e808d8934 100644
--- a/keyboards/kbdfans/kbdpad/mk1/readme.md
+++ b/keyboards/kbdfans/kbdpad/mk1/readme.md
@@ -4,7 +4,7 @@ Custom numpad.
4 4
5Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) 5Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
6Hardware Supported: KBDPad MKI 6Hardware Supported: KBDPad MKI
7Hardware Availability: No longer available. 7Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit)
8 8
9 9
10Make example for this keyboard (after setting up your build environment): 10Make 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 e43baee5c..f1f740760 100644
--- a/keyboards/kbdfans/kbdpad/mk1/rules.mk
+++ b/keyboards/kbdfans/kbdpad/mk1/rules.mk
@@ -31,11 +31,9 @@ BOOTMAGIC_ENABLE = no
31MOUSEKEY_ENABLE = yes 31MOUSEKEY_ENABLE = yes
32EXTRAKEY_ENABLE = yes 32EXTRAKEY_ENABLE = yes
33CONSOLE_ENABLE = yes 33CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 34COMMAND_ENABLE = no
35BACKLIGHT_ENABLE = yes 35BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = no 36RGBLIGHT_ENABLE = no # PCB has underglow LEDs, but case doesn't let them show.
37RGBLIGHT_CUSTOM_DRIVER = no 37WS2812_DRIVER = i2c
38 38
39OPT_DEFS = -DDEBUG_LEVEL=0 39OPT_DEFS = -DDEBUG_LEVEL=0
40
41QUANTUM_LIB_SRC = i2c_master.c