aboutsummaryrefslogtreecommitdiff
path: root/layouts/community/ortho_4x12/drashna
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-10-16 13:11:22 -0700
committerGitHub <noreply@github.com>2019-10-16 13:11:22 -0700
commite3a21348c3879c11072c7c42d3b4d04b022f4fe2 (patch)
treeb4b007bce3d0b9167dfe651a537df330dbf7bead /layouts/community/ortho_4x12/drashna
parent7662ee71f0d1df7cee03a563f52dba21854fd0be (diff)
downloadqmk_firmware-e3a21348c3879c11072c7c42d3b4d04b022f4fe2.tar.gz
qmk_firmware-e3a21348c3879c11072c7c42d3b4d04b022f4fe2.zip
[Keymap] Drashna's Hardware Features Experimentations (#6920)
* Change RGBLight pin for Planck Light Move it to A0, so that the SPI? pins are available for BT hackery * Add QMK DFU bootloader info * Add Solenoid * Disable annoying white LED on bottom * Enable Solenoid on Corne * Remove bounds for animations * Increase debounce for Ergodox EZ to reduce repeat key issues * Set swap hands key to be a hold-tap key This way, it's not ANNOYING and doesn't swap the hands inteniontally * Move MT Alt in Corne keymap * Re-Add fine tuned control of secrets * Squash mods to single row * Add LRA settings to haptic feedback settings for Rev6 * Fix issue with non-Planck EZ keymaps * Add 40 Percent Nano with Analog Joystick * Add Collide39 keymap * Fix OLED printing to be more flavorful * Fix up Iris GamePad and come cleanup * Expand OLED char map further * Add modded characters to keylogger * Here be dragons Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Fix up rules for community layouts * Some more OLED tweaks * Add mod mask check function * Change QMK DFU Audio pin to be correct * Use manual STM config instead of CTPC for Collide 39
Diffstat (limited to 'layouts/community/ortho_4x12/drashna')
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h65
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c7
-rw-r--r--layouts/community/ortho_4x12/drashna/rules.mk39
3 files changed, 88 insertions, 23 deletions
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index 9f3d2b82d..d8ac5e6d1 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -1,7 +1,7 @@
1#pragma once 1#pragma once
2 2
3#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) 3#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
4# define RGB_DI_PIN B3 4# define RGB_DI_PIN A0
5# define RGBLED_NUM 13 // Number of LEDs 5# define RGBLED_NUM 13 // Number of LEDs
6# define RGBLIGHT_ANIMATIONS 6# define RGBLIGHT_ANIMATIONS
7# define RGBLIGHT_HUE_STEP 12 7# define RGBLIGHT_HUE_STEP 12
@@ -17,10 +17,12 @@
17#ifdef RGB_MATRIX_ENABLE 17#ifdef RGB_MATRIX_ENABLE
18# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) 18# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
19// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) 19// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
20# define RGB_MATRIX_FRAMEBUFFER_EFFECTS 20# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
21// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects 21// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
22// #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 22// #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
23# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended 23# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
24# undef RGB_MATRIX_LED_PROCESS_LIMIT
25# undef RGB_MATRIX_LED_FLUSH_LIMIT
24#endif 26#endif
25 27
26#if defined(KEYBOARD_lets_split_rev2) 28#if defined(KEYBOARD_lets_split_rev2)
@@ -32,7 +34,17 @@
32#if !defined(KEYBOARD_planck_light) 34#if !defined(KEYBOARD_planck_light)
33# ifdef RGBLIGHT_ENABLE 35# ifdef RGBLIGHT_ENABLE
34# define NO_MUSIC_MODE 36# define NO_MUSIC_MODE
35# endif // RGBLIGHT_ENABLE 37# endif // RGBLIGHT_ENABLE
38#else
39# undef QMK_ESC_OUTPUT
40# define QMK_ESC_OUTPUT E6 // usually COL
41# undef QMK_ESC_INPUT
42# define QMK_ESC_INPUT B0 // usually ROW
43# undef QMK_LED
44# define QMK_LED D6
45# undef QMK_SPEAKER
46# define QMK_SPEAKER B5
47# define SOLENOID_PIN A1
36#endif // KEYBOARD_planck_light 48#endif // KEYBOARD_planck_light
37 49
38#if defined(KEYBOARD_planck) 50#if defined(KEYBOARD_planck)
@@ -69,3 +81,50 @@
69 81
70/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 82/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
71//#define MIDI_TONE_KEYCODE_OCTAVES 2 83//#define MIDI_TONE_KEYCODE_OCTAVES 2
84
85#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/
86#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
87#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
88
89/* default 3V ERM vibration motor voltage and library*/
90#if FB_ERM_LRA == 0
91#define RATED_VOLTAGE 3
92#define V_RMS 2.3
93#define V_PEAK 3.30
94/* Library Selection */
95#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
96
97/* default 2V LRA voltage and library */
98#elif FB_ERM_LRA == 1
99#define RATED_VOLTAGE 2
100#define V_RMS 2.0
101#define V_PEAK 2.85
102#define F_LRA 200
103/* Library Selection */
104#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
105
106#endif
107
108/* Control 1 register settings */
109#define DRIVE_TIME 25
110#define AC_COUPLE 0
111#define STARTUP_BOOST 1
112
113/* Control 2 Settings */
114#define BIDIR_INPUT 1
115#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */
116#define SAMPLE_TIME 3
117#define BLANKING_TIME 1
118#define IDISS_TIME 1
119
120/* Control 3 settings */
121#define NG_THRESH 2
122#define ERM_OPEN_LOOP 1
123#define SUPPLY_COMP_DIS 0
124#define DATA_FORMAT_RTO 0
125#define LRA_DRIVE_MODE 0
126#define N_PWM_ANALOG 0
127#define LRA_OPEN_LOOP 0
128/* Control 4 settings */
129#define ZC_DET_TIME 0
130#define AUTO_CAL_TIME 3
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 26f611c08..1c894c764 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -24,7 +24,9 @@ extern rgblight_config_t rgblight_config;
24#ifdef BACKLIGHT_ENABLE 24#ifdef BACKLIGHT_ENABLE
25enum planck_keycodes { 25enum planck_keycodes {
26 BACKLIT = NEW_SAFE_RANGE, 26 BACKLIT = NEW_SAFE_RANGE,
27 TH_LVL,
27}; 28};
29
28#else 30#else
29# define BACKLIT OSM(MOD_LSFT) 31# define BACKLIT OSM(MOD_LSFT)
30enum planck_keycodes { 32enum planck_keycodes {
@@ -134,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, 136 KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
135 VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, 137 VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
136 TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, 138 TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
137 _______, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS 139 HPT_TOG, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
138 ) 140 )
139 141
140}; 142};
@@ -298,6 +300,9 @@ void rgb_matrix_indicators_user(void) {
298} 300}
299 301
300void matrix_init_keymap(void) { 302void matrix_init_keymap(void) {
303# ifdef KEYBOARD_planck_light
304 writePinLow(D6);
305# endif
301 // rgblight_mode(RGB_MATRIX_MULTISPLASH); 306 // rgblight_mode(RGB_MATRIX_MULTISPLASH);
302} 307}
303#else // RGB_MATRIX_INIT 308#else // RGB_MATRIX_INIT
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index 55f3acd70..d4726b7a8 100644
--- a/layouts/community/ortho_4x12/drashna/rules.mk
+++ b/layouts/community/ortho_4x12/drashna/rules.mk
@@ -7,29 +7,30 @@ TAP_DANCE_ENABLE = no
7AUDIO_ENABLE = yes 7AUDIO_ENABLE = yes
8SPACE_CADET_ENABLE = no 8SPACE_CADET_ENABLE = no
9 9
10ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6 10ifneq ($(strip $(KEYBOARD)), planck/rev6)
11 RGBLIGHT_ENABLE = yes 11 RGBLIGHT_ENABLE = yes
12 INDICATOR_LIGHTS = yes 12 INDICATOR_LIGHTS = yes
13 RGBLIGHT_TWINKLE = yes 13 RGBLIGHT_TWINKLE = yes
14 RGBLIGHT_STARTUP_ANIMATION = yes 14 RGBLIGHT_STARTUP_ANIMATION = yes
15endif 15endif
16ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light 16ifeq ($(strip $(KEYBOARD)), planck/light)
17 RGB_MATRIX_ENABLE = yes 17 RGB_MATRIX_ENABLE = yes
18 RGBLIGHT_ENABLE = no 18 RGBLIGHT_ENABLE = no
19 RGBLIGHT_STARTUP_ANIMATION = no 19 RGBLIGHT_STARTUP_ANIMATION = no
20 HAPTIC_ENABLE += SOLENOID
20endif 21endif
21ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light 22ifeq ($(strip $(KEYBOARD)), planck/ez)
22 RGBLIGHT_ENABLE = no 23 RGBLIGHT_ENABLE = no
23 # SERIAL_LINK_ENABLE = yes 24 # SERIAL_LINK_ENABLE = yes
24 ENCODER_ENABLE = yes 25 ENCODER_ENABLE = yes
25 RGB_MATRIX_ENABLE = IS31FL3737 26 RGB_MATRIX_ENABLE = IS31FL3737
26 INDICATOR_LIGHTS = yes 27 INDICATOR_LIGHTS = yes
27 RGBLIGHT_TWINKLE = yes 28 RGBLIGHT_TWINKLE = yes
28 RGBLIGHT_STARTUP_ANIMATION = yes 29 RGBLIGHT_STARTUP_ANIMATION = yes
29endif 30endif
30 31
31ifeq ($(strip $(PROTOCOL)), VUSB) 32ifeq ($(strip $(PROTOCOL)), VUSB)
32NKRO_ENABLE = no 33 NKRO_ENABLE = no
33else 34else
34NKRO_ENABLE = yes 35 NKRO_ENABLE = yes
35endif 36endif