22 0x00, 0xC6, 0x37, 0xD5, 0x32, 0xB7, 0x57, 0x5C,
23 0xC2, 0xD8, 0x7C, 0x4D, 0xD9, 0x70, 0xC7, 0x73,
24 0x10, 0xE6, 0xD2, 0xAA, 0x5E, 0xA1, 0x3E, 0x5A,
25 0x14, 0xAF, 0x30, 0x61, 0xC9, 0x70, 0xDB, 0x2E,
26 0x64, 0x22, 0x72, 0xB5, 0xBD, 0x65, 0xF4, 0xEC,
27 0x22, 0xBC, 0xD3, 0x72, 0x35, 0xCD, 0xAA, 0x41,
28 0x1F, 0xA7, 0xF3, 0x53, 0x14, 0xDE, 0x7E, 0x02,
29 0xD9, 0x0F, 0xB5, 0x5E, 0x25, 0x1D, 0x29, 0x79
34 0x00, 0xEB, 0x66, 0xBA, 0x57, 0xBF, 0x23, 0x95,
35 0xD0, 0xE3, 0x0D, 0x3D, 0x27, 0x89, 0x5C, 0xDE,
36 0x9D, 0x3B, 0xA7, 0x00, 0x21, 0x5B, 0x89, 0x82,
37 0x51, 0x3A, 0xEB, 0x02, 0x0C, 0xA5, 0x00, 0x49,
38 0x7C, 0x84, 0x4D, 0xB3, 0xCC, 0xD2, 0x1B, 0x81,
39 0x5D, 0x48, 0x76, 0xD5, 0x71, 0x61, 0x21, 0xA9,
40 0x86, 0x96, 0x83, 0x38, 0xCF, 0x9D, 0x5B, 0x6D,
41 0xDC, 0x15, 0xBA, 0x3E, 0x7D, 0x95, 0x3B, 0x2F
244 void PCD_ReadRegister(uint8_t reg, uint8_t count, uint8_t *values, uint8_t rxAlign = 0);
264 uint8_t
PCD_TransceiveData(uint8_t *sendData, uint8_t sendLen, uint8_t *backData, uint8_t *backLen, uint8_t *validBits = NULL, uint8_t rxAlign = 0,
bool checkCRC =
false);
265 uint8_t
PCD_CommunicateWithPICC(uint8_t command, uint8_t waitIRq, uint8_t *sendData, uint8_t sendLen, uint8_t *backData = NULL, uint8_t *backLen = NULL, uint8_t *validBits = NULL, uint8_t rxAlign = 0,
bool checkCRC =
false);
266 uint8_t
PICC_RequestA(uint8_t *bufferATQA, uint8_t *bufferSize);
267 uint8_t
PICC_WakeupA(uint8_t *bufferATQA, uint8_t *bufferSize);
268 uint8_t
PICC_REQA_or_WUPA(uint8_t command, uint8_t *bufferATQA, uint8_t *bufferSize);
277 uint8_t
MIFARE_Read(uint8_t blockAddr, uint8_t *buffer, uint8_t *bufferSize);
278 uint8_t
MIFARE_Write(uint8_t blockAddr, uint8_t *buffer, uint8_t bufferSize);
302 void MIFARE_SetAccessBits(uint8_t *accessBitBuffer, uint8_t g0, uint8_t g1, uint8_t g2, uint8_t g3);
304 bool MIFARE_SetUid(uint8_t *newUid, uint8_t uidSize,
bool logErrors);
314 uint8_t MIFARE_TwoStepHelper(uint8_t command, uint8_t blockAddr,
long data);
uint8_t MIFARE_Read(uint8_t blockAddr, uint8_t *buffer, uint8_t *bufferSize)
Definition: mfrc522.cc:825
ISpi & mSpi
Definition: mfrc522.h:228
PICC_Type
Definition: mfrc522.h:187
@ PICC_TYPE_UNKNOWN
Definition: mfrc522.h:188
@ PICC_TYPE_TNP3XXX
Definition: mfrc522.h:196
@ PICC_TYPE_ISO_18092
Definition: mfrc522.h:190
@ PICC_TYPE_MIFARE_MINI
Definition: mfrc522.h:191
@ PICC_TYPE_MIFARE_4K
Definition: mfrc522.h:193
@ PICC_TYPE_ISO_14443_4
Definition: mfrc522.h:189
@ PICC_TYPE_MIFARE_1K
Definition: mfrc522.h:192
@ PICC_TYPE_MIFARE_UL
Definition: mfrc522.h:194
@ PICC_TYPE_MIFARE_PLUS
Definition: mfrc522.h:195
@ PICC_TYPE_NOT_COMPLETE
Definition: mfrc522.h:197
const string GetStatusCodeName(uint8_t code)
Definition: mfrc522.cc:1126
uint8_t MIFARE_SetValue(uint8_t blockAddr, long value)
Definition: mfrc522.cc:1050
void PCD_ClearRegisterBitMask(uint8_t reg, uint8_t mask)
Definition: mfrc522.cc:129
void PCD_SetAntennaGain(uint8_t mask)
Definition: mfrc522.cc:250
bool MIFARE_SetUid(uint8_t *newUid, uint8_t uidSize, bool logErrors)
Definition: mfrc522.cc:1588
bool MIFARE_UnbrickUidSector(bool logErrors)
Definition: mfrc522.cc:1690
PCD_RxGain
Definition: mfrc522.h:140
@ RxGain_23dB
Definition: mfrc522.h:142
@ RxGain_18dB
Definition: mfrc522.h:141
@ RxGain_18dB_2
Definition: mfrc522.h:143
@ RxGain_min
Definition: mfrc522.h:149
@ RxGain_avg
Definition: mfrc522.h:150
@ RxGain_33dB
Definition: mfrc522.h:145
@ RxGain_23dB_2
Definition: mfrc522.h:144
@ RxGain_max
Definition: mfrc522.h:151
@ RxGain_48dB
Definition: mfrc522.h:148
@ RxGain_38dB
Definition: mfrc522.h:146
@ RxGain_43dB
Definition: mfrc522.h:147
uint8_t PCD_CommunicateWithPICC(uint8_t command, uint8_t waitIRq, uint8_t *sendData, uint8_t sendLen, uint8_t *backData=NULL, uint8_t *backLen=NULL, uint8_t *validBits=NULL, uint8_t rxAlign=0, bool checkCRC=false)
Definition: mfrc522.cc:356
uint8_t PICC_REQA_or_WUPA(uint8_t command, uint8_t *bufferATQA, uint8_t *bufferSize)
Definition: mfrc522.cc:479
uint8_t MIFARE_Transfer(uint8_t blockAddr)
Definition: mfrc522.cc:999
MIFARE_Misc
Definition: mfrc522.h:181
@ MF_KEY_SIZE
Definition: mfrc522.h:183
@ MF_ACK
Definition: mfrc522.h:182
void PCD_StopCrypto1()
Definition: mfrc522.cc:804
uint8_t PICC_RequestA(uint8_t *bufferATQA, uint8_t *bufferSize)
Definition: mfrc522.cc:455
void PICC_DumpMifareUltralightToSerial()
Definition: mfrc522.cc:1448
uint8_t MIFARE_Write(uint8_t blockAddr, uint8_t *buffer, uint8_t bufferSize)
Definition: mfrc522.cc:860
uint8_t PICC_GetType(uint8_t sak)
Definition: mfrc522.cc:1147
uint8_t PCD_ReadRegister(uint8_t reg)
Definition: mfrc522.cc:69
uint8_t MIFARE_Decrement(uint8_t blockAddr, long delta)
Definition: mfrc522.cc:928
uint8_t PCD_CalculateCRC(uint8_t *data, uint8_t length, uint8_t *result)
Definition: mfrc522.cc:143
void MIFARE_SetAccessBits(uint8_t *accessBitBuffer, uint8_t g0, uint8_t g1, uint8_t g2, uint8_t g3)
Definition: mfrc522.cc:1490
Uid uid
Definition: mfrc522.h:226
void PICC_DumpMifareClassicToSerial(Uid *uid, uint8_t piccType, MIFARE_Key *key)
Definition: mfrc522.cc:1259
uint8_t PCD_TransceiveData(uint8_t *sendData, uint8_t sendLen, uint8_t *backData, uint8_t *backLen, uint8_t *validBits=NULL, uint8_t rxAlign=0, bool checkCRC=false)
Definition: mfrc522.cc:338
uint8_t PCD_GetAntennaGain()
Definition: mfrc522.cc:241
uint8_t PICC_Select(Uid *uid, uint8_t validBits=0)
Definition: mfrc522.cc:518
uint8_t PCD_MIFARE_Transceive(uint8_t *sendData, uint8_t sendLen, bool acceptTimeout=false)
Definition: mfrc522.cc:1081
void PCD_AntennaOff()
Definition: mfrc522.cc:230
PCD_Register
Definition: mfrc522.h:50
@ RxSelReg
Definition: mfrc522.h:77
@ TReloadRegL
Definition: mfrc522.h:101
@ SerialSpeedReg
Definition: mfrc522.h:85
@ CWGsPReg
Definition: mfrc522.h:96
@ RFCfgReg
Definition: mfrc522.h:94
@ TxASKReg
Definition: mfrc522.h:75
@ ComIEnReg
Definition: mfrc522.h:54
@ ComIrqReg
Definition: mfrc522.h:56
@ Status1Reg
Definition: mfrc522.h:59
@ TestDAC1Reg
Definition: mfrc522.h:115
@ TCounterValueRegH
Definition: mfrc522.h:102
@ ModeReg
Definition: mfrc522.h:71
@ TxControlReg
Definition: mfrc522.h:74
@ TModeReg
Definition: mfrc522.h:98
@ AnalogTestReg
Definition: mfrc522.h:114
@ MfTxReg
Definition: mfrc522.h:82
@ TestBusReg
Definition: mfrc522.h:111
@ TestSel1Reg
Definition: mfrc522.h:107
@ DemodReg
Definition: mfrc522.h:79
@ CRCResultRegL
Definition: mfrc522.h:90
@ AutoTestReg
Definition: mfrc522.h:112
@ Status2Reg
Definition: mfrc522.h:60
@ TReloadRegH
Definition: mfrc522.h:100
@ DivIrqReg
Definition: mfrc522.h:57
@ ModWidthReg
Definition: mfrc522.h:92
@ TestADCReg
Definition: mfrc522.h:117
@ TestPinValueReg
Definition: mfrc522.h:110
@ ControlReg
Definition: mfrc522.h:64
@ VersionReg
Definition: mfrc522.h:113
@ CRCResultRegH
Definition: mfrc522.h:89
@ TPrescalerReg
Definition: mfrc522.h:99
@ TestPinEnReg
Definition: mfrc522.h:109
@ ErrorReg
Definition: mfrc522.h:58
@ GsNReg
Definition: mfrc522.h:95
@ TCounterValueRegL
Definition: mfrc522.h:103
@ MfRxReg
Definition: mfrc522.h:83
@ DivIEnReg
Definition: mfrc522.h:55
@ TxModeReg
Definition: mfrc522.h:72
@ TestDAC2Reg
Definition: mfrc522.h:116
@ CollReg
Definition: mfrc522.h:66
@ TxSelReg
Definition: mfrc522.h:76
@ RxModeReg
Definition: mfrc522.h:73
@ WaterLevelReg
Definition: mfrc522.h:63
@ FIFOLevelReg
Definition: mfrc522.h:62
@ RxThresholdReg
Definition: mfrc522.h:78
@ FIFODataReg
Definition: mfrc522.h:61
@ CommandReg
Definition: mfrc522.h:53
@ TestSel2Reg
Definition: mfrc522.h:108
@ BitFramingReg
Definition: mfrc522.h:65
@ ModGsPReg
Definition: mfrc522.h:97
void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, uint8_t sector)
Definition: mfrc522.cc:1300
uint8_t PCD_Authenticate(uint8_t command, uint8_t blockAddr, MIFARE_Key *key, Uid *uid)
Definition: mfrc522.cc:778
bool PICC_IsNewCardPresent()
Definition: mfrc522.cc:1717
void PCD_AntennaOn()
Definition: mfrc522.cc:220
void PICC_DumpToSerial(Uid *uid)
Definition: mfrc522.cc:1201
PICC_Command
Definition: mfrc522.h:155
@ PICC_CMD_MF_RESTORE
Definition: mfrc522.h:173
@ PICC_CMD_UL_WRITE
Definition: mfrc522.h:177
@ PICC_CMD_CT
Definition: mfrc522.h:159
@ PICC_CMD_SEL_CL2
Definition: mfrc522.h:161
@ PICC_CMD_MF_DECREMENT
Definition: mfrc522.h:171
@ PICC_CMD_HLTA
Definition: mfrc522.h:163
@ PICC_CMD_MF_READ
Definition: mfrc522.h:169
@ PICC_CMD_SEL_CL3
Definition: mfrc522.h:162
@ PICC_CMD_MF_WRITE
Definition: mfrc522.h:170
@ PICC_CMD_MF_AUTH_KEY_B
Definition: mfrc522.h:168
@ PICC_CMD_MF_AUTH_KEY_A
Definition: mfrc522.h:167
@ PICC_CMD_REQA
Definition: mfrc522.h:157
@ PICC_CMD_SEL_CL1
Definition: mfrc522.h:160
@ PICC_CMD_MF_INCREMENT
Definition: mfrc522.h:172
@ PICC_CMD_WUPA
Definition: mfrc522.h:158
@ PICC_CMD_MF_TRANSFER
Definition: mfrc522.h:174
IGpio & mResetPin
Definition: mfrc522.h:229
void PCD_Reset()
Definition: mfrc522.cc:204
uint8_t MIFARE_Restore(uint8_t blockAddr)
Definition: mfrc522.cc:956
bool PCD_PerformSelfTest()
Definition: mfrc522.cc:263
static const uint8_t FIFO_SIZE
Definition: mfrc522.h:232
bool PICC_ReadCardSerial()
Definition: mfrc522.cc:1732
uint8_t MIFARE_GetValue(uint8_t blockAddr, long *value)
Definition: mfrc522.cc:1025
void setBitMask(unsigned char reg, unsigned char mask)
PCD_Command
Definition: mfrc522.h:125
@ PCD_SoftReset
Definition: mfrc522.h:135
@ PCD_NoCmdChange
Definition: mfrc522.h:131
@ PCD_Mem
Definition: mfrc522.h:127
@ PCD_MFAuthent
Definition: mfrc522.h:134
@ PCD_GenerateRandomID
Definition: mfrc522.h:128
@ PCD_Transmit
Definition: mfrc522.h:130
@ PCD_Idle
Definition: mfrc522.h:126
@ PCD_Transceive
Definition: mfrc522.h:133
@ PCD_CalcCRC
Definition: mfrc522.h:129
@ PCD_Receive
Definition: mfrc522.h:132
bool MIFARE_OpenUidBackdoor(bool logErrors)
Definition: mfrc522.cc:1517
uint8_t PICC_HaltA()
Definition: mfrc522.cc:733
uint8_t PICC_WakeupA(uint8_t *bufferATQA, uint8_t *bufferSize)
Definition: mfrc522.cc:467
StatusCode
Definition: mfrc522.h:201
@ STATUS_INVALID
Definition: mfrc522.h:208
@ STATUS_INTERNAL_ERROR
Definition: mfrc522.h:207
@ STATUS_NO_ROOM
Definition: mfrc522.h:206
@ STATUS_OK
Definition: mfrc522.h:202
@ STATUS_ERROR
Definition: mfrc522.h:203
@ STATUS_MIFARE_NACK
Definition: mfrc522.h:210
@ STATUS_COLLISION
Definition: mfrc522.h:204
@ STATUS_TIMEOUT
Definition: mfrc522.h:205
@ STATUS_CRC_WRONG
Definition: mfrc522.h:209
const string PICC_GetTypeName(uint8_t type)
Definition: mfrc522.cc:1179
void PCD_WriteRegister(uint8_t reg, uint8_t value)
Definition: mfrc522.cc:40
uint8_t MIFARE_Increment(uint8_t blockAddr, long delta)
Definition: mfrc522.cc:942
void PCD_SetRegisterBitMask(uint8_t reg, uint8_t mask)
Definition: mfrc522.cc:118
uint8_t MIFARE_Ultralight_Write(uint8_t page, uint8_t *buffer, uint8_t bufferSize)
Definition: mfrc522.cc:895
void PCD_Init()
Definition: mfrc522.cc:181
uint16_t word
Definition: mfrc522.h:15
const uint8_t MFRC522_firmware_referenceV1_0[]
Definition: mfrc522.h:21
const uint8_t MFRC522_firmware_referenceV2_0[]
Definition: mfrc522.h:33
Definition: mfrc522.h:221
Definition: mfrc522.h:214
uint8_t size
Definition: mfrc522.h:215
uint8_t sak
Definition: mfrc522.h:217