Repositório para códigos do painel da plataforma SATC

Dependencies:   MFRC522 mbed-STM32F103C8T6 mbed

Fork of C_005_EA_Painel_sem_bms by Engenharia Mobilis

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers leitor_rfid.h Source File

leitor_rfid.h

00001 #include <stm32f103c8t6.h>
00002 #include <mbed.h>
00003 #include <MFRC522.h>
00004 #include <algorithm>
00005 #include <lista_de_ids_autorizados.h>
00006 
00007 // Constantes para configuracao do modo de funcionamento segundo datasheet
00008 const uint8_t comIEnRegInterruptValue = (1<<7)|(1<<5);
00009 const uint8_t comIEnRegPollingValue = 0x80;
00010 const uint8_t comIrqRegValue = 0x7F;
00011 
00012 
00013 // lista de modos de funcionamento do cartao
00014 typedef enum CardReaderMode{
00015     CRMODE_Interrupt = 0, 
00016     CRMODE_Polling,
00017 }CardReaderMode;
00018 
00019 // classe utilizada pelo usuario
00020 class CardReader{
00021     private: 
00022         MFRC522 rf_chip;        
00023     public: 
00024         // importante ser 'char' para ser compativel com o metodo de envio de mensagem CAN
00025         char last_valid_card[ID_SIZE];        
00026         CardReader(PinName mosi,PinName miso,PinName sclk,PinName cs,PinName reset) : rf_chip(mosi,miso,sclk,cs,reset){}
00027         uint8_t init(CardReaderMode);
00028         void clearInterrupts();
00029         void enableAntenna();
00030         int readCard(); // returns true if successful
00031         int cardIsValid();    
00032 };