summaryrefslogtreecommitdiff
path: root/quantum/debounce/tests/debounce_test_common.cpp
AgeCommit message (Collapse)AuthorFilesLines
2025-10-19Debounce: Deprecate num_rows parameter (#25632)フィルターペーパー1-2/+2
2025-09-07Refactor debounce algorithm with static allocation (#25515)フィルターペーパー1-2/+0
* Refactor debounce counters with direct indexing * Refactor code to use array indexing for debounce_counters * Use global MATRIX_ROW_SHIFTER macro * Refactor debounce algorithm with static allocation * Converted arrays to static allocation * Standardised use of MATRIX_ROWS_PER_HAND for array sizing * Added Doxygen comments for primary debounce functions * Removed debounce_free() * Rewrite sym_defer_pr * Modernise code using sym_defer_pk as template * Format consistency with other current algorithms * Use shorter SPDX-License-Identifier * Remove ChibiOS core memory manager guard * Keep type definition within DEBOUNCE guard * Add change log * Minor optimisation refactor * Pre-calculate row_offset in per-key matrix loops * Add inline compiler hints * Improve readability with blank lines * Limit elapsed time to the maximum debounce value * Apply suggestions from code review Declare counters with "DEBOUNCE_ELAPSED" Co-authored-by: Joel Challis <git@zvecr.com> * Update change log to new breaking change date --------- Co-authored-by: Joel Challis <git@zvecr.com>
2023-09-25[Enhancement] Improvements for debounce test coverage + bug fixes for ↵Andre Brait1-7/+18
sym_defer_g and sym_eager_pr (#21667) Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
2023-07-09debounce: remove direct `quantum.h` includes (#21480)Ryan1-2/+1
2022-07-07Make debounce() signal changes in the cooked matrix as return value (#17554)Stefan Kerkmann1-1/+5
2022-02-12Format code according to conventions (#16322)QMK Bot1-1/+3
2021-11-01Manually format develop (#15003)Joel Challis1-48/+24
2021-06-09Avoid 8-bit timer overflows in debounce algorithms (#12240)Simon Arlott1-0/+229
* Add fast_timer_t that is 16-bit or 32-bit based on architecture A 16-bit timer will overflow sooner but be faster to compare on AVR. * Avoid 8-bit timer overflows in debounce algorithms Count down remaining elapsed time instead of trying to do 8-bit timer comparisons. Add a "none" implementation that is automatically used if DEBOUNCE is 0 otherwise it will break the _pk/_pr count down. * Avoid unnecessary polling of the entire matrix in sym_eager_pk The matrix only needs to be updated when a debounce timer expires. * Avoid unnecessary polling of the entire matrix in sym_eager_pr The matrix only needs to be updated when a debounce timer expires. The use of the "needed_update" variable is trying to do what "matrix_need_update" was added to fix but didn't work because it only applied when all keys finished debouncing. * Fix sym_defer_g timing inconsistency compared to other debounce algorithms DEBOUNCE=5 should process the key after 5ms, not 6ms * Add debounce tests