29 lines
711 B
C++
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;
|
|
}; |