 4a87af0e9a
			
		
	
	
		4a87af0e9a
		
			
		
	
	
	
	
		
			
			* Fix up bastardkb boards since blackpill support is officially added. * Check for blackpill version, not elite c. * Add checks in chibiOS config since multiple ARM controllers supported. * Rework rules.mk for keymaps to better handle arm vs avr support * Start moving away from `matrix_*_*` functions. * `housekeeping_task_*` instead of `matrix_scan_*` * `keyboard_(pre|post)_init_*` instead of `matrix_init_*` * Add ℂℴmⅈℂ unicode input method. * Clean up unicode code to be more compact and flexible. * Remove/move Pro Micro LED commands to userspace and better filter them * Fixup OLED code * Use newer quantum keycode functions/preprocessors rather than manual bit manipulation * Make unicode mode render much more compact/simple. * Make qmk secrets more self contained * Remove custom implementation of split watchdog
		
			
				
	
	
		
			153 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			153 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright 2020 Christopher Courtney, aka Drashna Jael're  (@drashna) <drashna@live.com>
 | |
|  *
 | |
|  * This program is free software: you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation, either version 2 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
 | |
| #    if defined(KEYBOARD_planck_light)
 | |
| #        define RGB_DI_PIN A0
 | |
| #        define RGBLED_NUM 13  // Number of LEDs
 | |
| #    endif
 | |
| #    define RGBLIGHT_HUE_STEP 12
 | |
| #    define RGBLIGHT_SAT_STEP 12
 | |
| #    define RGBLIGHT_VAL_STEP 12
 | |
| #    define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
 | |
| #    define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
 | |
| #    ifdef RGB_MATRIX_ENABLE
 | |
| #        define RGBLIGHT_DISABLE_KEYCODES
 | |
| #    endif
 | |
| #endif  // RGBLIGHT_ENABLE
 | |
| 
 | |
| #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_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  // turn off effects when suspended
 | |
| #    undef RGB_MATRIX_LED_PROCESS_LIMIT
 | |
| #    undef RGB_MATRIX_LED_FLUSH_LIMIT
 | |
| #    ifdef KEYBOARD_planck_rev6
 | |
| #        define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | |
| #    endif
 | |
| #endif
 | |
| 
 | |
| #if defined(KEYBOARD_lets_split_rev2)
 | |
| #    undef USE_I2C
 | |
| #    define EE_HANDS
 | |
| #endif
 | |
| 
 | |
| #if !defined(KEYBOARD_planck_light)
 | |
| #    ifdef RGBLIGHT_ENABLE
 | |
| #        define NO_MUSIC_MODE
 | |
| #    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)
 | |
| #    if defined(KEYBOARD_planck_light)
 | |
| #        undef PRODUCT
 | |
| #        define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)"
 | |
| #    elif defined(KEYBOARD_planck_rev6)
 | |
| #        undef PRODUCT
 | |
| #        define PRODUCT "Drashna Hacked Planck Rev6"
 | |
| #    elif defined(KEYBOARD_planck_ez)
 | |
| #        undef PRODUCT
 | |
| #        define PRODUCT "Drashna Hacked Planck EZ"
 | |
| #        define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
 | |
| #    endif
 | |
| #endif
 | |
| #undef NO_USB_STARTUP_CHECK
 | |
| 
 | |
| 
 | |
| #define EEPROM_I2C_RM24C512C
 | |
| 
 | |
| #define ENCODER_DIRECTION_FLIP
 | |
| /*
 | |
|  * MIDI options
 | |
|  */
 | |
| 
 | |
| /* enable basic MIDI features:
 | |
|    - MIDI notes can be sent when in Music mode is on
 | |
| */
 | |
| 
 | |
| // #define MIDI_BASIC
 | |
| 
 | |
| /* enable advanced MIDI features:
 | |
|    - MIDI notes can be added to the keymap
 | |
|    - Octave shift and transpose
 | |
|    - Virtual sustain, portamento, and modulation wheel
 | |
|    - etc.
 | |
| */
 | |
| //#define MIDI_ADVANCED
 | |
| 
 | |
| /* 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
 |