aboutsummaryrefslogtreecommitdiff
path: root/keyboards/zoo/wampus/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/zoo/wampus/config.h')
-rw-r--r--keyboards/zoo/wampus/config.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/keyboards/zoo/wampus/config.h b/keyboards/zoo/wampus/config.h
new file mode 100644
index 000000000..1b67ac89a
--- /dev/null
+++ b/keyboards/zoo/wampus/config.h
@@ -0,0 +1,95 @@
1/*
2Copyright 2020 Matthew Tso (zoo)
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 "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x0200
24#define PRODUCT_ID 0xE600
25#define DEVICE_VER 0x0001
26#define MANUFACTURER zoo.haus
27#define PRODUCT Wampus
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 15
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { C13, C14, A5, A4, A3 }
44#define MATRIX_COL_PINS { A10, A9, A8, B12, A15, A13, A7, A2, A1, A0, F1, F0, B3, B4, B5 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL */
48#define DIODE_DIRECTION COL2ROW
49
50#define LED_NUM_LOCK_PIN B0
51#define LED_CAPS_LOCK_PIN B8
52#define LED_SCROLL_LOCK_PIN B9
53
54// In-switch LED defines
55#define BACKLIGHT_PIN A6
56#define BACKLIGHT_LEVELS 3
57#define BACKLIGHT_BREATHING
58
59#define BACKLIGHT_PWM_DRIVER PWMD3
60#define BACKLIGHT_PWM_CHANNEL 1
61#define BACKLIGHT_PAL_MODE 1
62
63// RGB Underglow WS2812 Matrix defines
64#define RGBLIGHT_ANIMATIONS
65#define RGB_DI_PIN B15
66#define RGBLED_NUM 20
67// SPI RGB Driver
68#define WS2812_SPI SPID2
69#define WS2812_SPI_MOSI_PAL_MODE 0
70
71// OLED defines
72#define OLED_TIMEOUT 60000
73/* Both pins are in bank B */
74#define I2C1_SCL 6 // B6
75#define I2C1_SDA 7 // B7
76#define I2C1_SCL_PAL_MODE 1
77#define I2C1_SDA_PAL_MODE 1
78/* This configures the I2C clock to 400khz assuming a 48Mhz clock */
79#define I2C1_TIMINGR_PRESC 0U
80#define I2C1_TIMINGR_SCLDEL 3U
81#define I2C1_TIMINGR_SDADEL 1U
82#define I2C1_TIMINGR_SCLH 3U
83#define I2C1_TIMINGR_SCLL 9U
84
85/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
86#define DEBOUNCE 5
87
88/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
89#define LOCKING_SUPPORT_ENABLE
90/* Locking resynchronize hack */
91#define LOCKING_RESYNC_ENABLE
92
93/* disable these deprecated features by default */
94#define NO_ACTION_MACRO
95#define NO_ACTION_FUNCTION