// Configuration structure typedef struct uint8_t pin_d0; uint8_t pin_d1; uint32_t bit_timeout_us; // Max gap between bits (e.g., 2500) uint32_t packet_timeout_us; // Gap to finalize packet (e.g., 15000) bool pullup_enable; // Use internal pullups? wiegand_config_t;
#ifndef WIEGAND_H #define WIEGAND_H #include <stdint.h> #include <stdbool.h> wiegand.h
// Example ISR (pseudo-code) void IRAM_ATTR on_d0_falling() record_bit(0); // Max gap between bits (e.g.
void IRAM_ATTR on_d1_falling() record_bit(1); 2500) uint32_t packet_timeout_us