/**
 * @file switch_debouncer.h
 * @brief EPB switch with software debounce.
 *
 * @arch SWA-006
 * @reqs SWE-025
 *
 * ASIL: QM
 */
#ifndef SWITCH_DEBOUNCER_H
#define SWITCH_DEBOUNCER_H

#include "epb_types.h"

/** Step cycle 10 ms. Debounce threshold 50 ms (5 stable samples). */
#define SWITCH_DEBOUNCE_SAMPLES 5

EpbStatus   switch_init(void);
void        switch_step_10ms(SwitchRaw raw);
SwitchState switch_get_state(void);

#endif /* SWITCH_DEBOUNCER_H */
