Merge upstream QMK Firmware at '0.12.52~1'

This commit is contained in:
Drashna Jael're
2021-06-29 12:23:03 -07:00
415 changed files with 18692 additions and 7301 deletions

View File

@@ -0,0 +1,29 @@
/* Copyright 2020 QMK
*
* 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/>.
*/
/*
* This file was auto-generated by:
* `qmk chibios-confmigrate -i keyboards/planck/rev6/chconf.h -r platforms/chibios/QMK_PROTON_C/configs/chconf.h`
*/
#pragma once
#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_ST_FREQUENCY 10000
#include_next <chconf.h>

View File

@@ -17,7 +17,7 @@
#pragma once
/* USB Device descriptor parameter */
#undef VENDOR_ID
#define VENDOR_ID 0x3297
#undef PRODUCT_ID
@@ -27,7 +27,7 @@
#undef PRODUCT
#define PRODUCT Planck EZ
#define DEVICE_VER 0x0000
#define WEBUSB_LANDING_PAGE_URL u8"configure.ergodox-ez.com"
#undef MATRIX_ROWS
#undef MATRIX_COLS
@@ -57,10 +57,13 @@
#define MUSIC_MAP
#undef AUDIO_VOICES
#undef C6_AUDIO
#undef AUDIO_PIN
#define AUDIO_PIN A5
#define AUDIO_PIN_ALT A4
#define AUDIO_PIN_ALT_AS_NEGATIVE
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 6
// #define DEBOUNCE 6
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
@@ -110,9 +113,6 @@
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
@@ -129,16 +129,6 @@
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
// #define WS2812_LED_N 2
// #define RGBLED_NUM WS2812_LED_N
// #define WS2812_TIM_N 2
// #define WS2812_TIM_CH 2
// #define PORT_WS2812 GPIOA
// #define PIN_WS2812 1
// #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
//#define WS2812_DMA_CHANNEL 7 // DMA channel for TIMx_UP
//#define WS2812_EXTERNAL_PULLUP
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
@@ -150,11 +140,9 @@
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
#define RGB_MATRIX_LED_PROCESS_LIMIT 5
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define I2C1_CLOCK_SPEED 400000
#define IGNORE_MOD_TAP_INTERRUPT

View File

