Library for fingerprint R503 Adaptation from Arduino Library

Dependencies:   Fingerprint-Lib

This a library and demo for fingerprint R503

For datasheet, see here -> https://cdn-shop.adafruit.com/product-files/4651/4651_R503%20fingerprint%20module%20user%20manual.pdf

This is an adaptation of Adafruit library (Arduino) to ARM MBED, tested on NUCLEO L073RZ

https://os.mbed.com/media/uploads/cdupaty/r503b.jpg https://os.mbed.com/media/uploads/cdupaty/r503-nucleol073rzpetit.jpg

For this exemple default connexions on NUCLEOL073RZ are :

TX <-> PC_0

RX <-> PC_1

WAKEUP <-> PB_0 , this is an Interrupt , you must connect a pull-up resistor (4K to 15k) between WAKEUP and DC3.3v

Power Supply 3.3v on Arduino connector

3.3VT : 5v on Arduino connector

IMPORTANT !!! There ara yet some bugs with communications UART

Revision:
6:b2f55a604fbe
Parent:
5:022e24a51359
Child:
7:afa17a46252b
--- a/main.cpp	Tue Mar 16 16:33:34 2021 +0000
+++ b/main.cpp	Wed Mar 17 14:14:55 2021 +0000
@@ -44,12 +44,12 @@
   pc.printf("Reading sensor parameters");
   finger.getParameters();
   pc.printf("Status: 0x%X\n",finger.status_reg);
-  pc.printf("Sys ID: 0x%X\n",system_id);
-  pc.printf("Capacity: %d\n",capacity);
-  pc.printf("Security level: %d\n",security_level);
-  pc.printf("Device address: 0x%X\n",device_addr);
-  pc.printf("Packet len: %d\n",packet_len);
-  pc.printf("Baud rate: %d\n",baud_rate);
+  pc.printf("Sys ID: 0x%X\n",finger.system_id);
+  pc.printf("Capacity: %d\n",finger.capacity);
+  pc.printf("Security level: %d\n",finger.security_level);
+  pc.printf("Device address: 0x%X\n",finger.device_addr);
+  pc.printf("Packet len: %d\n",finger.packet_len);
+  pc.printf("Baud rate: %d\n",finger.baud_rate);
 
   finger.getTemplateCount();
 
@@ -58,21 +58,10 @@
   }
   else {
     pc.printf("Waiting for valid finger...");
-      pc.printf("Sensor contains "); pc.printfinger.templateCount); pc.printf(" templates");
+    pc.printf("Sensor contains : %d templates\n",finger.templateCount);
   }
 }
 
-int main(void)                    // run over and over again
-{
-  setup();
-  while(1)
-  {
-  getFingerprintID();
-  wait_ms(50);            //don't ned to run this at full speed.
-  }
-  return 0;
-}
-
 uint8_t getFingerprintID() {
   uint8_t p = finger.getImage();
   switch (p) {
@@ -133,8 +122,8 @@
   }
 
   // found a match!
-  pc.printf("Found ID #"); pc.printfinger.fingerID);
-  pc.printf(" with confidence of "); pc.printfinger.confidence);
+  pc.printf("Found ID #%d\n",finger.fingerID);
+  pc.printf(" with confidence of %d\n",finger.confidence);
 
   return finger.fingerID;
 }
@@ -151,7 +140,19 @@
   if (p != FINGERPRINT_OK)  return -1;
 
   // found a match!
-  pc.printf("Found ID #"); pc.printfinger.fingerID);
-  pc.printf(" with confidence of "); pc.printfinger.confidence);
+  pc.printf("Found ID #%d\n",finger.fingerID);
+  pc.printf(" with confidence of %d\n",finger.confidence);
   return finger.fingerID;
-}
\ No newline at end of file
+}
+
+int main(void)                    // run over and over again
+{
+  setup();
+  while(1)
+  {
+  getFingerprintID();
+  wait_ms(50);            //don't ned to run this at full speed.
+  }
+  return 0;
+}
+