aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keebio/iris/rev3/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keebio/iris/rev3/config.h')
-rw-r--r--keyboards/keebio/iris/rev3/config.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h
new file mode 100644
index 000000000..70e5d6e2a
--- /dev/null
+++ b/keyboards/keebio/iris/rev3/config.h
@@ -0,0 +1,93 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1256
25#define DEVICE_VER 0x0300
26#define MANUFACTURER Keebio
27#define PRODUCT Iris Keyboard
28#define DESCRIPTION Split 50 percent ergonomic keyboard
29
30/* key matrix size */
31// Rows are doubled-up
32#define MATRIX_ROWS 10
33#define MATRIX_COLS 6
34
35// wiring of each half
36#define MATRIX_ROW_PINS { D2, D3, D5, D7, D6 }
37#define MATRIX_COL_PINS { F1, F4, F5, F6, D4, B4 }
38#define SPLIT_HAND_PIN F0
39#define QMK_ESC_OUTPUT D2
40#define QMK_ESC_INPUT F1
41#define QMK_LED B0
42#define QMK_SPEAKER C6
43
44#define NUMBER_OF_ENCODERS 1
45#define ENCODERS_PAD_A { B5 }
46#define ENCODERS_PAD_B { B7 }
47
48/* COL2ROW or ROW2COL */
49#define DIODE_DIRECTION COL2ROW
50
51/* define if matrix has ghost */
52//#define MATRIX_HAS_GHOST
53
54/* number of backlight levels */
55// #define BACKLIGHT_LEVELS 3
56
57/* Set 0 if debouncing isn't needed */
58#define DEBOUNCING_DELAY 5
59
60/* serial.c configuration for split keyboard */
61#define SOFT_SERIAL_PIN D0
62
63/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
64#define LOCKING_SUPPORT_ENABLE
65/* Locking resynchronize hack */
66#define LOCKING_RESYNC_ENABLE
67
68#define BACKLIGHT_PIN B6
69#define BACKLIGHT_LEVELS 5
70
71/* ws2812 RGB LED */
72#define RGB_DI_PIN F7
73#define RGBLED_NUM 12 // Number of LEDs
74
75#define DYNAMIC_KEYMAP_LAYER_COUNT 4
76
77// EEPROM usage
78
79// TODO: refactor with new user EEPROM code (coming soon)
80#define EEPROM_MAGIC 0x451F
81#define EEPROM_MAGIC_ADDR 32
82// Bump this every time we change what we store
83// This will automatically reset the EEPROM with defaults
84// and avoid loading invalid data from the EEPROM
85#define EEPROM_VERSION 0x08
86#define EEPROM_VERSION_ADDR 34
87
88// Dynamic keymap starts after EEPROM version
89#define DYNAMIC_KEYMAP_EEPROM_ADDR 35
90// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480)
91#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515
92#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
93#define DYNAMIC_KEYMAP_MACRO_COUNT 16