@@ -18,18 +18,7 @@
#include <hal.h>
keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
@@ -114,8 +103,24 @@ led_config_t g_led_config = { {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1
} };
void suspend_power_down_kb(void) {
rgb_matrix_set_color_all(0, 0, 0);
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
void keyboard_post_init_kb(void) {
rgb_matrix_enable_noeeprom();
keyboard_post_init_user();
}
#endif
/* Left B9 Right B8 */
// See http://jared.geek.nz/2013/feb/linear-led-pwm
static uint16_t cie_lightness(uint16_t v) {
@@ -133,7 +138,7 @@ static uint16_t cie_lightness(uint16_t v) {
}
}
static PWMConfig pwmCFG = {
static PWMConfig pwmCFG = {
0xFFFF,/* PWM clock frequency */
256,/* initial PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */
NULL,
@@ -218,29 +223,18 @@ void keyboard_pre_init_kb(void) {
rgb_matrix_set_flags(LED_FLAG_NONE);
}
#endif
// initialize settings for front LEDs
led_initialize_hardware();
keyboard_pre_init_user();
}
#ifdef RGB_MATRIX_ENABLE
void keyboard_post_init_kb(void) {
rgb_matrix_enable_noeeprom();
keyboard_post_init_user();
}
#endif
void eeconfig_init_kb(void) { // EEPROM is getting reset!
keyboard_config.raw = 0;
keyboard_config.rgb_matrix_enable = true;
keyboard_config.led_level = 4;
eeconfig_update_kb(keyboard_config.raw);
eeconfig_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
planck_ez_left_led_off();
planck_ez_right_led_off();
@@ -281,7 +275,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
case TOGGLE_LAYER_COLOR:
if (record->event.pressed) {
keyboard_config.disable_layer_led ^= 1;
if (keyboard_config.disable_layer_led)
if (keyboard_config.disable_layer_led)
rgb_matrix_set_color_all(0, 0, 0);
eeconfig_update_kb(keyboard_config.raw);
}
@@ -306,9 +300,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return false;
#endif
}
return process_record_user(keycode, record);
return process_record_user(keycode, record);
}
#ifdef AUDIO_ENABLE
bool music_mask_kb(uint16_t keycode) {
switch (keycode) {
@@ -324,6 +319,7 @@ bool music_mask_kb(uint16_t keycode) {
}
}
#endif
#ifdef ORYX_ENABLE
static uint16_t loops = 0;
static bool is_on = false;

View File

@@ -39,17 +39,21 @@
}
#define LAYOUT_ortho_4x12( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b \
) \
LAYOUT_planck_1x2uC( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
)
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
) \
{ \
{ k00, k01, k02, k03, k04, k05 }, \
{ k10, k11, k12, k13, k14, k15 }, \
{ k20, k21, k22, k23, k24, k25 }, \
{ k30, k31, k32, k3a, k3b, KC_NO }, \
{ k06, k07, k08, k09, k0a, k0b }, \
{ k16, k17, k18, k19, k1a, k1b }, \
{ k26, k27, k28, k29, k2a, k2b }, \
{ k37, k38, k39, k33, k34, k35 } \
}
#define KEYMAP LAYOUT_ortho_4x12
#define LAYOUT_planck_mit LAYOUT_planck_1x2uC
@@ -71,7 +75,7 @@ enum planck_ez_keycodes {
typedef union {
uint32_t raw;
struct {
uint8_t led_level :3;
uint8_t led_level :3;
bool disable_layer_led :1;
bool rgb_matrix_enable :1;
};

View File

@@ -0,0 +1 @@
#include "glow.h"

View File

@@ -1,39 +1,7 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#define STARTUP_SONG SONG(DVORAK_SOUND)
#endif
/*
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* 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
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 5

View File

@@ -1,115 +1,115 @@
{
"keyboard_name": "Planck EZ",
"keyboard_folder": "planck/ez",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
"width": 12,
"height": 4,
"layouts": {
"LAYOUT_planck_1x2uC": {
"key_count": 47,
"layout": [
{ "x": 0, "y": 0 },
{ "x": 1, "y": 0 },
{ "x": 2, "y": 0 },
{ "x": 3, "y": 0 },
{ "x": 4, "y": 0 },
{ "x": 5, "y": 0 },
{ "x": 6, "y": 0 },
{ "x": 7, "y": 0 },
{ "x": 8, "y": 0 },
{ "x": 9, "y": 0 },
{ "x": 10, "y": 0 },
{ "x": 11, "y": 0 },
{ "x": 0, "y": 1 },
{ "x": 1, "y": 1 },
{ "x": 2, "y": 1 },
{ "x": 3, "y": 1 },
{ "x": 4, "y": 1 },
{ "x": 5, "y": 1 },
{ "x": 6, "y": 1 },
{ "x": 7, "y": 1 },
{ "x": 8, "y": 1 },
{ "x": 9, "y": 1 },
{ "x": 10, "y": 1 },
{ "x": 11, "y": 1 },
{ "x": 0, "y": 2 },
{ "x": 1, "y": 2 },
{ "x": 2, "y": 2 },
{ "x": 3, "y": 2 },
{ "x": 4, "y": 2 },
{ "x": 5, "y": 2 },
{ "x": 6, "y": 2 },
{ "x": 7, "y": 2 },
{ "x": 8, "y": 2 },
{ "x": 9, "y": 2 },
{ "x": 10, "y": 2 },
{ "x": 11, "y": 2 },
{ "x": 0, "y": 3 },
{ "x": 1, "y": 3 },
{ "x": 2, "y": 3 },
{ "x": 3, "y": 3 },
{ "x": 4, "y": 3 },
{ "x": 5, "y": 3, "w": 2 },
{ "x": 7, "y": 3 },
{ "x": 8, "y": 3 },
{ "x": 9, "y": 3 },
{ "x": 10, "y": 3 },
{ "x": 11, "y": 3 }
]
},
"LAYOUT_ortho_4x12": {
"key_count": 48,
"layout": [
{ "x": 0, "y": 0 },
{ "x": 1, "y": 0 },
{ "x": 2, "y": 0 },
{ "x": 3, "y": 0 },
{ "x": 4, "y": 0 },
{ "x": 5, "y": 0 },
{ "x": 6, "y": 0 },
{ "x": 7, "y": 0 },
{ "x": 8, "y": 0 },
{ "x": 9, "y": 0 },
{ "x": 10, "y": 0 },
{ "x": 11, "y": 0 },
{ "x": 0, "y": 1 },
{ "x": 1, "y": 1 },
{ "x": 2, "y": 1 },
{ "x": 3, "y": 1 },
{ "x": 4, "y": 1 },
{ "x": 5, "y": 1 },
{ "x": 6, "y": 1 },
{ "x": 7, "y": 1 },
{ "x": 8, "y": 1 },
{ "x": 9, "y": 1 },
{ "x": 10, "y": 1 },
{ "x": 11, "y": 1 },
{ "x": 0, "y": 2 },
{ "x": 1, "y": 2 },
{ "x": 2, "y": 2 },
{ "x": 3, "y": 2 },
{ "x": 4, "y": 2 },
{ "x": 5, "y": 2 },
{ "x": 6, "y": 2 },
{ "x": 7, "y": 2 },
{ "x": 8, "y": 2 },
{ "x": 9, "y": 2 },
{ "x": 10, "y": 2 },
{ "x": 11, "y": 2 },
{ "x": 0, "y": 3 },
{ "x": 1, "y": 3 },
{ "x": 2, "y": 3 },
{ "x": 3, "y": 3 },
{ "x": 4, "y": 3 },
{ "x": 5, "y": 3 },
{ "x": 6, "y": 3 },
{ "x": 7, "y": 3 },
{ "x": 8, "y": 3 },
{ "x": 9, "y": 3 },
{ "x": 10, "y": 3 },
{ "x": 11, "y": 3 }
]
"keyboard_name": "Planck EZ",
"keyboard_folder": "planck/ez",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
"width": 12,
"height": 4,
"layouts": {
"LAYOUT_planck_1x2uC": {
"key_count": 47,
"layout": [
{ "x": 0, "y": 0 },
{ "x": 1, "y": 0 },
{ "x": 2, "y": 0 },
{ "x": 3, "y": 0 },
{ "x": 4, "y": 0 },
{ "x": 5, "y": 0 },
{ "x": 6, "y": 0 },
{ "x": 7, "y": 0 },
{ "x": 8, "y": 0 },
{ "x": 9, "y": 0 },
{ "x": 10, "y": 0 },
{ "x": 11, "y": 0 },
{ "x": 0, "y": 1 },
{ "x": 1, "y": 1 },
{ "x": 2, "y": 1 },
{ "x": 3, "y": 1 },
{ "x": 4, "y": 1 },
{ "x": 5, "y": 1 },
{ "x": 6, "y": 1 },
{ "x": 7, "y": 1 },
{ "x": 8, "y": 1 },
{ "x": 9, "y": 1 },
{ "x": 10, "y": 1 },
{ "x": 11, "y": 1 },
{ "x": 0, "y": 2 },
{ "x": 1, "y": 2 },
{ "x": 2, "y": 2 },
{ "x": 3, "y": 2 },
{ "x": 4, "y": 2 },
{ "x": 5, "y": 2 },
{ "x": 6, "y": 2 },
{ "x": 7, "y": 2 },
{ "x": 8, "y": 2 },
{ "x": 9, "y": 2 },
{ "x": 10, "y": 2 },
{ "x": 11, "y": 2 },
{ "x": 0, "y": 3 },
{ "x": 1, "y": 3 },
{ "x": 2, "y": 3 },
{ "x": 3, "y": 3 },
{ "x": 4, "y": 3 },
{ "x": 5, "y": 3, "w": 2 },
{ "x": 7, "y": 3 },
{ "x": 8, "y": 3 },
{ "x": 9, "y": 3 },
{ "x": 10, "y": 3 },
{ "x": 11, "y": 3 }
]
},
"LAYOUT_ortho_4x12": {
"key_count": 48,
"layout": [
{ "x": 0, "y": 0 },
{ "x": 1, "y": 0 },
{ "x": 2, "y": 0 },
{ "x": 3, "y": 0 },
{ "x": 4, "y": 0 },
{ "x": 5, "y": 0 },
{ "x": 6, "y": 0 },
{ "x": 7, "y": 0 },
{ "x": 8, "y": 0 },
{ "x": 9, "y": 0 },
{ "x": 10, "y": 0 },
{ "x": 11, "y": 0 },
{ "x": 0, "y": 1 },
{ "x": 1, "y": 1 },
{ "x": 2, "y": 1 },
{ "x": 3, "y": 1 },
{ "x": 4, "y": 1 },
{ "x": 5, "y": 1 },
{ "x": 6, "y": 1 },
{ "x": 7, "y": 1 },
{ "x": 8, "y": 1 },
{ "x": 9, "y": 1 },
{ "x": 10, "y": 1 },
{ "x": 11, "y": 1 },
{ "x": 0, "y": 2 },
{ "x": 1, "y": 2 },
{ "x": 2, "y": 2 },
{ "x": 3, "y": 2 },
{ "x": 4, "y": 2 },
{ "x": 5, "y": 2 },
{ "x": 6, "y": 2 },
{ "x": 7, "y": 2 },
{ "x": 8, "y": 2 },
{ "x": 9, "y": 2 },
{ "x": 10, "y": 2 },
{ "x": 11, "y": 2 },
{ "x": 0, "y": 3 },
{ "x": 1, "y": 3 },
{ "x": 2, "y": 3 },
{ "x": 3, "y": 3 },
{ "x": 4, "y": 3 },
{ "x": 5, "y": 3 },
{ "x": 6, "y": 3 },
{ "x": 7, "y": 3 },
{ "x": 8, "y": 3 },
{ "x": 9, "y": 3 },
{ "x": 10, "y": 3 },
{ "x": 11, "y": 3 }
]
}
}
}
}

View File

@@ -0,0 +1,30 @@
/* Copyright 2020 QMK Contributors
*
* 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 3 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/>.
*/
#include_next "mcuconf.h"
// The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used
// on the Planck requires the use of TIM2 to run PWM -- rework which timers are
// allocated for PWM usage.
#undef STM32_PWM_USE_TIM2
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM2 TRUE
#define STM32_PWM_USE_TIM3 FALSE
// As mentioned above, we need to reallocate the SysTick timer used from
// TIM2 to TIM3.
#undef STM32_ST_USE_TIMER
#define STM32_ST_USE_TIMER 3

30
keyboards/planck/ez/rules.mk Normal file → Executable file
View File

@@ -1,24 +1,32 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Build Options
# comment out to disable the options.
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = yes
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output on port C6
RGBLIGHT_ENABLE = no
ENCODER_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
# SERIAL_LINK_ENABLE = yes
ENCODER_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3737
LAYOUTS += ortho_4x12
MOUSE_SHARED_EP = no
LAYOUTS = ortho_4x12
LAYOUTS_HAS_RGB = no