summaryrefslogtreecommitdiffstats
path: root/layouts/community/ortho_4x12
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
parent7662ee71f0d1df7cee03a563f52dba21854fd0be (diff)
[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')
-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 9f3d2b82d6..d8ac5e6d11 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -1,7 +1,7 @@
#pragma once
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
-# define RGB_DI_PIN B3
+# define RGB_DI_PIN A0
# define RGBLED_NUM 13 // Number of LEDs
# define RGBLIGHT_ANIMATIONS
# define RGBLIGHT_HUE_STEP 12
@@ -17,10 +17,12 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
// #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
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# undef RGB_MATRIX_LED_PROCESS_LIMIT
+# undef RGB_MATRIX_LED_FLUSH_LIMIT
#endif
#if defined(KEYBOARD_lets_split_rev2)
@@ -32,7 +34,17 @@
#if !defined(KEYBOARD_planck_light)
# ifdef RGBLIGHT_ENABLE
# define NO_MUSIC_MODE
-# endif // RGBLIGHT_ENABLE
+# endif // RGBLIGHT_ENABLE
+#else
+# undef QMK_ESC_OUTPUT
+# define QMK_ESC_OUTPUT E6 // usually COL
+# undef QMK_ESC_INPUT
+# define QMK_ESC_INPUT B0 // usually ROW
+# undef QMK_LED
+# define QMK_LED D6
+# undef QMK_SPEAKER
+# define QMK_SPEAKER B5
+# define SOLENOID_PIN A1
#endif // KEYBOARD_planck_light
#if defined(KEYBOARD_planck)
@@ -69,3 +81,50 @@
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 2
+
+#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/
+#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+
+/* default 3V ERM vibration motor voltage and library*/
+#if FB_ERM_LRA == 0
+#define RATED_VOLTAGE 3
+#define V_RMS 2.3
+#define V_PEAK 3.30
+/* Library Selection */
+#define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
+
+/* default 2V LRA voltage and library */
+#elif FB_ERM_LRA == 1
+#define RATED_VOLTAGE 2
+#define V_RMS 2.0
+#define V_PEAK 2.85
+#define F_LRA 200
+/* Library Selection */
+#define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */
+
+#endif
+
+/* Control 1 register settings */
+#define DRIVE_TIME 25
+#define AC_COUPLE 0
+#define STARTUP_BOOST 1
+
+/* Control 2 Settings */
+#define BIDIR_INPUT 1
+#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */
+#define SAMPLE_TIME 3
+#define BLANKING_TIME 1
+#define IDISS_TIME 1
+
+/* Control 3 settings */
+#define NG_THRESH 2
+#define ERM_OPEN_LOOP 1
+#define SUPPLY_COMP_DIS 0
+#define DATA_FORMAT_RTO 0
+#define LRA_DRIVE_MODE 0
+#define N_PWM_ANALOG 0
+#define LRA_OPEN_LOOP 0
+/* Control 4 settings */
+#define ZC_DET_TIME 0
+#define AUTO_CAL_TIME 3
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 26f611c088..1c894c7649 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;
#ifdef BACKLIGHT_ENABLE
enum planck_keycodes {
BACKLIT = NEW_SAFE_RANGE,
+ TH_LVL,
};
+
#else
# define BACKLIT OSM(MOD_LSFT)
enum planck_keycodes {
@@ -134,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
- _______, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
+ HPT_TOG, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS
)
};
@@ -298,6 +300,9 @@ void rgb_matrix_indicators_user(void) {
}
void matrix_init_keymap(void) {
+# ifdef KEYBOARD_planck_light
+ writePinLow(D6);
+# endif
// rgblight_mode(RGB_MATRIX_MULTISPLASH);
}
#else // RGB_MATRIX_INIT
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk
index 55f3acd70e..d4726b7a84 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
AUDIO_ENABLE = yes
SPACE_CADET_ENABLE = no
-ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6
- RGBLIGHT_ENABLE = yes
- INDICATOR_LIGHTS = yes
- RGBLIGHT_TWINKLE = yes
- RGBLIGHT_STARTUP_ANIMATION = yes
+ifneq ($(strip $(KEYBOARD)), planck/rev6)
+ RGBLIGHT_ENABLE = yes
+ INDICATOR_LIGHTS = yes
+ RGBLIGHT_TWINKLE = yes
+ RGBLIGHT_STARTUP_ANIMATION = yes
endif
-ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light
- RGB_MATRIX_ENABLE = yes
- RGBLIGHT_ENABLE = no
- RGBLIGHT_STARTUP_ANIMATION = no
+ifeq ($(strip $(KEYBOARD)), planck/light)
+ RGB_MATRIX_ENABLE = yes
+ RGBLIGHT_ENABLE = no
+ RGBLIGHT_STARTUP_ANIMATION = no
+ HAPTIC_ENABLE += SOLENOID
endif
-ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light
- RGBLIGHT_ENABLE = no
- # SERIAL_LINK_ENABLE = yes
- ENCODER_ENABLE = yes
- RGB_MATRIX_ENABLE = IS31FL3737
- INDICATOR_LIGHTS = yes
- RGBLIGHT_TWINKLE = yes
- RGBLIGHT_STARTUP_ANIMATION = yes
+ifeq ($(strip $(KEYBOARD)), planck/ez)
+ RGBLIGHT_ENABLE = no
+ # SERIAL_LINK_ENABLE = yes
+ ENCODER_ENABLE = yes
+ RGB_MATRIX_ENABLE = IS31FL3737
+ INDICATOR_LIGHTS = yes
+ RGBLIGHT_TWINKLE = yes
+ RGBLIGHT_STARTUP_ANIMATION = yes
endif
ifeq ($(strip $(PROTOCOL)), VUSB)
-NKRO_ENABLE = no
+ NKRO_ENABLE = no
else
-NKRO_ENABLE = yes
+ NKRO_ENABLE = yes
endif