From de00b97b86500c31c7308c9ae538f7882118b377 Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Fri, 20 Aug 2021 17:50:54 +0100 Subject: [PATCH] Durgod: Increase scan rate by using wait_us GPT timer 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. --- keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h | 2 +- keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h | 2 +- keyboards/durgod/dgk6x/config.h | 3 +++ keyboards/durgod/dgk6x/halconf.h | 3 +++ keyboards/durgod/k3x0/config.h | 3 +++ keyboards/durgod/k3x0/halconf.h | 2 ++ 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h index a7d95c51a9c2..d70f188178eb 100644 --- a/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h @@ -21,7 +21,7 @@ #pragma once -#define CH_CFG_ST_FREQUENCY 10000 +#define CH_CFG_ST_FREQUENCY 1000 #define CH_CFG_ST_TIMEDELTA 0 diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h index 6d67aa96aa9f..a24c1cee127d 100644 --- a/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h @@ -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 diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index 53f824b98eb6..56fbffe32649 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -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 diff --git a/keyboards/durgod/dgk6x/halconf.h b/keyboards/durgod/dgk6x/halconf.h index 1772f8e4104e..9c1c6e52805a 100644 --- a/keyboards/durgod/dgk6x/halconf.h +++ b/keyboards/durgod/dgk6x/halconf.h @@ -19,4 +19,7 @@ #ifdef RGB_MATRIX_ENABLE #define HAL_USE_I2C TRUE #endif + +#define HAL_USE_GPT TRUE + #include_next diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k3x0/config.h index ef73a710164b..af543bb970b7 100644 --- a/keyboards/durgod/k3x0/config.h +++ b/keyboards/durgod/k3x0/config.h @@ -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 diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k3x0/halconf.h index fa20fe30a98e..d2a9d8c7c0b3 100644 --- a/keyboards/durgod/k3x0/halconf.h +++ b/keyboards/durgod/k3x0/halconf.h @@ -19,4 +19,6 @@ #define HAL_USE_PAL TRUE #define PAL_USE_CALLBACKS TRUE +#define HAL_USE_GPT TRUE + #include_next