aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-10-26 21:20:00 -0700
committerDrashna Jaelre <drashna@live.com>2018-10-26 21:20:00 -0700
commit5632552558fc5e032e89c62d578dff7d3c3cb800 (patch)
tree12cf181d4c9603fb80ef265a883b58ede7fd72f4
parentd3a6296199c6f6564e0fffd6d7c1355496d9feac (diff)
downloadqmk_firmware-5632552558fc5e032e89c62d578dff7d3c3cb800.tar.gz
qmk_firmware-5632552558fc5e032e89c62d578dff7d3c3cb800.zip
RGB Support for Panc60 (#4253)
* add RGB underglow support * enable RGB underglow and backlighting
-rw-r--r--keyboards/panc60/panc60.c39
-rw-r--r--keyboards/panc60/rules.mk4
2 files changed, 41 insertions, 2 deletions
diff --git a/keyboards/panc60/panc60.c b/keyboards/panc60/panc60.c
index 4828cb9cf..9ac087dbf 100644
--- a/keyboards/panc60/panc60.c
+++ b/keyboards/panc60/panc60.c
@@ -14,8 +14,15 @@
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" 16#include "panc60.h"
17#ifdef BACKLIGHT_ENABLE
18#include "backlight.h"
19#endif
20#ifdef RGBLIGHT_ENABLE
21#include "rgblight.h"
22#endif
17 23
18#include <avr/pgmspace.h> 24#include <avr/pgmspace.h>
25
19#include "action_layer.h" 26#include "action_layer.h"
20#include "i2c.h" 27#include "i2c.h"
21#include "quantum.h" 28#include "quantum.h"
@@ -23,3 +30,35 @@
23__attribute__ ((weak)) 30__attribute__ ((weak))
24void matrix_scan_user(void) { 31void matrix_scan_user(void) {
25} 32}
33
34#ifdef RGBLIGHT_ENABLE
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_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
48}
49#endif
50
51void backlight_init_ports(void) {
52 DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
53 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
54}
55
56void backlight_set(uint8_t level) {
57 if (level == 0) {
58 // Turn out the lights
59 PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
60 } else {
61 // Turn on the lights
62 PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
63 }
64}
diff --git a/keyboards/panc60/rules.mk b/keyboards/panc60/rules.mk
index fcb14d0ae..588562a95 100644
--- a/keyboards/panc60/rules.mk
+++ b/keyboards/panc60/rules.mk
@@ -36,8 +36,8 @@ MOUSEKEY_ENABLE = yes
36EXTRAKEY_ENABLE = yes 36EXTRAKEY_ENABLE = yes
37CONSOLE_ENABLE = yes 37CONSOLE_ENABLE = yes
38COMMAND_ENABLE = yes 38COMMAND_ENABLE = yes
39BACKLIGHT_ENABLE = no 39BACKLIGHT_ENABLE = yes
40RGBLIGHT_ENABLE = no 40RGBLIGHT_ENABLE = yes
41RGBLIGHT_CUSTOM_DRIVER = yes 41RGBLIGHT_CUSTOM_DRIVER = yes
42 42
43OPT_DEFS = -DDEBUG_LEVEL=0 43OPT_DEFS = -DDEBUG_LEVEL=0