Skip to content

Debouncer

Threshold-based digital debouncer for sampled inputs.

Functions

void debouncer_init(Debouncer_t* d, uint16_t threshold, uint32_t debounce_ms, uint8_t port)

Initializes threshold and debounce timing.

uint8_t digital_debouncer(Debouncer_t* d, uint16_t raw, uint32_t now)

Returns the debounced state based on threshold and elapsed time.

Usage

c
#include "debouncer.h"

void debouncer_example(void) {
    Debouncer_t d = {0};
    debouncer_init(&d, 2000, 20, 0);
    (void)digital_debouncer(&d, 2500, 100);
}

Released under the MIT License.