aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keebio/iris/rev1/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keebio/iris/rev1/config.h')
-rw-r--r--keyboards/keebio/iris/rev1/config.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/keyboards/keebio/iris/rev1/config.h b/keyboards/keebio/iris/rev1/config.h
new file mode 100644
index 000000000..13302c60c
--- /dev/null
+++ b/keyboards/keebio/iris/rev1/config.h
@@ -0,0 +1,84 @@
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 0x0100
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 { D7, E6, B4, B5, D4 }
37#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
38
39/* COL2ROW or ROW2COL */
40#define DIODE_DIRECTION COL2ROW
41
42/* define if matrix has ghost */
43//#define MATRIX_HAS_GHOST
44
45/* number of backlight levels */
46// #define BACKLIGHT_LEVELS 3
47
48/* Set 0 if debouncing isn't needed */
49#define DEBOUNCING_DELAY 5
50
51/* serial.c configuration for split keyboard */
52#define SOFT_SERIAL_PIN D0
53
54/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
55#define LOCKING_SUPPORT_ENABLE
56/* Locking resynchronize hack */
57#define LOCKING_RESYNC_ENABLE
58
59#define BACKLIGHT_PIN D2
60#define BACKLIGHT_LEVELS 5
61
62/* ws2812 RGB LED */
63#define RGB_DI_PIN D3
64#define RGBLED_NUM 12 // Number of LEDs
65
66#define DYNAMIC_KEYMAP_LAYER_COUNT 4
67
68// EEPROM usage
69
70// TODO: refactor with new user EEPROM code (coming soon)
71#define EEPROM_MAGIC 0x451F
72#define EEPROM_MAGIC_ADDR 32
73// Bump this every time we change what we store
74// This will automatically reset the EEPROM with defaults
75// and avoid loading invalid data from the EEPROM
76#define EEPROM_VERSION 0x08
77#define EEPROM_VERSION_ADDR 34
78
79// Dynamic keymap starts after EEPROM version
80#define DYNAMIC_KEYMAP_EEPROM_ADDR 35
81// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480)
82#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 515
83#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 509 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
84#define DYNAMIC_KEYMAP_MACRO_COUNT 16