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()
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* 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
|
||||
//const char *PICC_GetTypeName(byte type);
|
||||
const __FlashStringHelper *PICC_GetTypeName(PICC_Type type);
|
||||
void PCD_DumpVersionToSerial();
|
||||
void PICC_DumpToSerial(Uid *uid);
|
||||
void PICC_DumpMifareClassicToSerial(Uid *uid, PICC_Type piccType, MIFARE_Key *key);
|
||||
void PICC_DumpMifareClassicSectorToSerial(Uid *uid, MIFARE_Key *key, byte sector);
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
#include <SPI.h>
|
||||
#include <MFRC522.h>
|
||||
|
||||
#define RST_PIN 9 //
|
||||
#define SS_PIN 10 //
|
||||
#define RST_PIN 9 // Configurable, see typical pin layout above
|
||||
#define SS_PIN 10 // Configurable, see typical pin layout above
|
||||
|
||||
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
|
||||
|
||||
@@ -51,7 +51,7 @@ void setup() {
|
||||
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
|
||||
SPI.begin(); // Init SPI bus
|
||||
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..."));
|
||||
}
|
||||
|
||||
@@ -69,21 +69,3 @@ void loop() {
|
||||
// Dump debug info about the card; PICC_HaltA() is automatically called
|
||||
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("MFRC522 Digital self test"));
|
||||
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("Only known versions supported"));
|
||||
Serial.println(F("-----------------------------"));
|
||||
@@ -62,24 +62,3 @@ void setup() {
|
||||
}
|
||||
|
||||
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_GetValue KEYWORD2
|
||||
MIFARE_SetValue KEYWORD2
|
||||
PCD_NTAG216_AUTH KEYWORD2
|
||||
|
||||
# Support functions
|
||||
PCD_MIFARE_Transceive KEYWORD2
|
||||
GetStatusCodeName KEYWORD2
|
||||
PICC_GetType KEYWORD2
|
||||
PICC_GetTypeName KEYWORD2
|
||||
PCD_DumpVersionToSerial KEYWORD2
|
||||
PICC_DumpToSerial KEYWORD2
|
||||
PICC_DumpMifareClassicToSerial KEYWORD2
|
||||
PICC_DumpMifareClassicSectorToSerial KEYWORD2
|
||||
|
||||
Reference in New Issue
Block a user