-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMFRC522.h
More file actions
109 lines (101 loc) · 2.86 KB
/
Copy pathMFRC522.h
File metadata and controls
109 lines (101 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
enum {
PCD_IDLE = 0x00,
PCD_AUTHENT = 0x0E,
PCD_RECEIVE = 0x08,
PCD_TRANSMIT = 0x04,
PCD_TRANSCEIVE = 0x0C,
PCD_RESETPHASE = 0x0F,
PCD_CALCCRC = 0x03,
PICC_REQIDL = 0x26,
PICC_REQALL = 0x52,
PICC_ANTICOLL = 0x93,
PICC_SELECTTAG = 0x93,
PICC_AUTHENT1A = 0x60,
PICC_AUTHENT1B = 0x61,
PICC_READ = 0x30,
PICC_WRITE = 0xA0,
PICC_DECREMENT = 0xC0,
PICC_INCREMENT = 0xC1,
PICC_RESTORE = 0xC2,
PICC_TRANSFER = 0xB0,
PICC_HALT = 0x50,
};
enum {
Reserved00 = 0x00,
CommandReg = 0x01,
CommIEnReg = 0x02,
DivlEnReg = 0x03,
CommIrqReg = 0x04,
DivIrqReg = 0x05,
ErrorReg = 0x06,
Status1Reg = 0x07,
Status2Reg = 0x08,
FIFODataReg = 0x09,
FIFOLevelReg = 0x0A,
WaterLevelReg = 0x0B,
ControlReg = 0x0C,
BitFramingReg = 0x0D,
CollReg = 0x0E,
Reserved01 = 0x0F,
Reserved10 = 0x10,
ModeReg = 0x11,
TxModeReg = 0x12,
RxModeReg = 0x13,
TxControlReg = 0x14,
TxAutoReg = 0x15,
TxSelReg = 0x16,
RxSelReg = 0x17,
RxThresholdReg = 0x18,
DemodReg = 0x19,
Reserved11 = 0x1A,
Reserved12 = 0x1B,
MifareReg = 0x1C,
Reserved13 = 0x1D,
Reserved14 = 0x1E,
SerialSpeedReg = 0x1F,
Reserved20 = 0x20,
CRCResultRegM = 0x21,
CRCResultRegL = 0x22,
Reserved21 = 0x23,
ModWidthReg = 0x24,
Reserved22 = 0x25,
RFCfgReg = 0x26,
GsNReg = 0x27,
CWGsPReg = 0x28,
ModGsPReg = 0x29,
TModeReg = 0x2A,
TPrescalerReg = 0x2B,
TReloadRegH = 0x2C,
TReloadRegL = 0x2D,
TCounterValueRegH = 0x2E,
TCounterValueRegL = 0x2F,
Reserved30 = 0x30,
TestSel1Reg = 0x31,
TestSel2Reg = 0x32,
TestPinEnReg = 0x33,
TestPinValueReg = 0x34,
TestBusReg = 0x35,
AutoTestReg = 0x36,
VersionReg = 0x37,
AnalogTestReg = 0x38,
TestDAC1Reg = 0x39,
TestDAC2Reg = 0x3A,
TestADCReg = 0x3B,
Reserved31 = 0x3C,
Reserved32 = 0x3D,
Reserved33 = 0x3E,
Reserved34 = 0x3F,
};
enum {
MI_OK = 0,
MI_NOTAGERR = 1,
MI_ERR = 2,
};
int MFRC522_Init(unsigned int ce);
int MFRC522_Request(unsigned char reqMode, unsigned char *backBitsp);
int MFRC522_Anticoll(unsigned char **backDatap);
int MFRC522_SelectTag(unsigned char *uid);
int MFRC522_Auth(unsigned char authMode, int BlockAddr, unsigned char *Sectorkey, size_t SectorkeyLen, unsigned char *serNum);
void MFRC522_Read(unsigned char blockAddr);
void MFRC522_Write(unsigned char blockAddr, unsigned char *writeData, size_t writeDataLen);
void MFRC522_StopCrypto1(void);