Files

29 lines
711 B
C++

#pragma once
#include "hardware.pb.h"
#include <MFRC522.h>
/**
* @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;
};