Files
muziekdoos/FW/leo_muziekdoos_esp32/src/rfid.cpp
2023-01-02 07:42:16 +01:00

69 lines
1.4 KiB
C++

#include "rfid.h"
PN532_SPI pn532spi(SPI, NFC_SS, NFC_SCK, NFC_MISO, NFC_MOSI);
NfcAdapter nfc = NfcAdapter(pn532spi);
uint32_t lastRFID = 0;
String lastUid = "";
bool RfidinitOK = false;
bool RfidScanActive = false;
//*****************************************************************************************//
void initRfid()
{
log_i("RFID init:"); // shows in serial that it is ready to read
nfc.begin(true);
RfidinitOK = true;
log_i("RFID init: OK"); // shows in serial that it is ready to read
}
//*****************************************************************************************//
void handleRfid()
{
uint32_t timeNow = millis();
if (lastRFID - timeNow > RFIDINTERVAL && RfidScanActive)
{
log_i("scanning");
if (nfc.tagPresent(100))
{
NfcTag tag = nfc.read();
lastUid = tag.getUidString();
log_i("found tag %s",lastUid.c_str());
}
lastRFID = timeNow;
}
}
bool getRFIDInitStatus(void)
{
return RfidinitOK;
}
String getRFIDlastUID(void)
{
return lastUid;
}
bool getRFIDlastUIDValid(void)
{
if(lastUid == "")
{
return false;
}
return (getUIDvalid(lastUid));
}
void setRFIDscanState(bool state)
{
RfidScanActive = state;
}
void clearRFIDlastUID( void)
{
log_i("cleard last tag");
lastUid = "";
}
//*****************************************************************************************//