45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
#include "rfid.h"
|
|
|
|
uint8_t cardsToCheck[] = {TRACK_NFCTYPE1,
|
|
TRACK_NFCTYPE2,
|
|
TRACK_NFCTYPE3,
|
|
TRACK_NFCTYPE4A,
|
|
TRACK_NFCTYPE4B,
|
|
TRACK_NFCTYPE5};
|
|
|
|
uint8_t currentCardIdx = 0;
|
|
uint8_t maxCardIdx = sizeof(cardsToCheck);
|
|
|
|
uint32_t last_rfid_update = 0;
|
|
//CR95HF reader(NFC_SS, NFC_SCK, NFC_MOSI, NFC_MISO, NFC_IRQ);
|
|
|
|
//*****************************************************************************************//
|
|
void initRfid()
|
|
{
|
|
Serial.println(F("rfid init")); //shows in serial that it is ready to read
|
|
|
|
//int8_t sck=-1, int8_t miso=-1, int8_t mosi=-1, int8_t ss=-1);
|
|
ConfigManager_HWInit(NFC_SCK, NFC_MISO, NFC_MOSI, NFC_SS, NFC_IRQ);
|
|
//reader.begin();
|
|
Serial.println(F("rfid init done")); //shows in serial that it is ready to read
|
|
}
|
|
|
|
//*****************************************************************************************//
|
|
void handleRfid()
|
|
{
|
|
uint32_t timeNow = millis();
|
|
|
|
if (timeNow - last_rfid_update > RFIDINTERVAL)
|
|
{
|
|
Serial.printf("rfid: reading card type index %d\n",currentCardIdx);
|
|
uint8_t TagType = ConfigManager_TagHunting(cardsToCheck[currentCardIdx++]);
|
|
if(currentCardIdx > maxCardIdx)
|
|
{
|
|
currentCardIdx = 0;
|
|
}
|
|
Serial.printf("rfid: read card returned %d\n",TagType);
|
|
last_rfid_update = timeNow;
|
|
}
|
|
}
|
|
//*****************************************************************************************//
|