summaryrefslogtreecommitdiff
path: root/keyboards/mitosis/mitosis.h
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-04-19 08:43:28 -0400
committerGitHub <noreply@github.com>2017-04-19 08:43:28 -0400
commit460b5f8751da66b9e5524f356e7059d5580cf8e1 (patch)
tree094200e1ad9711b7ce8f53ebd174ec98826811eb /keyboards/mitosis/mitosis.h
parent95242fe0f12253b5fdab02d802027fcdad5a4d0c (diff)
parent43fd889d7e42c8955fb64273fa1ddde519896284 (diff)
Merge pull request #1246 from reversebias/master
Initial support for the Mitosis Keyboard
Diffstat (limited to 'keyboards/mitosis/mitosis.h')
-rw-r--r--keyboards/mitosis/mitosis.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/keyboards/mitosis/mitosis.h b/keyboards/mitosis/mitosis.h
new file mode 100644
index 0000000000..1b04600e8e
--- /dev/null
+++ b/keyboards/mitosis/mitosis.h
@@ -0,0 +1,67 @@
+#ifndef MITOSIS_H
+#define MITOSIS_H
+
+#include "quantum.h"
+#include "matrix.h"
+#include "backlight.h"
+#include <stddef.h>
+
+#define red_led_off PORTF |= (1<<5)
+#define red_led_on PORTF &= ~(1<<5)
+#define blu_led_off PORTF |= (1<<4)
+#define blu_led_on PORTF &= ~(1<<4)
+#define grn_led_off PORTD |= (1<<1)
+#define grn_led_on PORTD &= ~(1<<1)
+
+#define set_led_off red_led_off; grn_led_off; blu_led_off
+#define set_led_red red_led_on; grn_led_off; blu_led_off
+#define set_led_blue red_led_off; grn_led_off; blu_led_on
+#define set_led_green red_led_off; grn_led_on; blu_led_off
+#define set_led_yellow red_led_on; grn_led_on; blu_led_off
+#define set_led_magenta red_led_on; grn_led_off; blu_led_on
+#define set_led_cyan red_led_off; grn_led_on; blu_led_on
+#define set_led_white red_led_on; grn_led_on; blu_led_on
+
+/*
+#define LED_B 5
+#define LED_R 6
+#define LED_G 7
+
+#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
+
+#define red_led_on PORTF |= (1<<LED_R)
+#define red_led_off PORTF &= ~(1<<LED_R)
+#define grn_led_on PORTF |= (1<<LED_G)
+#define grn_led_off PORTF &= ~(1<<LED_G)
+#define blu_led_on PORTF |= (1<<LED_B)
+#define blu_led_off PORTF &= ~(1<<LED_B)
+
+#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
+#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
+#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
+#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
+#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
+#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
+#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
+#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
+*/
+
+// This a shortcut to help you visually see your layout.
+// The first section contains all of the arguements
+// The second converts the arguments into a two-dimensional array
+#define KEYMAP( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
+ k31, k32, k33, k34, k35, k36, k37, k38, \
+ k41, k42, k43, k44, k45, k46, k47, k48 \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
+ { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, KC_NO } \
+ { KC_NO, k41, k42, k43, k44, k45, k46, k47, k48, KC_NO }, \
+}
+
+#endif