diff --git a/Adafruit_Fingerprint.cpp b/Adafruit_Fingerprint.cpp index ed2158c..7f740a6 100644 --- a/Adafruit_Fingerprint.cpp +++ b/Adafruit_Fingerprint.cpp @@ -142,14 +142,21 @@ boolean Adafruit_Fingerprint::verifyPassword(void) { return checkPassword() == FINGERPRINT_OK; } +/**************************************************************************/ +/*! + @brief Verifies the sensors' access password (default password is + 0x0000000). A good way to also check if the sensors is active and responding + @returns FINGERPRINT_OK on success + @returns FINGERPRINT_PACKETRECIEVEERR on communication error + @returns FINGERPRINT_PASSFAIL on wrong password +*/ +/**************************************************************************/ + uint8_t Adafruit_Fingerprint::checkPassword(void) { GET_CMD_PACKET(FINGERPRINT_VERIFYPASSWORD, (uint8_t)(thePassword >> 24), (uint8_t)(thePassword >> 16), (uint8_t)(thePassword >> 8), (uint8_t)(thePassword & 0xFF)); - if (packet.data[0] == FINGERPRINT_OK) - return FINGERPRINT_OK; - else - return FINGERPRINT_PACKETRECIEVEERR; + return packet.data[0]; } /**************************************************************************/ diff --git a/Adafruit_Fingerprint.h b/Adafruit_Fingerprint.h index e504953..f7a714e 100644 --- a/Adafruit_Fingerprint.h +++ b/Adafruit_Fingerprint.h @@ -37,8 +37,7 @@ #define FINGERPRINT_UPLOADFAIL 0x0F //!< Error when uploading image #define FINGERPRINT_DELETEFAIL 0x10 //!< Failed to delete the template #define FINGERPRINT_DBCLEARFAIL 0x11 //!< Failed to clear finger library -#define FINGERPRINT_PASSFAIL \ - 0x13 //!< Find whether the fingerprint passed or failed +#define FINGERPRINT_PASSFAIL 0x13 //!< Wrong password #define FINGERPRINT_INVALIDIMAGE \ 0x15 //!< Failed to generate image because of lac of valid primary image #define FINGERPRINT_FLASHERR 0x18 //!< Error when writing flash @@ -137,6 +136,7 @@ class Adafruit_Fingerprint { void begin(uint32_t baud); boolean verifyPassword(void); + uint8_t checkPassword(void); uint8_t getParameters(void); uint8_t getImage(void); @@ -178,7 +178,6 @@ class Adafruit_Fingerprint { uint16_t baud_rate = 57600; ///< The UART baud rate (set by getParameters) private: - uint8_t checkPassword(void); uint32_t thePassword; uint32_t theAddress; uint8_t recvPacket[20];