aboutsummaryrefslogtreecommitdiff
path: root/keyboards/cannonkeys/satisfaction75/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/cannonkeys/satisfaction75/config.h')
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
new file mode 100644
index 000000000..53e4c18e5
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -0,0 +1,111 @@
1/*
2Copyright 2015 Jun Wako <[email protected]>
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/* Ensure we jump to bootloader if the RESET keycode was pressed */
21#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
22
23/* LSE clock */
24#define STM32_LSECLK 32768
25
26/* USB Device descriptor parameter */
27#define VENDOR_ID 0xCA04
28#define PRODUCT_ID 0x57F5
29#define DEVICE_VER 0x0001
30#define MANUFACTURER CannonKeys
31#define PRODUCT Satisfaction75
32
33/* key matrix size */
34#define MATRIX_ROWS 6
35#define MATRIX_COLS 16
36
37#define MATRIX_COL_PINS { B1, B2, B10, B11, B12, B13, B14, A8, A9, A10, B0, A7, A5, B5, A15, A1 }
38#define MATRIX_ROW_PINS { B3, B4, A0, A2, A4, A3 }
39#define DIODE_DIRECTION COL2ROW
40
41#define ENCODERS_PAD_A { B9 }
42#define ENCODERS_PAD_B { B8 }
43
44#define ENCODER_RESOLUTION 2
45
46//LEDS A6, RGB B15
47#define BACKLIGHT_LEVELS 24
48#define BACKLIGHT_BREATHING
49#define BREATHING_PERIOD 6
50
51/* define if matrix has ghost */
52//#define MATRIX_HAS_GHOST
53
54// I2C config
55#define I2C_DRIVER I2CD1
56#define I2C1_SCL_PIN B6
57#define I2C1_SDA_PIN B7
58#define I2C1_SCL_PAL_MODE 1
59#define I2C1_SDA_PAL_MODE 1
60#define I2C1_TIMINGR_PRESC 0x00U
61#define I2C1_TIMINGR_SCLDEL 0x03U
62#define I2C1_TIMINGR_SDADEL 0x01U
63#define I2C1_TIMINGR_SCLH 0x03U
64#define I2C1_TIMINGR_SCLL 0x09U
65
66/* Set 0 if debouncing isn't needed */
67#define DEBOUNCE 5
68
69/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
70#define LOCKING_SUPPORT_ENABLE
71/* Locking resynchronize hack */
72#define LOCKING_RESYNC_ENABLE
73
74// configure oled driver for the 128x32 oled
75#define OLED_UPDATE_INTERVAL 66 // ~15fps
76
77// OLED_TIMEOUT is incompatible with the OLED_OFF mode
78#define OLED_TIMEOUT 0
79
80// OLED timeout reimplemented in the keyboard-specific code
81#define CUSTOM_OLED_TIMEOUT 60000
82
83// Custom config starts after VIA's EEPROM usage,
84// dynamic keymaps start after this.
85// Custom config Usage:
86// 1 for enabled encoder modes (1 byte)
87// 1 for custom backlighting controls (1 byte)
88// 1 for OLED default mode (1 byte)
89// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
90#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21
91
92// VIA lighting is handled by the keyboard-level code
93#define VIA_CUSTOM_LIGHTING_ENABLE
94
95/*
96 * Feature disable options
97 * These options are also useful to firmware size reduction.
98 */
99
100/* disable debug print */
101//#define NO_DEBUG
102
103/* disable print */
104//#define NO_PRINT
105
106/* disable action features */
107//#define NO_ACTION_LAYER
108//#define NO_ACTION_TAPPING
109//#define NO_ACTION_ONESHOT
110//#define NO_ACTION_MACRO
111//#define NO_ACTION_FUNCTION