mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-03 23:02:34 +01:00 
			
		
		
		
	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.
This commit is contained in:
		
							parent
							
								
									dfe5fe7181
								
							
						
					
					
						commit
						c93935f243
					
				@ -21,7 +21,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CH_CFG_ST_FREQUENCY 10000
 | 
					#define CH_CFG_ST_FREQUENCY 1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CH_CFG_ST_TIMEDELTA 0
 | 
					#define CH_CFG_ST_TIMEDELTA 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -85,7 +85,7 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
#define STM32_GPT_USE_TIM1                  FALSE
 | 
					#define STM32_GPT_USE_TIM1                  FALSE
 | 
				
			||||||
#define STM32_GPT_USE_TIM2                  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_USE_TIM14                 FALSE
 | 
				
			||||||
#define STM32_GPT_TIM1_IRQ_PRIORITY         2
 | 
					#define STM32_GPT_TIM1_IRQ_PRIORITY         2
 | 
				
			||||||
#define STM32_GPT_TIM2_IRQ_PRIORITY         2
 | 
					#define STM32_GPT_TIM2_IRQ_PRIORITY         2
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,9 @@
 | 
				
			|||||||
#define VENDOR_ID       0xD60D
 | 
					#define VENDOR_ID       0xD60D
 | 
				
			||||||
#define MANUFACTURER    Hoksi Technology
 | 
					#define MANUFACTURER    Hoksi Technology
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define USB_POLLING_INTERVAL_MS 1
 | 
				
			||||||
 | 
					#define WAIT_US_TIMER           GPTD3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
#define DIODE_DIRECTION ROW2COL
 | 
					#define DIODE_DIRECTION ROW2COL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,4 +19,7 @@
 | 
				
			|||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					#ifdef RGB_MATRIX_ENABLE
 | 
				
			||||||
#define HAL_USE_I2C TRUE
 | 
					#define HAL_USE_I2C TRUE
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_GPT TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include_next <halconf.h>
 | 
					#include_next <halconf.h>
 | 
				
			||||||
 | 
				
			|||||||
@ -23,6 +23,9 @@
 | 
				
			|||||||
#define VENDOR_ID       0xD60D
 | 
					#define VENDOR_ID       0xD60D
 | 
				
			||||||
#define MANUFACTURER    Hoksi Technology
 | 
					#define MANUFACTURER    Hoksi Technology
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define USB_POLLING_INTERVAL_MS 1
 | 
				
			||||||
 | 
					#define WAIT_US_TIMER           GPTD3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key matrix size (rows in specific keyboard variant) */
 | 
					/* key matrix size (rows in specific keyboard variant) */
 | 
				
			||||||
#define MATRIX_COLS 16
 | 
					#define MATRIX_COLS 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,4 +19,6 @@
 | 
				
			|||||||
#define HAL_USE_PAL                 TRUE
 | 
					#define HAL_USE_PAL                 TRUE
 | 
				
			||||||
#define PAL_USE_CALLBACKS           TRUE
 | 
					#define PAL_USE_CALLBACKS           TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_GPT                 TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include_next <halconf.h>
 | 
					#include_next <halconf.h>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user