aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kprepublic/bm80/config.h
diff options
context:
space:
mode:
authorpeepeetee <43021794+peepeetee@users.noreply.github.com>2021-09-28 13:00:47 +0800
committerGitHub <noreply@github.com>2021-09-27 22:00:47 -0700
commit2742d0c4c119c35980997ee43d9ce0fc412ec250 (patch)
treeedf23cdf84525899f943d68349144fb2ea687181 /keyboards/kprepublic/bm80/config.h
parentae993dc068b18f87174a8e313d84fcf88281147f (diff)
downloadqmk_firmware-2742d0c4c119c35980997ee43d9ce0fc412ec250.tar.gz
qmk_firmware-2742d0c4c119c35980997ee43d9ce0fc412ec250.zip
[Keyboard] Add BM80 Keyboard (#12948)
* Initial compatibility with bm80 * move files to kprepublic directory, see #12159 * fix pin assignment * Revert "fix pin assignment" This reverts commit 5a53a74953a23bb5064c11d5d9e6daf007a54872. * add testing setup (peepeetee keymap, will use for personal purposes later), fix LED assignment, add indicator LED, LED location, count, and flags are broken * fixed flags( not sure, please check) * fixed number of LEDs * add comment about f11 * remove comment about f11, change capslock flag to be 1 rather than 1+8 as there is a standalone indicator LED * readme.md * add via keymap * add info.json with help from noroadsleft's converter * add suspended state implementation, I don't think it's working * update to my testing setup * restore erroneously included bm68rgb config * Update keyboards/kprepublic/bm80/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * add reset instructions * change reset instruction grammar * remove not working sleep function, add comment for RGB flags * add LED mapping comments * change readme grammar * replace rgb light paremeters with rgb matrix paremeters, enable framebuffer effects * re-enable peepeetee/config.h, updating my disabled effect list * updating my disabled effect list * update LED struct documentation * update readme with RGB matrix effect information * Update keyboards/kprepublic/bm80/rules.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * move files back to keyboard from keyboard/kprepublic, see 85b33d6 and qmk#12159 * Apply suggestions from code review Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * cleanup peepeetee keymap * update peepeetee keymap; rebase on current master * moved to /kprepublic, see #12159 * Apply suggestions from code review Co-authored-by: Drashna Jaelre <drashna@live.com> * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/kprepublic/bm80/config.h')
-rw-r--r--keyboards/kprepublic/bm80/config.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm80/config.h b/keyboards/kprepublic/bm80/config.h
new file mode 100644
index 000000000..584fdec98
--- /dev/null
+++ b/keyboards/kprepublic/bm80/config.h
@@ -0,0 +1,99 @@
1/*
2Copyright 2021 peepeetee
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 0x4B50 //KP
24#define PRODUCT_ID 0xEF83
25#define DEVICE_VER 0x0001
26#define MANUFACTURER KPRepublic
27#define PRODUCT BM80HSRGB
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 17
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 { B3, B2, B1, B0, C6, C7 }
44#define MATRIX_COL_PINS { F0, F1, F4, D7, D6, D4, D5, D3, D2, F5, F6, F7, D1, D0, B4, B5, B6 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL */
48#define DIODE_DIRECTION COL2ROW
49
50
51
52
53#define LED_CAPS_LOCK_PIN E6
54#define LED_PIN_ON_STATE 0
55
56
57#define RGB_DI_PIN E2
58// The number of LEDs connected
59#define DRIVER_LED_TOTAL 87
60
61#ifdef RGB_DI_PIN
62#define RGBLED_NUM 87
63#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
64//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
65#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
66#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
67//#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
68#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
69// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
70#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
71#define RGB_MATRIX_STARTUP_HUE 0 // Sets the default hue value, if none has been set
72#define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
73#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
74#define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
75// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
76
77
78
79// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
80// does not work for some reason, might revisit
81
82
83
84#endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* disable these deprecated features by default */
98#define NO_ACTION_MACRO
99#define NO_ACTION_FUNCTION