try to implement code for rfid

This commit is contained in:
Siegfried Kienzle
2017-06-15 17:03:34 +02:00
parent f7b66b811f
commit f2544e40f0
2 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
#include "rfid_reader.hpp"
#include <unistd.h>
#include <iostream>
#include <chrono>
#include <thread>
#include <ctime>
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
}
}