~ruther/qmk_firmware

c93935f243dc7170dadfc2daf95e055fec56df6d — Simon Arlott 3 years ago dfe5fe7
Durgod: Increase scan rate by using wait_us GPT timer (#14091)

Lower the tick rate from 10kHz to 1kHz (otherwise all the extra interrupts
reduce the achievable scan rate). Enable the WAIT_US_TIMER using GPT TIM3.

Observed scan rate on the K320 is increased from 625Hz to 2090-2120Hz.
M keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h => keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h +1 -1
@@ 21,7 21,7 @@

#pragma once

#define CH_CFG_ST_FREQUENCY 10000
#define CH_CFG_ST_FREQUENCY 1000

#define CH_CFG_ST_TIMEDELTA 0


M keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h => keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h +1 -1
@@ 85,7 85,7 @@
 */
#define STM32_GPT_USE_TIM1                  FALSE
#define STM32_GPT_USE_TIM2                  FALSE
#define STM32_GPT_USE_TIM3                  FALSE
#define STM32_GPT_USE_TIM3                  TRUE
#define STM32_GPT_USE_TIM14                 FALSE
#define STM32_GPT_TIM1_IRQ_PRIORITY         2
#define STM32_GPT_TIM2_IRQ_PRIORITY         2

M keyboards/durgod/dgk6x/config.h => keyboards/durgod/dgk6x/config.h +3 -0
@@ 22,6 22,9 @@
#define VENDOR_ID       0xD60D
#define MANUFACTURER    Hoksi Technology

#define USB_POLLING_INTERVAL_MS 1
#define WAIT_US_TIMER           GPTD3

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL


M keyboards/durgod/dgk6x/halconf.h => keyboards/durgod/dgk6x/halconf.h +3 -0
@@ 19,4 19,7 @@
#ifdef RGB_MATRIX_ENABLE
#define HAL_USE_I2C TRUE
#endif

#define HAL_USE_GPT TRUE

#include_next <halconf.h>

M keyboards/durgod/k3x0/config.h => keyboards/durgod/k3x0/config.h +3 -0
@@ 23,6 23,9 @@
#define VENDOR_ID       0xD60D
#define MANUFACTURER    Hoksi Technology

#define USB_POLLING_INTERVAL_MS 1
#define WAIT_US_TIMER           GPTD3

/* key matrix size (rows in specific keyboard variant) */
#define MATRIX_COLS 16


M keyboards/durgod/k3x0/halconf.h => keyboards/durgod/k3x0/halconf.h +2 -0
@@ 19,4 19,6 @@
#define HAL_USE_PAL                 TRUE
#define PAL_USE_CALLBACKS           TRUE

#define HAL_USE_GPT                 TRUE

#include_next <halconf.h>