~ruther/qmk_firmware

503e02db79c06f7893e6802eb1a2ab2850a931f1 — alex-ong 6 years ago 10cc423 + d30d5ee
Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor
M common_features.mk => common_features.mk +3 -3
@@ 265,11 265,11 @@ endif

DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# 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
else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g)
else ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
    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
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

M keyboards/handwired/xealous/rules.mk => keyboards/handwired/xealous/rules.mk +1 -1
@@ 68,7 68,7 @@ SUBPROJECT_rev1 = yes
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

CUSTOM_MATRIX = no
DEBOUNCE_ALGO = manual
DEBOUNCE_TYPE = custom

LAYOUTS = split60


M quantum/debounce.h => quantum/debounce.h +0 -2
@@ 1,7 1,5 @@
#pragma once

#include "matrix.h"

// raw is the current key state
// on entry cooked is the previous debounced state
// on exit cooked is the current debounced state

M quantum/debounce/debounce_sym_g.c => quantum/debounce/debounce_sym_g.c +3 -3
@@ 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
When no state changes have occured for DEBOUNCE milliseconds, we push the state.
*/
#include "debounce.h"
#include "matrix.h"
#include "timer.h"
#include "quantum.h"
#ifndef DEBOUNCE
  #define DEBOUNCE 5
#endif


@@ 45,13 45,13 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool 
#else //no debouncing.
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];
  }
}
#endif

bool debounce_active() {
bool debounce_active(void) {
  return debouncing;
}