#include "RFID.h" RFIDReader::RFIDReader(int ssPin, int rstPin) : _rfid(ssPin, rstPin) {} void RFIDReader::begin() { SPI.begin(); _rfid.PCD_Init(); } bool RFIDReader::check() { if (!_rfid.PICC_IsNewCardPresent()) return false; if (!_rfid.PICC_ReadCardSerial()) return false; // _rfid.PICC_HaltA(); // stop the tag // _rfid.PCD_StopCrypto1(); // clear RC522 crypto return true; } void RFIDReader::reset() { _rfid.PICC_HaltA(); _rfid.PCD_StopCrypto1(); } bool RFIDReader::matches(const byte* expectedUid, byte expectedSize) const { if (_rfid.uid.size != expectedSize) return false; for (byte i = 0; i < expectedSize; ++i) { if (_rfid.uid.uidByte[i] != expectedUid[i]) return false; } return true; } void RFIDReader::printUID() const { Serial.println(F("RFID Tag UID:")); // for (byte i = 0; i < _rfid.uid.size; i++) { // Serial.print(_rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); // Serial.print(_rfid.uid.uidByte[i], HEX); // } } const byte* RFIDReader::getUID() const { return _rfid.uid.uidByte; } byte RFIDReader::getUIDSize() const { return _rfid.uid.size; }