summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "panc60.h"
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+#ifdef RGBLIGHT_ENABLE
+#include "rgblight.h"
+#endif
#include <avr/pgmspace.h>
+
#include "action_layer.h"
#include "i2c.h"
#include "quantum.h"
@@ -23,3 +30,35 @@
__attribute__ ((weak))
void matrix_scan_user(void) {
}
+
+#ifdef RGBLIGHT_ENABLE
+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_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+}
+#endif
+
+void backlight_init_ports(void) {
+ DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
+ PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
+}
+
+void backlight_set(uint8_t level) {
+ if (level == 0) {
+ // Turn out the lights
+ PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
+ } else {
+ // Turn on the lights
+ PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
+ }
+}
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
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
-BACKLIGHT_ENABLE = no
-RGBLIGHT_ENABLE = no
+BACKLIGHT_ENABLE = yes
+RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0