#pragma once #include "hardware.pb.h" #include /** * @class HardwareRfid * @brief Manages an MFRC522 RFID reader on ESP8266. * Reads card UIDs and sends them via a callback using hardware_SensorToControlMessage. */ class HardwareRfid { public: using RfidCallback = void (*)(const hardware_SensorToControlMessage&); /** * @brief Constructor for HardwareRfid. * @param ssPin SPI Slave Select (SS) pin for MFRC522. * @param rstPin Reset pin for MFRC522. */ HardwareRfid(uint8_t ssPin, uint8_t rstPin); void begin(); void end(); void update(); void setCallback(RfidCallback cb); private: MFRC522 _mfrc; RfidCallback _callback = nullptr; };