aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-11-05 11:05:03 +1100
committerDrashna Jaelre <drashna@live.com>2019-11-04 16:05:03 -0800
commitefa28d0f5cca55b0dfecaddd0860ec3dfeab8bb0 (patch)
treeaab048a027771fa8ab55b535bce64e101e861680
parent0a9a69394e132c3d00eddffd2e345f48113e56c4 (diff)
downloadqmk_firmware-efa28d0f5cca55b0dfecaddd0860ec3dfeab8bb0.tar.gz
qmk_firmware-efa28d0f5cca55b0dfecaddd0860ec3dfeab8bb0.zip
Convert some PS2AVRGB boards to I2C WS2812 driver (#7241)
* Convert some PS2AVRGB boards to I2C WS2812 driver * Fix Travis failure for bface
-rw-r--r--keyboards/ares/ares.c72
-rw-r--r--keyboards/ares/rules.mk19
-rw-r--r--keyboards/donutcables/budget96/budget96.c71
-rw-r--r--keyboards/donutcables/budget96/rules.mk20
-rw-r--r--keyboards/eve/meteor/meteor.c50
-rw-r--r--keyboards/eve/meteor/rules.mk19
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/le_bmc.c51
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/rules.mk3
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/oe_bmc.c63
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/rules.mk3
-rw-r--r--keyboards/exent/exent.c73
-rw-r--r--keyboards/exent/rules.mk4
-rw-r--r--keyboards/facew/facew.c54
-rw-r--r--keyboards/facew/rules.mk20
-rw-r--r--keyboards/ft/mars80/mars80.c52
-rw-r--r--keyboards/ft/mars80/rules.mk19
-rw-r--r--keyboards/gray_studio/hb85/hb85.c40
-rw-r--r--keyboards/gray_studio/hb85/rules.mk19
-rw-r--r--keyboards/jj4x4/jj4x4.c37
-rw-r--r--keyboards/jj4x4/rules.mk19
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/mk1.c2
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/rules.mk15
-rw-r--r--keyboards/panc60/panc60.c55
-rw-r--r--keyboards/panc60/rules.mk20
-rw-r--r--keyboards/pearl/pearl.c52
-rw-r--r--keyboards/pearl/rules.mk20
-rw-r--r--keyboards/percent/skog_lite/rules.mk19
-rw-r--r--keyboards/percent/skog_lite/skog_lite.c49
-rw-r--r--keyboards/singa/rules.mk19
-rw-r--r--keyboards/singa/singa.c49
-rw-r--r--keyboards/tgr/alice/alice.c39
-rw-r--r--keyboards/tgr/alice/rules.mk19
-rw-r--r--keyboards/tgr/jane/jane.c51
-rw-r--r--keyboards/tgr/jane/rules.mk19
-rw-r--r--keyboards/unikorn/readme.md1
-rw-r--r--keyboards/unikorn/rules.mk19
-rw-r--r--keyboards/unikorn/unikorn.c50
-rw-r--r--keyboards/winkeyless/bface/bface.c49
-rw-r--r--keyboards/winkeyless/bface/bface.h4
-rw-r--r--keyboards/winkeyless/bface/rules.mk20
40 files changed, 122 insertions, 1157 deletions
diff --git a/keyboards/ares/ares.c b/keyboards/ares/ares.c
index 85c7435ed..07276491c 100644
--- a/keyboards/ares/ares.c
+++ b/keyboards/ares/ares.c
@@ -17,50 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#include "ares.h" 18#include "ares.h"
19 19
20#ifdef RGBLIGHT_ENABLE
21
22#include <string.h>
23#include "i2c_master.h"
24#include "rgblight.h"
25
26extern rgblight_config_t rgblight_config;
27
28void matrix_init_kb(void) {
29 i2c_init();
30 // call user level keymaps, if any
31 matrix_init_user();
32}
33
34// custom RGB driver
35void rgblight_set(void) {
36 if (!rgblight_config.enable) {
37 memset(led, 0, 3 * RGBLED_NUM);
38 }
39
40 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
41}
42
43bool rgb_init = false;
44
45void matrix_scan_kb(void) {
46 // if LEDs were previously on before poweroff, turn them back on
47 if (rgb_init == false && rgblight_config.enable) {
48 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
49 rgb_init = true;
50 }
51
52 rgblight_task();
53 matrix_scan_user();
54}
55
56#endif
57
58#ifdef BACKLIGHT_ENABLE 20#ifdef BACKLIGHT_ENABLE
59void backlight_init_ports(void) { 21void backlight_init_ports(void) {
60 setPinOutput(D0); 22 setPinOutput(D0);
61 setPinOutput(D1); 23 setPinOutput(D1);
62 setPinOutput(D4); 24 setPinOutput(D4);
63 setPinOutput(D6); 25 setPinOutput(D6);
64} 26}
65 27
66void backlight_set(uint8_t level) { 28void backlight_set(uint8_t level) {
@@ -79,29 +41,3 @@ void backlight_set(uint8_t level) {
79 } 41 }
80} 42}
81#endif 43#endif
82
83// Optional override functions below.
84// You can leave any or all of these undefined.
85// These are only required if you want to perform custom actions.
86
87/*
88void matrix_init_kb(void) {
89 // put your keyboard start-up code here
90 // runs once when the firmware starts up
91 matrix_init_user();
92}
93void matrix_scan_kb(void) {
94 // put your looping keyboard code here
95 // runs every cycle (a lot)
96 matrix_scan_user();
97}
98bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
99 // put your per-action keyboard code here
100 // runs for every action, just before processing by the firmware
101 return process_record_user(keycode, record);
102}
103void led_set_kb(uint8_t usb_led) {
104 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
105 led_set_user(usb_led);
106}
107*/ \ No newline at end of file
diff --git a/keyboards/ares/rules.mk b/keyboards/ares/rules.mk
index 3ac90cf97..58d36bc67 100644
--- a/keyboards/ares/rules.mk
+++ b/keyboards/ares/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = no 20BACKLIGHT_ENABLE = no
36RGBLIGHT_ENABLE = no 21RGBLIGHT_ENABLE = no
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41SRC += i2c_master.c
diff --git a/keyboards/donutcables/budget96/budget96.c b/keyboards/donutcables/budget96/budget96.c
index 2fc826f09..e9125a3e6 100644
--- a/keyboards/donutcables/budget96/budget96.c
+++ b/keyboards/donutcables/budget96/budget96.c
@@ -13,61 +13,8 @@
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 "budget96.h"
17
18#ifdef BACKLIGHT_ENABLE
19#include "backlight.h"
20#endif
21#ifdef RGBLIGHT_ENABLE
22#include "rgblight.h"
23#endif
24
25#include <avr/pgmspace.h>
26
27#include "action_layer.h"
28#include "i2c_master.h"
29#include "quantum.h"
30
31__attribute__ ((weak))
32void matrix_scan_user(void) {
33}
34
35#ifdef RGBLIGHT_ENABLE
36extern rgblight_config_t rgblight_config;
37
38void rgblight_set(void) {
39 if (!rgblight_config.enable) {
40 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
41 led[i].r = 0;
42 led[i].g = 0;
43 led[i].b = 0;
44 }
45 }
46
47 i2c_init();
48 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
49}
50#endif
51
52void matrix_init_kb(void) {
53#ifdef RGBLIGHT_ENABLE
54 if (rgblight_config.enable) {
55 i2c_init();
56 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
57 }
58#endif
59 // call user level keymaps, if any
60 matrix_init_user();
61}
62
63void matrix_scan_kb(void) {
64#ifdef RGBLIGHT_ENABLE
65 rgblight_task();
66#endif
67 matrix_scan_user();
68 /* Nothing else for now. */
69}
70 16
17#include "budget96.h"
71 18
72void backlight_init_ports(void) { 19void backlight_init_ports(void) {
73 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -76,25 +23,25 @@ void backlight_init_ports(void) {
76 setPinOutput(D4); 23 setPinOutput(D4);
77 setPinOutput(D6); 24 setPinOutput(D6);
78 25
79 // turn RGB LEDs on 26 // turn backlight LEDs on
80 writePinHigh(D0); 27 writePinHigh(D0);
81 writePinHigh(D1); 28 writePinHigh(D1);
82 writePinHigh(D4); 29 writePinHigh(D4);
83 writePinHigh(D6); 30 writePinHigh(D6);
84} 31}
85 32
86 void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
87 if (level == 0) { 34 if (level == 0) {
88 // turn RGB LEDs off 35 // turn backlight LEDs off
89 writePinLow(D0); 36 writePinLow(D0);
90 writePinLow(D1); 37 writePinLow(D1);
91 writePinLow(D4); 38 writePinLow(D4);
92 writePinLow(D6); 39 writePinLow(D6);
93 } else { 40 } else {
94 // turn RGB LEDs on 41 // turn backlight LEDs on
95 writePinHigh(D0); 42 writePinHigh(D0);
96 writePinHigh(D1); 43 writePinHigh(D1);
97 writePinHigh(D4); 44 writePinHigh(D4);
98 writePinHigh(D6); 45 writePinHigh(D6);
99 } 46 }
100 } 47}
diff --git a/keyboards/donutcables/budget96/rules.mk b/keyboards/donutcables/budget96/rules.mk
index 4f9e0e412..54328d248 100644
--- a/keyboards/donutcables/budget96/rules.mk
+++ b/keyboards/donutcables/budget96/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,9 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41# custom matrix setup
42SRC = i2c_master.c
diff --git a/keyboards/eve/meteor/meteor.c b/keyboards/eve/meteor/meteor.c
index 1bd47ef9e..f5ecbad02 100644
--- a/keyboards/eve/meteor/meteor.c
+++ b/keyboards/eve/meteor/meteor.c
@@ -14,49 +14,7 @@
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 16
17#include "i2c_master.h" 17#include "meteor.h"
18#include "quantum.h"
19
20#ifdef RGBLIGHT_ENABLE
21#include "rgblight.h"
22extern rgblight_config_t rgblight_config;
23
24void rgblight_set(void) {
25 if (!rgblight_config.enable) {
26 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
27 led[i].r = 0;
28 led[i].g = 0;
29 led[i].b = 0;
30 }
31 }
32
33 i2c_init();
34 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
35}
36#endif
37
38void matrix_init_kb(void) {
39#ifdef RGBLIGHT_ENABLE
40 if (rgblight_config.enable) {
41 i2c_init();
42 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
43 }
44#endif
45 // call user level keymaps, if any
46 matrix_init_user();
47}
48
49void matrix_scan_kb(void) {
50#ifdef RGBLIGHT_ENABLE
51 rgblight_task();
52#endif
53 matrix_scan_user();
54 /* Nothing else for now. */
55}
56
57__attribute__ ((weak))
58void matrix_scan_user(void) {
59}
60 18
61void backlight_init_ports(void) { 19void backlight_init_ports(void) {
62 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -73,17 +31,17 @@ void backlight_init_ports(void) {
73} 31}
74 32
75void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
76 if (level == 0) { 34 if (level == 0) {
77 // turn backlight LEDs off 35 // turn backlight LEDs off
78 writePinLow(D0); 36 writePinLow(D0);
79 writePinLow(D1); 37 writePinLow(D1);
80 writePinLow(D4); 38 writePinLow(D4);
81 writePinLow(D6); 39 writePinLow(D6);
82 } else { 40 } else {
83 // turn backlight LEDs on 41 // turn backlight LEDs on
84 writePinHigh(D0); 42 writePinHigh(D0);
85 writePinHigh(D1); 43 writePinHigh(D1);
86 writePinHigh(D4); 44 writePinHigh(D4);
87 writePinHigh(D6); 45 writePinHigh(D6);
88 } 46 }
89} 47}
diff --git a/keyboards/eve/meteor/rules.mk b/keyboards/eve/meteor/rules.mk
index e43baee5c..e57c21c85 100644
--- a/keyboards/eve/meteor/rules.mk
+++ b/keyboards/eve/meteor/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = no 21RGBLIGHT_ENABLE = no
37RGBLIGHT_CUSTOM_DRIVER = no 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41QUANTUM_LIB_SRC = i2c_master.c
diff --git a/keyboards/exclusive/e6v2/le_bmc/le_bmc.c b/keyboards/exclusive/e6v2/le_bmc/le_bmc.c
index 5f7ef25b2..e3b81c81b 100644
--- a/keyboards/exclusive/e6v2/le_bmc/le_bmc.c
+++ b/keyboards/exclusive/e6v2/le_bmc/le_bmc.c
@@ -13,49 +13,8 @@
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 "rgblight.h"
17#include "i2c_master.h"
18#include "quantum.h"
19 16
20#ifdef RGBLIGHT_ENABLE 17#include "le_bmc.h"
21extern rgblight_config_t rgblight_config;
22
23void rgblight_set(void) {
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
37void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE
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();
46}
47
48void matrix_scan_kb(void) {
49#ifdef RGBLIGHT_ENABLE
50 rgblight_task();
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58}
59 18
60void backlight_init_ports(void) { 19void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,17 +31,17 @@ void backlight_init_ports(void) {
72} 31}
73 32
74void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
75 if (level == 0) { 34 if (level == 0) {
76 // turn backlight LEDs off 35 // turn backlight LEDs off
77 writePinLow(D0); 36 writePinLow(D0);
78 writePinLow(D1); 37 writePinLow(D1);
79 writePinLow(D4); 38 writePinLow(D4);
80 writePinLow(D6); 39 writePinLow(D6);
81 } else { 40 } else {
82 // turn backlight LEDs on 41 // turn backlight LEDs on
83 writePinHigh(D0); 42 writePinHigh(D0);
84 writePinHigh(D1); 43 writePinHigh(D1);
85 writePinHigh(D4); 44 writePinHigh(D4);
86 writePinHigh(D6); 45 writePinHigh(D6);
87 } 46 }
88} \ No newline at end of file 47}
diff --git a/keyboards/exclusive/e6v2/le_bmc/rules.mk b/keyboards/exclusive/e6v2/le_bmc/rules.mk
index 13a5f1b89..106044ba7 100644
--- a/keyboards/exclusive/e6v2/le_bmc/rules.mk
+++ b/keyboards/exclusive/e6v2/le_bmc/rules.mk
@@ -24,7 +24,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover 25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default 26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
27RGBLIGHT_CUSTOM_DRIVER = yes 27WS2812_DRIVER = i2c
28RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 28RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
29MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) 29MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
30UNICODE_ENABLE = no # Unicode 30UNICODE_ENABLE = no # Unicode
@@ -34,4 +34,3 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
34HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) 34HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
35 35
36OPT_DEFS = -DDEBUG_LEVEL=0 36OPT_DEFS = -DDEBUG_LEVEL=0
37SRC += i2c_master.c
diff --git a/keyboards/exclusive/e6v2/oe_bmc/oe_bmc.c b/keyboards/exclusive/e6v2/oe_bmc/oe_bmc.c
index 5357550ae..97d354653 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/oe_bmc.c
+++ b/keyboards/exclusive/e6v2/oe_bmc/oe_bmc.c
@@ -13,57 +13,8 @@
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 "oe_bmc.h"
17#include "rgblight.h"
18#include "i2c_master.h"
19
20void matrix_init_kb(void) {
21 // put your keyboard start-up code here
22 // runs once when the firmware starts up
23
24 matrix_init_user();
25}
26
27void matrix_scan_kb(void) {
28 // put your looping keyboard code here
29 // runs every cycle (a lot)
30
31 matrix_scan_user();
32}
33
34bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
35 // put your per-action keyboard code here
36 // runs for every action, just before processing by the firmware
37
38 return process_record_user(keycode, record);
39}
40
41void led_set_kb(uint8_t usb_led) {
42 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
43 16
44 led_set_user(usb_led); 17#include "oe_bmc.h"
45}
46
47#ifdef RGBLIGHT_ENABLE
48extern rgblight_config_t rgblight_config;
49
50void rgblight_set(void) {
51 if (!rgblight_config.enable) {
52 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
53 led[i].r = 0;
54 led[i].g = 0;
55 led[i].b = 0;
56 }
57 }
58
59 i2c_init();
60 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
61}
62#endif
63
64__attribute__ ((weak))
65void matrix_scan_user(void) {
66}
67 18
68void backlight_init_ports(void) { 19void backlight_init_ports(void) {
69 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,7 +23,7 @@ void backlight_init_ports(void) {
72 setPinOutput(D4); 23 setPinOutput(D4);
73 setPinOutput(D6); 24 setPinOutput(D6);
74 25
75 // turn RGB LEDs on 26 // turn backlight LEDs on
76 writePinHigh(D0); 27 writePinHigh(D0);
77 writePinHigh(D1); 28 writePinHigh(D1);
78 writePinHigh(D4); 29 writePinHigh(D4);
@@ -80,17 +31,17 @@ void backlight_init_ports(void) {
80} 31}
81 32
82void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
83 if (level == 0) { 34 if (level == 0) {
84 // turn RGB LEDs off 35 // turn backlight LEDs off
85 writePinLow(D0); 36 writePinLow(D0);
86 writePinLow(D1); 37 writePinLow(D1);
87 writePinLow(D4); 38 writePinLow(D4);
88 writePinLow(D6); 39 writePinLow(D6);
89 } else { 40 } else {
90 // turn RGB LEDs on 41 // turn backlight LEDs on
91 writePinHigh(D0); 42 writePinHigh(D0);
92 writePinHigh(D1); 43 writePinHigh(D1);
93 writePinHigh(D4); 44 writePinHigh(D4);
94 writePinHigh(D6); 45 writePinHigh(D6);
95 } 46 }
96} 47}
diff --git a/keyboards/exclusive/e6v2/oe_bmc/rules.mk b/keyboards/exclusive/e6v2/oe_bmc/rules.mk
index 13a5f1b89..106044ba7 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/rules.mk
+++ b/keyboards/exclusive/e6v2/oe_bmc/rules.mk
@@ -24,7 +24,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover 25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default 26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
27RGBLIGHT_CUSTOM_DRIVER = yes 27WS2812_DRIVER = i2c
28RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 28RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
29MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) 29MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
30UNICODE_ENABLE = no # Unicode 30UNICODE_ENABLE = no # Unicode
@@ -34,4 +34,3 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
34HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) 34HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
35 35
36OPT_DEFS = -DDEBUG_LEVEL=0 36OPT_DEFS = -DDEBUG_LEVEL=0
37SRC += i2c_master.c
diff --git a/keyboards/exent/exent.c b/keyboards/exent/exent.c
index 00cd20aff..82066f7e8 100644
--- a/keyboards/exent/exent.c
+++ b/keyboards/exent/exent.c
@@ -15,76 +15,3 @@
15 */ 15 */
16 16
17#include "exent.h" 17#include "exent.h"
18
19#ifdef RGBLIGHT_ENABLE
20
21# include <string.h>
22# include "i2c_master.h"
23# include "rgblight.h"
24
25extern rgblight_config_t rgblight_config;
26
27void matrix_init_kb(void) {
28 i2c_init();
29 // call user level keymaps, if any
30 matrix_init_user();
31}
32
33// custom RGB driver
34void rgblight_set(void) {
35 if (!rgblight_config.enable) {
36 memset(led, 0, 3 * RGBLED_NUM);
37 }
38
39 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
40}
41
42bool rgb_init = false;
43
44void matrix_scan_kb(void) {
45 // if LEDs were previously on before poweroff, turn them back on
46 if (rgb_init == false && rgblight_config.enable) {
47 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
48 rgb_init = true;
49 }
50
51 rgblight_task();
52 matrix_scan_user();
53}
54
55#endif
56
57// Optional override functions below.
58// You can leave any or all of these undefined.
59// These are only required if you want to perform custom actions.
60
61/*
62
63void matrix_init_kb(void) {
64 // put your keyboard start-up code here
65 // runs once when the firmware starts up
66
67 matrix_init_user();
68}
69
70void matrix_scan_kb(void) {
71 // put your looping keyboard code here
72 // runs every cycle (a lot)
73
74 matrix_scan_user();
75}
76
77bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
78 // put your per-action keyboard code here
79 // runs for every action, just before processing by the firmware
80
81 return process_record_user(keycode, record);
82}
83
84void led_set_kb(uint8_t usb_led) {
85 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
86
87 led_set_user(usb_led);
88}
89
90*/
diff --git a/keyboards/exent/rules.mk b/keyboards/exent/rules.mk
index a49f32058..10442b31b 100644
--- a/keyboards/exent/rules.mk
+++ b/keyboards/exent/rules.mk
@@ -19,10 +19,8 @@ CONSOLE_ENABLE = yes
19COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
20BACKLIGHT_ENABLE = no 20BACKLIGHT_ENABLE = no
21RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
22RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
23 23
24OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
25 25
26SRC += i2c_master.c
27
28LAYOUTS = 65_ansi 65_iso 26LAYOUTS = 65_ansi 65_iso
diff --git a/keyboards/facew/facew.c b/keyboards/facew/facew.c
index 7ec56548b..fa58f0cf7 100644
--- a/keyboards/facew/facew.c
+++ b/keyboards/facew/facew.c
@@ -16,51 +16,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include "facew.h" 18#include "facew.h"
19#ifdef BACKLIGHT_ENABLE
20#include "backlight.h"
21#endif
22#ifdef RGBLIGHT_ENABLE
23#include "rgblight.h"
24#endif
25
26#include <avr/pgmspace.h>
27
28#include "action_layer.h"
29#include "i2c_master.h"
30#include "quantum.h"
31
32#ifdef RGBLIGHT_ENABLE
33extern rgblight_config_t rgblight_config;
34
35void rgblight_set(void) {
36 if (!rgblight_config.enable) {
37 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
38 led[i].r = 0;
39 led[i].g = 0;
40 led[i].b = 0;
41 }
42 }
43
44 i2c_init();
45 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
46}
47#endif
48
49__attribute__ ((weak))
50void matrix_scan_user(void) {
51}
52 19
53void backlight_init_ports(void) { 20void backlight_init_ports(void) {
54 DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6); 21 setPinOutput(D0);
55 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6); 22 setPinOutput(D1);
23 setPinOutput(D4);
24 setPinOutput(D6);
25
26 writePinLow(D0);
27 writePinLow(D1);
28 writePinLow(D4);
29 writePinLow(D6);
56} 30}
57 31
58void backlight_set(uint8_t level) { 32void backlight_set(uint8_t level) {
59 if (level == 0) { 33 if (level == 0) {
60 // Turn out the lights 34 // Turn out the lights
61 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6); 35 writePinLow(D0);
36 writePinLow(D1);
37 writePinLow(D4);
38 writePinLow(D6);
62 } else { 39 } else {
63 // Turn on the lights 40 // Turn on the lights
64 PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6); 41 writePinHigh(D0);
42 writePinHigh(D1);
43 writePinHigh(D4);
44 writePinHigh(D6);
65 } 45 }
66} 46}
diff --git a/keyboards/facew/rules.mk b/keyboards/facew/rules.mk
index c9942e369..c4117d15d 100644
--- a/keyboards/facew/rules.mk
+++ b/keyboards/facew/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,11 +19,8 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40 25
41# custom matrix setup
42SRC = i2c_master.c
43
44LAYOUTS = 60_ansi 26LAYOUTS = 60_ansi
diff --git a/keyboards/ft/mars80/mars80.c b/keyboards/ft/mars80/mars80.c
index 754345082..8e5127408 100644
--- a/keyboards/ft/mars80/mars80.c
+++ b/keyboards/ft/mars80/mars80.c
@@ -16,50 +16,6 @@
16 16
17#include "mars80.h" 17#include "mars80.h"
18 18
19#include "rgblight.h"
20#include "i2c_master.h"
21#include "quantum.h"
22
23#ifdef RGBLIGHT_ENABLE
24extern rgblight_config_t rgblight_config;
25
26void rgblight_set(void) {
27 if (!rgblight_config.enable) {
28 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
29 led[i].r = 0;
30 led[i].g = 0;
31 led[i].b = 0;
32 }
33 }
34
35 i2c_init();
36 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
37}
38#endif
39
40void matrix_init_kb(void) {
41#ifdef RGBLIGHT_ENABLE
42 if (rgblight_config.enable) {
43 i2c_init();
44 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
45 }
46#endif
47 // call user level keymaps, if any
48 matrix_init_user();
49}
50
51void matrix_scan_kb(void) {
52#ifdef RGBLIGHT_ENABLE
53 rgblight_task();
54#endif
55 matrix_scan_user();
56 /* Nothing else for now. */
57}
58
59__attribute__ ((weak))
60void matrix_scan_user(void) {
61}
62
63void backlight_init_ports(void) { 19void backlight_init_ports(void) {
64 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
65 setPinOutput(D0); 21 setPinOutput(D0);
@@ -75,17 +31,17 @@ void backlight_init_ports(void) {
75} 31}
76 32
77void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
78 if (level == 0) { 34 if (level == 0) {
79 // turn backlight LEDs off 35 // turn backlight LEDs off
80 writePinLow(D0); 36 writePinLow(D0);
81 writePinLow(D1); 37 writePinLow(D1);
82 writePinLow(D4); 38 writePinLow(D4);
83 writePinLow(D6); 39 writePinLow(D6);
84 } else { 40 } else {
85 // turn backlight LEDs on 41 // turn backlight LEDs on
86 writePinHigh(D0); 42 writePinHigh(D0);
87 writePinHigh(D1); 43 writePinHigh(D1);
88 writePinHigh(D4); 44 writePinHigh(D4);
89 writePinHigh(D6); 45 writePinHigh(D6);
90 } 46 }
91} \ No newline at end of file 47}
diff --git a/keyboards/ft/mars80/rules.mk b/keyboards/ft/mars80/rules.mk
index f1c79b196..de85d62c8 100644
--- a/keyboards/ft/mars80/rules.mk
+++ b/keyboards/ft/mars80/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2019 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,10 +19,8 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40 25
41SRC += i2c_master.c
42
43LAYOUTS = tkl_ansi tkl_iso 26LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/gray_studio/hb85/hb85.c b/keyboards/gray_studio/hb85/hb85.c
index 3e4202358..21562b9e0 100644
--- a/keyboards/gray_studio/hb85/hb85.c
+++ b/keyboards/gray_studio/hb85/hb85.c
@@ -16,33 +16,7 @@ You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>. 16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#include <string.h> 19#include "hb85.h"
20
21#include "rgblight.h"
22
23#include "i2c_master.h"
24#include "quantum.h"
25
26#ifdef RGBLIGHT_ENABLE
27extern rgblight_config_t rgblight_config;
28
29void rgblight_set(void) {
30 if (!rgblight_config.enable) {
31 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
32 led[i].r = 0;
33 led[i].g = 0;
34 led[i].b = 0;
35 }
36 }
37
38 i2c_init();
39 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
40}
41#endif
42
43__attribute__ ((weak))
44void matrix_scan_user(void) {
45}
46 20
47void backlight_init_ports(void) { 21void backlight_init_ports(void) {
48 // initialize pins D0, D1, D4 and D6 as output 22 // initialize pins D0, D1, D4 and D6 as output
@@ -51,7 +25,7 @@ void backlight_init_ports(void) {
51 setPinOutput(D4); 25 setPinOutput(D4);
52 setPinOutput(D6); 26 setPinOutput(D6);
53 27
54 // turn RGB LEDs on 28 // turn backlight LEDs on
55 writePinHigh(D0); 29 writePinHigh(D0);
56 writePinHigh(D1); 30 writePinHigh(D1);
57 writePinHigh(D4); 31 writePinHigh(D4);
@@ -59,17 +33,17 @@ void backlight_init_ports(void) {
59} 33}
60 34
61void backlight_set(uint8_t level) { 35void backlight_set(uint8_t level) {
62 if (level == 0) { 36 if (level == 0) {
63 // turn RGB LEDs off 37 // turn backlight LEDs off
64 writePinLow(D0); 38 writePinLow(D0);
65 writePinLow(D1); 39 writePinLow(D1);
66 writePinLow(D4); 40 writePinLow(D4);
67 writePinLow(D6); 41 writePinLow(D6);
68 } else { 42 } else {
69 // turn RGB LEDs on 43 // turn backlight LEDs on
70 writePinHigh(D0); 44 writePinHigh(D0);
71 writePinHigh(D1); 45 writePinHigh(D1);
72 writePinHigh(D4); 46 writePinHigh(D4);
73 writePinHigh(D6); 47 writePinHigh(D6);
74 } 48 }
75} 49}
diff --git a/keyboards/gray_studio/hb85/rules.mk b/keyboards/gray_studio/hb85/rules.mk
index 5339aad89..ec57b03dc 100644
--- a/keyboards/gray_studio/hb85/rules.mk
+++ b/keyboards/gray_studio/hb85/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2019 fcoury <felipe.coury@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = no 20BACKLIGHT_ENABLE = no
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41SRC += i2c_master.c
diff --git a/keyboards/jj4x4/jj4x4.c b/keyboards/jj4x4/jj4x4.c
index 265508b2d..6330c89de 100644
--- a/keyboards/jj4x4/jj4x4.c
+++ b/keyboards/jj4x4/jj4x4.c
@@ -17,40 +17,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
18 18
19#include "jj4x4.h" 19#include "jj4x4.h"
20
21#ifdef RGBLIGHT_ENABLE
22
23#include <string.h>
24#include "i2c_master.h"
25#include "rgblight.h"
26
27extern rgblight_config_t rgblight_config;
28
29void matrix_init_kb(void) {
30 i2c_init();
31 // call user level keymaps, if any
32 matrix_init_user();
33}
34// custom RGB driver
35void rgblight_set(void) {
36 if (!rgblight_config.enable) {
37 memset(led, 0, 3 * RGBLED_NUM);
38 }
39
40 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
41}
42
43bool rgb_init = false;
44
45void matrix_scan_kb(void) {
46 // if LEDs were previously on before poweroff, turn them back on
47 if (rgb_init == false && rgblight_config.enable) {
48 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
49 rgb_init = true;
50 }
51
52 rgblight_task();
53 matrix_scan_user();
54}
55
56#endif
diff --git a/keyboards/jj4x4/rules.mk b/keyboards/jj4x4/rules.mk
index fedc525f8..aa74cc7c9 100644
--- a/keyboards/jj4x4/rules.mk
+++ b/keyboards/jj4x4/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -40,7 +25,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
40NKRO_ENABLE = no # USB Nkey Rollover 25NKRO_ENABLE = no # USB Nkey Rollover
41BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default 26BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
42RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow 27RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
43RGBLIGHT_CUSTOM_DRIVER = yes 28WS2812_DRIVER = i2c
44MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) 29MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
45UNICODE_ENABLE = no # Unicode 30UNICODE_ENABLE = no # Unicode
46BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 31BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
@@ -48,6 +33,4 @@ AUDIO_ENABLE = no # Audio output on port C6
48FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches 33FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
49HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) 34HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
50 35
51SRC += i2c_master.c
52
53LAYOUTS = ortho_4x4 36LAYOUTS = ortho_4x4
diff --git a/keyboards/kbdfans/kbdpad/mk1/mk1.c b/keyboards/kbdfans/kbdpad/mk1/mk1.c
index 71a47b7ba..aa781875c 100644
--- a/keyboards/kbdfans/kbdpad/mk1/mk1.c
+++ b/keyboards/kbdfans/kbdpad/mk1/mk1.c
@@ -14,7 +14,7 @@
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 16
17#include "quantum.h" 17#include "mk1.h"
18 18
19#define NUMLOCK_PIN D0 19#define NUMLOCK_PIN D0
20 20
diff --git a/keyboards/kbdfans/kbdpad/mk1/rules.mk b/keyboards/kbdfans/kbdpad/mk1/rules.mk
index f1f740760..b4cd885b1 100644
--- a/keyboards/kbdfans/kbdpad/mk1/rules.mk
+++ b/keyboards/kbdfans/kbdpad/mk1/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
diff --git a/keyboards/panc60/panc60.c b/keyboards/panc60/panc60.c
index 16674d30d..6bd16a4bd 100644
--- a/keyboards/panc60/panc60.c
+++ b/keyboards/panc60/panc60.c
@@ -13,52 +13,33 @@
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 "panc60.h"
17#ifdef BACKLIGHT_ENABLE
18#include "backlight.h"
19#endif
20#ifdef RGBLIGHT_ENABLE
21#include "rgblight.h"
22#endif
23
24#include <avr/pgmspace.h>
25
26#include "action_layer.h"
27#include "i2c_master.h"
28#include "quantum.h"
29
30__attribute__ ((weak))
31void matrix_scan_user(void) {
32}
33 16
34#ifdef RGBLIGHT_ENABLE 17#include "panc60.h"
35extern rgblight_config_t rgblight_config;
36
37void rgblight_set(void) {
38 if (!rgblight_config.enable) {
39 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
40 led[i].r = 0;
41 led[i].g = 0;
42 led[i].b = 0;
43 }
44 }
45
46 i2c_init();
47 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
48}
49#endif
50 18
51void backlight_init_ports(void) { 19void backlight_init_ports(void) {
52 DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6); 20 setPinOutput(D0);
53 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6); 21 setPinOutput(D1);
22 setPinOutput(D4);
23 setPinOutput(D6);
24
25 writePinLow(D0);
26 writePinLow(D1);
27 writePinLow(D4);
28 writePinLow(D6);
54} 29}
55 30
56void backlight_set(uint8_t level) { 31void backlight_set(uint8_t level) {
57 if (level == 0) { 32 if (level == 0) {
58 // Turn out the lights 33 // Turn out the lights
59 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6); 34 writePinLow(D0);
35 writePinLow(D1);
36 writePinLow(D4);
37 writePinLow(D6);
60 } else { 38 } else {
61 // Turn on the lights 39 // Turn on the lights
62 PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6); 40 writePinHigh(D0);
41 writePinHigh(D1);
42 writePinHigh(D4);
43 writePinHigh(D6);
63 } 44 }
64} 45}
diff --git a/keyboards/panc60/rules.mk b/keyboards/panc60/rules.mk
index cdacb4be7..d3ed4998b 100644
--- a/keyboards/panc60/rules.mk
+++ b/keyboards/panc60/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,11 +19,8 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = no 19COMMAND_ENABLE = no
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40 25
41# custom matrix setup
42SRC = i2c_master.c
43
44LAYOUTS = 60_ansi 60_hhkb 26LAYOUTS = 60_ansi 60_hhkb
diff --git a/keyboards/pearl/pearl.c b/keyboards/pearl/pearl.c
index c8cd8a860..093b5fdd9 100644
--- a/keyboards/pearl/pearl.c
+++ b/keyboards/pearl/pearl.c
@@ -15,49 +15,7 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include "rgblight.h" 18#include "pearl.h"
19#include "i2c_master.h"
20#include "quantum.h"
21
22#ifdef RGBLIGHT_ENABLE
23extern rgblight_config_t rgblight_config;
24
25void rgblight_set(void) {
26 if (!rgblight_config.enable) {
27 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
28 led[i].r = 0;
29 led[i].g = 0;
30 led[i].b = 0;
31 }
32 }
33
34 i2c_init();
35 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
36}
37#endif
38
39void matrix_init_kb(void) {
40#ifdef RGBLIGHT_ENABLE
41 if (rgblight_config.enable) {
42 i2c_init();
43 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
44 }
45#endif
46 // call user level keymaps, if any
47 matrix_init_user();
48}
49
50void matrix_scan_kb(void) {
51#ifdef RGBLIGHT_ENABLE
52 rgblight_task();
53#endif
54 matrix_scan_user();
55 /* Nothing else for now. */
56}
57
58__attribute__ ((weak))
59void matrix_scan_user(void) {
60}
61 19
62void backlight_init_ports(void) { 20void backlight_init_ports(void) {
63 // initialize pins D0, D1, D4 and D6 as output 21 // initialize pins D0, D1, D4 and D6 as output
@@ -74,17 +32,17 @@ void backlight_init_ports(void) {
74} 32}
75 33
76void backlight_set(uint8_t level) { 34void backlight_set(uint8_t level) {
77 if (level == 0) { 35 if (level == 0) {
78 // turn backlight LEDs off 36 // turn backlight LEDs off
79 writePinLow(D0); 37 writePinLow(D0);
80 writePinLow(D1); 38 writePinLow(D1);
81 writePinLow(D4); 39 writePinLow(D4);
82 writePinLow(D6); 40 writePinLow(D6);
83 } else { 41 } else {
84 // turn backlight LEDs on 42 // turn backlight LEDs on
85 writePinHigh(D0); 43 writePinHigh(D0);
86 writePinHigh(D1); 44 writePinHigh(D1);
87 writePinHigh(D4); 45 writePinHigh(D4);
88 writePinHigh(D6); 46 writePinHigh(D6);
89 } 47 }
90} \ No newline at end of file 48}
diff --git a/keyboards/pearl/rules.mk b/keyboards/pearl/rules.mk
index eacf8bb2c..79b783e42 100644
--- a/keyboards/pearl/rules.mk
+++ b/keyboards/pearl/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,9 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41# custom matrix setup
42SRC = i2c_master.c
diff --git a/keyboards/percent/skog_lite/rules.mk b/keyboards/percent/skog_lite/rules.mk
index ed29c47f2..1d2372c77 100644
--- a/keyboards/percent/skog_lite/rules.mk
+++ b/keyboards/percent/skog_lite/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,10 +19,8 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40 25
41SRC = i2c_master.c
42
43LAYOUTS = tkl_ansi 26LAYOUTS = tkl_ansi
diff --git a/keyboards/percent/skog_lite/skog_lite.c b/keyboards/percent/skog_lite/skog_lite.c
index a77fc9258..a6c00f529 100644
--- a/keyboards/percent/skog_lite/skog_lite.c
+++ b/keyboards/percent/skog_lite/skog_lite.c
@@ -13,49 +13,8 @@
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 "rgblight.h"
17#include "i2c_master.h"
18#include "quantum.h"
19 16
20#ifdef RGBLIGHT_ENABLE 17#include "skog_lite.h"
21extern rgblight_config_t rgblight_config;
22
23void rgblight_set(void) {
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
37void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE
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();
46}
47
48void matrix_scan_kb(void) {
49#ifdef RGBLIGHT_ENABLE
50 rgblight_task();
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58}
59 18
60void backlight_init_ports(void) { 19void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,17 +31,17 @@ void backlight_init_ports(void) {
72} 31}
73 32
74void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
75 if (level == 0) { 34 if (level == 0) {
76 // turn backlight LEDs off 35 // turn backlight LEDs off
77 writePinLow(D0); 36 writePinLow(D0);
78 writePinLow(D1); 37 writePinLow(D1);
79 writePinLow(D4); 38 writePinLow(D4);
80 writePinLow(D6); 39 writePinLow(D6);
81 } else { 40 } else {
82 // turn backlight LEDs on 41 // turn backlight LEDs on
83 writePinHigh(D0); 42 writePinHigh(D0);
84 writePinHigh(D1); 43 writePinHigh(D1);
85 writePinHigh(D4); 44 writePinHigh(D4);
86 writePinHigh(D6); 45 writePinHigh(D6);
87 } 46 }
88} 47}
diff --git a/keyboards/singa/rules.mk b/keyboards/singa/rules.mk
index df2a59e90..54328d248 100644
--- a/keyboards/singa/rules.mk
+++ b/keyboards/singa/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41SRC = i2c_master.c
diff --git a/keyboards/singa/singa.c b/keyboards/singa/singa.c
index ee49ba65c..144065d02 100644
--- a/keyboards/singa/singa.c
+++ b/keyboards/singa/singa.c
@@ -13,49 +13,8 @@
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 "rgblight.h"
17#include "i2c_master.h"
18#include "quantum.h"
19 16
20#ifdef RGBLIGHT_ENABLE 17#include "singa.h"
21extern rgblight_config_t rgblight_config;
22
23void rgblight_set(void) {
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
37void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE
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();
46}
47
48void matrix_scan_kb(void) {
49#ifdef RGBLIGHT_ENABLE
50 rgblight_task();
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58}
59 18
60void backlight_init_ports(void) { 19void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,17 +31,17 @@ void backlight_init_ports(void) {
72} 31}
73 32
74void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
75 if (level == 0) { 34 if (level == 0) {
76 // turn backlight LEDs off 35 // turn backlight LEDs off
77 writePinLow(D0); 36 writePinLow(D0);
78 writePinLow(D1); 37 writePinLow(D1);
79 writePinLow(D4); 38 writePinLow(D4);
80 writePinLow(D6); 39 writePinLow(D6);
81 } else { 40 } else {
82 // turn backlight LEDs on 41 // turn backlight LEDs on
83 writePinHigh(D0); 42 writePinHigh(D0);
84 writePinHigh(D1); 43 writePinHigh(D1);
85 writePinHigh(D4); 44 writePinHigh(D4);
86 writePinHigh(D6); 45 writePinHigh(D6);
87 } 46 }
88} 47}
diff --git a/keyboards/tgr/alice/alice.c b/keyboards/tgr/alice/alice.c
index adb88fef0..39aed2cf5 100644
--- a/keyboards/tgr/alice/alice.c
+++ b/keyboards/tgr/alice/alice.c
@@ -15,41 +15,4 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include <string.h> 18#include "alice.h"
19
20#include "rgblight.h"
21
22#include "i2c_master.h"
23#include "quantum.h"
24
25#ifdef RGBLIGHT_ENABLE
26extern rgblight_config_t rgblight_config;
27
28void matrix_init_kb(void) {
29 i2c_init();
30 // call user level keymaps, if any
31 matrix_init_user();
32}
33
34// custom RGB driver
35void rgblight_set(void) {
36 if (!rgblight_config.enable) {
37 memset(led, 0, 3 * RGBLED_NUM);
38 }
39
40 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
41}
42
43bool rgb_init = false;
44
45void matrix_scan_kb(void) {
46 // if LEDs were previously on before poweroff, turn them back on
47 if (rgb_init == false && rgblight_config.enable) {
48 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
49 rgb_init = true;
50 }
51
52 rgblight_task();
53 matrix_scan_user();
54}
55#endif
diff --git a/keyboards/tgr/alice/rules.mk b/keyboards/tgr/alice/rules.mk
index aa141f7c3..530e8ea32 100644
--- a/keyboards/tgr/alice/rules.mk
+++ b/keyboards/tgr/alice/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = no 20BACKLIGHT_ENABLE = no
36RGBLIGHT_ENABLE = yes 21RGBLIGHT_ENABLE = yes
37RGBLIGHT_CUSTOM_DRIVER = yes 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41SRC += i2c_master.c
diff --git a/keyboards/tgr/jane/jane.c b/keyboards/tgr/jane/jane.c
index c17cb0084..4ab0b3007 100644
--- a/keyboards/tgr/jane/jane.c
+++ b/keyboards/tgr/jane/jane.c
@@ -13,49 +13,8 @@
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 "jane.h"
20#include "rgblight.h"
21extern rgblight_config_t rgblight_config;
22
23void rgblight_set(void) {
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
37void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE
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();
46}
47
48void matrix_scan_kb(void) {
49#ifdef RGBLIGHT_ENABLE
50 rgblight_task();
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58}
59 18
60void backlight_init_ports(void) { 19void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,17 +31,17 @@ void backlight_init_ports(void) {
72} 31}
73 32
74void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
75 if (level == 0) { 34 if (level == 0) {
76 // turn backlight LEDs off 35 // turn backlight LEDs off
77 writePinLow(D0); 36 writePinLow(D0);
78 writePinLow(D1); 37 writePinLow(D1);
79 writePinLow(D4); 38 writePinLow(D4);
80 writePinLow(D6); 39 writePinLow(D6);
81 } else { 40 } else {
82 // turn backlight LEDs on 41 // turn backlight LEDs on
83 writePinHigh(D0); 42 writePinHigh(D0);
84 writePinHigh(D1); 43 writePinHigh(D1);
85 writePinHigh(D4); 44 writePinHigh(D4);
86 writePinHigh(D6); 45 writePinHigh(D6);
87 } 46 }
88} \ No newline at end of file 47}
diff --git a/keyboards/tgr/jane/rules.mk b/keyboards/tgr/jane/rules.mk
index f2b488306..c6a26d4a4 100644
--- a/keyboards/tgr/jane/rules.mk
+++ b/keyboards/tgr/jane/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,10 +19,8 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = no 21RGBLIGHT_ENABLE = no
37RGBLIGHT_CUSTOM_DRIVER = no 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40 25
41QUANTUM_LIB_SRC = i2c_master.c
42
43LAYOUTS = tkl_ansi tkl_iso 26LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/unikorn/readme.md b/keyboards/unikorn/readme.md
index 3175cddc2..1f8b16d64 100644
--- a/keyboards/unikorn/readme.md
+++ b/keyboards/unikorn/readme.md
@@ -18,7 +18,6 @@ To enable RGB lighting support, install the necessary components and set RGBLIGH
18 18
19``` 19```
20RGBLIGHT_ENABLE = yes 20RGBLIGHT_ENABLE = yes
21RGBLIGHT_CUSTOM_DRIVER = yes
22``` 21```
23 22
24 23
diff --git a/keyboards/unikorn/rules.mk b/keyboards/unikorn/rules.mk
index d4f4d2aaf..e57c21c85 100644
--- a/keyboards/unikorn/rules.mk
+++ b/keyboards/unikorn/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -34,8 +19,6 @@ CONSOLE_ENABLE = yes
34COMMAND_ENABLE = yes 19COMMAND_ENABLE = yes
35BACKLIGHT_ENABLE = yes 20BACKLIGHT_ENABLE = yes
36RGBLIGHT_ENABLE = no 21RGBLIGHT_ENABLE = no
37RGBLIGHT_CUSTOM_DRIVER = no 22WS2812_DRIVER = i2c
38 23
39OPT_DEFS = -DDEBUG_LEVEL=0 24OPT_DEFS = -DDEBUG_LEVEL=0
40
41SRC = i2c_master.c
diff --git a/keyboards/unikorn/unikorn.c b/keyboards/unikorn/unikorn.c
index 1bd47ef9e..70bc5a988 100644
--- a/keyboards/unikorn/unikorn.c
+++ b/keyboards/unikorn/unikorn.c
@@ -14,49 +14,7 @@
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 16
17#include "i2c_master.h" 17#include "unikorn.h"
18#include "quantum.h"
19
20#ifdef RGBLIGHT_ENABLE
21#include "rgblight.h"
22extern rgblight_config_t rgblight_config;
23
24void rgblight_set(void) {
25 if (!rgblight_config.enable) {
26 for (uint8_t i = 0; i < RGBLED_NUM; i++) {
27 led[i].r = 0;
28 led[i].g = 0;
29 led[i].b = 0;
30 }
31 }
32
33 i2c_init();
34 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
35}
36#endif
37
38void matrix_init_kb(void) {
39#ifdef RGBLIGHT_ENABLE
40 if (rgblight_config.enable) {
41 i2c_init();
42 i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
43 }
44#endif
45 // call user level keymaps, if any
46 matrix_init_user();
47}
48
49void matrix_scan_kb(void) {
50#ifdef RGBLIGHT_ENABLE
51 rgblight_task();
52#endif
53 matrix_scan_user();
54 /* Nothing else for now. */
55}
56
57__attribute__ ((weak))
58void matrix_scan_user(void) {
59}
60 18
61void backlight_init_ports(void) { 19void backlight_init_ports(void) {
62 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -73,17 +31,17 @@ void backlight_init_ports(void) {
73} 31}
74 32
75void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
76 if (level == 0) { 34 if (level == 0) {
77 // turn backlight LEDs off 35 // turn backlight LEDs off
78 writePinLow(D0); 36 writePinLow(D0);
79 writePinLow(D1); 37 writePinLow(D1);
80 writePinLow(D4); 38 writePinLow(D4);
81 writePinLow(D6); 39 writePinLow(D6);
82 } else { 40 } else {
83 // turn backlight LEDs on 41 // turn backlight LEDs on
84 writePinHigh(D0); 42 writePinHigh(D0);
85 writePinHigh(D1); 43 writePinHigh(D1);
86 writePinHigh(D4); 44 writePinHigh(D4);
87 writePinHigh(D6); 45 writePinHigh(D6);
88 } 46 }
89} 47}
diff --git a/keyboards/winkeyless/bface/bface.c b/keyboards/winkeyless/bface/bface.c
index 1c83be4b8..8cb5b600c 100644
--- a/keyboards/winkeyless/bface/bface.c
+++ b/keyboards/winkeyless/bface/bface.c
@@ -13,49 +13,8 @@
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 "rgblight.h"
17#include "i2c_master.h"
18#include "quantum.h"
19 16
20#ifdef RGBLIGHT_ENABLE 17#include "bface.h"
21extern rgblight_config_t rgblight_config;
22
23void rgblight_set(void) {
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
37void matrix_init_kb(void) {
38#ifdef RGBLIGHT_ENABLE
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();
46}
47
48void matrix_scan_kb(void) {
49#ifdef RGBLIGHT_ENABLE
50 rgblight_task();
51#endif
52 matrix_scan_user();
53 /* Nothing else for now. */
54}
55
56__attribute__ ((weak))
57void matrix_scan_user(void) {
58}
59 18
60void backlight_init_ports(void) { 19void backlight_init_ports(void) {
61 // initialize pins D0, D1, D4 and D6 as output 20 // initialize pins D0, D1, D4 and D6 as output
@@ -72,17 +31,17 @@ void backlight_init_ports(void) {
72} 31}
73 32
74void backlight_set(uint8_t level) { 33void backlight_set(uint8_t level) {
75 if (level == 0) { 34 if (level == 0) {
76 // turn backlight LEDs off 35 // turn backlight LEDs off
77 writePinLow(D0); 36 writePinLow(D0);
78 writePinLow(D1); 37 writePinLow(D1);
79 writePinLow(D4); 38 writePinLow(D4);
80 writePinLow(D6); 39 writePinLow(D6);
81 } else { 40 } else {
82 // turn backlight LEDs on 41 // turn backlight LEDs on
83 writePinHigh(D0); 42 writePinHigh(D0);
84 writePinHigh(D1); 43 writePinHigh(D1);
85 writePinHigh(D4); 44 writePinHigh(D4);
86 writePinHigh(D6); 45 writePinHigh(D6);
87 } 46 }
88} 47}
diff --git a/keyboards/winkeyless/bface/bface.h b/keyboards/winkeyless/bface/bface.h
index f7a3b9521..bca0c24c1 100644
--- a/keyboards/winkeyless/bface/bface.h
+++ b/keyboards/winkeyless/bface/bface.h
@@ -18,9 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19#pragma once 19#pragma once
20 20
21#include "quantum_keycodes.h" 21#include "quantum.h"
22#include "keycode.h"
23#include "action.h"
24 22
25#define LAYOUT_60_ansi( \ 23#define LAYOUT_60_ansi( \
26 K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, \ 24 K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, \
diff --git a/keyboards/winkeyless/bface/rules.mk b/keyboards/winkeyless/bface/rules.mk
index 12b502785..506e37ac9 100644
--- a/keyboards/winkeyless/bface/rules.mk
+++ b/keyboards/winkeyless/bface/rules.mk
@@ -1,18 +1,3 @@
1# Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
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/>.
15
16# MCU name 1# MCU name
17MCU = atmega32a 2MCU = atmega32a
18 3
@@ -36,9 +21,6 @@ BACKLIGHT_ENABLE = yes
36BACKLIGHT_CUSTOM_DRIVER = yes 21BACKLIGHT_CUSTOM_DRIVER = yes
37BACKLIGHT_BREATHING = no 22BACKLIGHT_BREATHING = no
38RGBLIGHT_ENABLE = yes 23RGBLIGHT_ENABLE = yes
39RGBLIGHT_CUSTOM_DRIVER = yes 24WS2812_DRIVER = i2c
40 25
41OPT_DEFS = -DDEBUG_LEVEL=0 26OPT_DEFS = -DDEBUG_LEVEL=0
42
43# custom matrix setup
44SRC = i2c_master.c