#include "rfid_reader.hpp" #include #include #include #include #include rfid_reader::rfid_reader() { mfrc.PCD_Init(); loop(); std::this_thread::sleep_for(1s); } uint32_t rfid_reader::last_id() const { return uid; } void rfid_reader::loop() { while(true) { if(!mfrc.PICC_IsNewCardPresent()) { continue; } if(!mfrc.PICC_ReadCardSerial()) { continue; } uid = int((unsigned char)(mfrc.uid.uidByte[0]) << 24 | (unsigned char)(mfrc.uid.uidByte[1]) << 16 | (unsigned char)(mfrc.uid.uidByte[2]) << 8 | (unsigned char)(mfrc.uid.uidByte[3])); #ifndef NDEBUG printf("\n"); std::time_t result = std::time(nullptr); std::cout << std::asctime(std::localtime(&result)); printf("%X\n", last_id()); #endif } }