add support for mfrc proxyies
This commit is contained in:
35
mfrcproxy.h
Normal file
35
mfrcproxy.h
Normal file
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
#include "shiftreg.h"
|
||||
#include "softspim.h"
|
||||
#include "defines.h"
|
||||
#include "serial.h"
|
||||
#include "uid.h"
|
||||
|
||||
class MfrcProxy
|
||||
{
|
||||
public:
|
||||
static constexpr uint8_t REG_CHIP_ID = 0xEE;
|
||||
static constexpr uint8_t REG_ID = 0x01;
|
||||
static constexpr uint8_t REG_IRQ_BITS = 0x02;
|
||||
static constexpr uint8_t REG_UID_LEN = 0x04;
|
||||
static constexpr uint8_t REG_UID_START_REG = 0x10;
|
||||
|
||||
private:
|
||||
ShiftReg<NFC_PORTS>* _csReg;
|
||||
SpiMaster* _spi;
|
||||
|
||||
void (*_detectCb)(MfrcProxy* proxy, Uid uid, void* data);
|
||||
void* _userData;
|
||||
|
||||
uint8_t _csPin;
|
||||
|
||||
uint8_t read(uint8_t addr);
|
||||
|
||||
public:
|
||||
MfrcProxy(SpiMaster* spi, ShiftReg<NFC_PORTS>* csReg, uint8_t csPin, void (detectCb)(MfrcProxy* proxy, Uid uid, void* data), void* userData = nullptr);
|
||||
void irq();
|
||||
static bool probe(SpiMaster* spi, ShiftReg<NFC_PORTS>* csReg, uint8_t csPin);
|
||||
uint8_t getId();
|
||||
};
|
Reference in New Issue
Block a user