Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor

pull/3720/head
alex-ong 6 years ago
commit 503e02db79

@ -265,11 +265,11 @@ endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. If implemented in matrix.c, don't use these. # Debounce Modules. If implemented in matrix.c, don't use these.
ifeq ($(strip $(DEBOUNCE_ALGO)), manual) ifeq ($(strip $(DEBOUNCE_TYPE)), custom)
# Do nothing. do your debouncing in matrix.c # Do nothing. do your debouncing in matrix.c
else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g) else ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
else ifeq ($(strip $(DEBOUNCE_ALGO)), eager_pk) else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
else # default algorithm. Won't be used if we have a custom_matrix that doesn't utilize it else # default algorithm. Won't be used if we have a custom_matrix that doesn't utilize it
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c

@ -68,7 +68,7 @@ SUBPROJECT_rev1 = yes
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = no CUSTOM_MATRIX = no
DEBOUNCE_ALGO = manual DEBOUNCE_TYPE = custom
LAYOUTS = split60 LAYOUTS = split60

@ -1,7 +1,5 @@
#pragma once #pragma once
#include "matrix.h"
// raw is the current key state // raw is the current key state
// on entry cooked is the previous debounced state // on entry cooked is the previous debounced state
// on exit cooked is the current debounced state // on exit cooked is the current debounced state

@ -16,9 +16,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
Basic global debounce algorithm. Used in 99% of keyboards at time of implementation Basic global debounce algorithm. Used in 99% of keyboards at time of implementation
When no state changes have occured for DEBOUNCE milliseconds, we push the state. When no state changes have occured for DEBOUNCE milliseconds, we push the state.
*/ */
#include "debounce.h"
#include "matrix.h" #include "matrix.h"
#include "timer.h" #include "timer.h"
#include "quantum.h"
#ifndef DEBOUNCE #ifndef DEBOUNCE
#define DEBOUNCE 5 #define DEBOUNCE 5
#endif #endif
@ -45,13 +45,13 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool
#else //no debouncing. #else //no debouncing.
void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed)
{ {
for (int i = 0; i < MATRIX_ROWS; i++) { for (int i = 0; i < num_rows; i++) {
cooked[i] = raw[i]; cooked[i] = raw[i];
} }
} }
#endif #endif
bool debounce_active() { bool debounce_active(void) {
return debouncing; return debouncing;
} }

Loading…
Cancel
Save