add dump firmware version to serial
This commit is contained in:
22
MFRC522.cpp
22
MFRC522.cpp
@@ -1274,6 +1274,28 @@ const __FlashStringHelper *MFRC522::PICC_GetTypeName(PICC_Type piccType ///< One
|
|||||||
}
|
}
|
||||||
} // End PICC_GetTypeName()
|
} // End PICC_GetTypeName()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dumps debug info about the connected PCD to Serial.
|
||||||
|
* Shows all known firmware versions
|
||||||
|
*/
|
||||||
|
void MFRC522::PCD_DumpVersionToSerial() {
|
||||||
|
// Get the MFRC522 firmware version
|
||||||
|
byte v = PCD_ReadRegister(VersionReg);
|
||||||
|
Serial.print(F("Firmware Version: 0x"));
|
||||||
|
Serial.print(v, HEX);
|
||||||
|
// Lookup which version
|
||||||
|
switch(v) {
|
||||||
|
case 0x88: Serial.println(F(" = (clone)")); break;
|
||||||
|
case 0x90: Serial.println(F(" = v0.0")); break;
|
||||||
|
case 0x91: Serial.println(F(" = v1.0")); break;
|
||||||
|
case 0x92: Serial.println(F(" = v2.0")); break;
|
||||||
|
default: Serial.println(F(" = (unknown)"));
|
||||||
|
}
|
||||||
|
// When 0x00 or 0xFF is returned, communication probably failed
|
||||||
|
if ((v == 0x00) || (v == 0xFF))
|
||||||
|
Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
|
||||||
|
} // End PCD_DumpVersionToSerial()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dumps debug info about the selected PICC to Serial.
|
* Dumps debug info about the selected PICC to Serial.
|
||||||
* On success the PICC is halted after dumping the data.
|
* On success the PICC is halted after dumping the data.
|
||||||
|
|||||||
@@ -387,6 +387,7 @@ public:
|
|||||||
// old function used too much memory, now name moved to flash; if you need char, copy from flash to memory
|
// old function used too much memory, now name moved to flash; if you need char, copy from flash to memory
|
||||||
//const char *PICC_GetTypeName(byte type);
|
//const char *PICC_GetTypeName(byte type);
|
||||||
const __FlashStringHelper *PICC_GetTypeName(PICC_Type type);
|
const __FlashStringHelper *PICC_GetTypeName(PICC_Type type);
|
||||||
|
void PCD_DumpVersionToSerial();
|
||||||
void PICC_DumpToSerial(Uid *uid);
|
void PICC_DumpToSerial(Uid *uid);
|
||||||
void PICC_DumpMifareClassicToSerial(Uid *uid, PICC_Type piccType, MIFARE_Key *key);
|
void PICC_DumpMifareClassicToSerial(Uid *uid, PICC_Type piccType, MIFARE_Key *key);
|
||||||
void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, byte sector);
|
void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, byte sector);
|
||||||
|
|||||||
@@ -41,17 +41,17 @@
|
|||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#include <MFRC522.h>
|
#include <MFRC522.h>
|
||||||
|
|
||||||
#define RST_PIN 9 //
|
#define RST_PIN 9 // Configurable, see typical pin layout above
|
||||||
#define SS_PIN 10 //
|
#define SS_PIN 10 // Configurable, see typical pin layout above
|
||||||
|
|
||||||
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
|
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(9600); // Initialize serial communications with the PC
|
Serial.begin(9600); // Initialize serial communications with the PC
|
||||||
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
||||||
SPI.begin(); // Init SPI bus
|
SPI.begin(); // Init SPI bus
|
||||||
mfrc522.PCD_Init(); // Init MFRC522
|
mfrc522.PCD_Init(); // Init MFRC522
|
||||||
ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details
|
mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
|
||||||
Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
|
Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,21 +69,3 @@ void loop() {
|
|||||||
// Dump debug info about the card; PICC_HaltA() is automatically called
|
// Dump debug info about the card; PICC_HaltA() is automatically called
|
||||||
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
|
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowReaderDetails() {
|
|
||||||
// Get the MFRC522 software version
|
|
||||||
byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
|
|
||||||
Serial.print(F("MFRC522 Software Version: 0x"));
|
|
||||||
Serial.print(v, HEX);
|
|
||||||
if (v == 0x91)
|
|
||||||
Serial.print(F(" = v1.0"));
|
|
||||||
else if (v == 0x92)
|
|
||||||
Serial.print(F(" = v2.0"));
|
|
||||||
else
|
|
||||||
Serial.print(F(" (unknown)"));
|
|
||||||
Serial.println("");
|
|
||||||
// When 0x00 or 0xFF is returned, communication probably failed
|
|
||||||
if ((v == 0x00) || (v == 0xFF)) {
|
|
||||||
Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ void setup() {
|
|||||||
Serial.println(F("*****************************"));
|
Serial.println(F("*****************************"));
|
||||||
Serial.println(F("MFRC522 Digital self test"));
|
Serial.println(F("MFRC522 Digital self test"));
|
||||||
Serial.println(F("*****************************"));
|
Serial.println(F("*****************************"));
|
||||||
ShowReaderVersion(); // Show version of PCD - MFRC522 Card Reader
|
mfrc522.PCD_DumpVersionToSerial(); // Show version of PCD - MFRC522 Card Reader
|
||||||
Serial.println(F("-----------------------------"));
|
Serial.println(F("-----------------------------"));
|
||||||
Serial.println(F("Only known versions supported"));
|
Serial.println(F("Only known versions supported"));
|
||||||
Serial.println(F("-----------------------------"));
|
Serial.println(F("-----------------------------"));
|
||||||
@@ -62,24 +62,3 @@ void setup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void loop() {} // nothing to do
|
void loop() {} // nothing to do
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper to print MFRC522 module info
|
|
||||||
*/
|
|
||||||
void ShowReaderVersion() {
|
|
||||||
// Get the MFRC522 firmware version
|
|
||||||
byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
|
|
||||||
Serial.print(F("Firmware Version: 0x"));
|
|
||||||
Serial.print(v, HEX);
|
|
||||||
// Lookup which version
|
|
||||||
switch(v) {
|
|
||||||
case 0x88: Serial.println(F(" = (clone)")); break;
|
|
||||||
case 0x90: Serial.println(F(" = v0.0")); break;
|
|
||||||
case 0x91: Serial.println(F(" = v1.0")); break;
|
|
||||||
case 0x92: Serial.println(F(" = v2.0")); break;
|
|
||||||
default: Serial.println(F(" = (unknown)"));
|
|
||||||
}
|
|
||||||
// When 0x00 or 0xFF is returned, communication probably failed
|
|
||||||
if ((v == 0x00) || (v == 0xFF))
|
|
||||||
Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -59,12 +59,14 @@ MIFARE_Increment KEYWORD2
|
|||||||
MIFARE_Ultralight_Write KEYWORD2
|
MIFARE_Ultralight_Write KEYWORD2
|
||||||
MIFARE_GetValue KEYWORD2
|
MIFARE_GetValue KEYWORD2
|
||||||
MIFARE_SetValue KEYWORD2
|
MIFARE_SetValue KEYWORD2
|
||||||
|
PCD_NTAG216_AUTH KEYWORD2
|
||||||
|
|
||||||
# Support functions
|
# Support functions
|
||||||
PCD_MIFARE_Transceive KEYWORD2
|
PCD_MIFARE_Transceive KEYWORD2
|
||||||
GetStatusCodeName KEYWORD2
|
GetStatusCodeName KEYWORD2
|
||||||
PICC_GetType KEYWORD2
|
PICC_GetType KEYWORD2
|
||||||
PICC_GetTypeName KEYWORD2
|
PICC_GetTypeName KEYWORD2
|
||||||
|
PCD_DumpVersionToSerial KEYWORD2
|
||||||
PICC_DumpToSerial KEYWORD2
|
PICC_DumpToSerial KEYWORD2
|
||||||
PICC_DumpMifareClassicToSerial KEYWORD2
|
PICC_DumpMifareClassicToSerial KEYWORD2
|
||||||
PICC_DumpMifareClassicSectorToSerial KEYWORD2
|
PICC_DumpMifareClassicSectorToSerial KEYWORD2
|
||||||
|
|||||||
Reference in New Issue
Block a user