Time Stamp using fingerprint with WIZwiki-W7500.

Dependencies:   GT511C3 NTPClient SDFileSystem WIZnetInterface mbed-src

Fork of GT511C3_HelloWorld_WIZwiki-W7500 by WIZnet

Revision:
5:d3ebe6d1ed92
Parent:
4:3dd0f98e6f09
Child:
6:016ad8f480d3
--- a/GT511C3.cpp	Fri Jan 03 14:12:18 2014 +0000
+++ b/GT511C3.cpp	Fri Jan 03 14:37:48 2014 +0000
@@ -251,3 +251,74 @@
     return Parameter;
 }
 
+int GT511C3::Enroll(int ID,int (*progress)(int status,char *msg))
+{
+    unsigned long Parameter = 0;
+    unsigned short Response = 0;
+    int sts = 0;
+
+    CmosLed(1);
+
+    while(1){
+        if((sts = (*progress)(1,"EnrollStart\n")) != 0)
+            return -9999;
+        Parameter = ID;
+        sts = SendRecv(CMD_EnrollStart,&Parameter,&Response);
+        if(sts != 0)
+            return sts;
+        if(Response != CMD_Ack)
+            return -100;
+
+        if((sts = (*progress)(0,"Remove finger\n")) != 0)
+            return -9999;
+        WaitPress(0);
+
+        while(1){
+            if((sts = (*progress)(10,"Press finger to Enroll (1st)\n")) != 0)
+                return -9999;
+            WaitPress(1);
+            if(Capture(1) == 0)
+                break;
+        }
+
+        if((sts = (*progress)(0,"Remove finger\n")) != 0)
+            return -9999;
+        if(Enroll_N(1) != 0)
+            continue;
+        WaitPress(0);
+
+        while(1){
+            if((sts = (*progress)(20,"Press finger to Enroll (2nd)\n")) != 0)
+                return -9999;
+            WaitPress(1);
+            if(Capture(1) == 0)
+                break;
+        }
+
+        if((sts = (*progress)(0,"Remove finger\n")) != 0)
+            return -9999;
+        if(Enroll_N(2) != 0)
+            continue;
+        WaitPress(0);
+
+        while(1){
+            if((sts = (*progress)(30,"Press finger to Enroll (3rd)\n")) != 0)
+                return -9999;
+            WaitPress(1);
+            if(Capture(1) == 0)
+                break;
+        }
+
+        if((sts = (*progress)(0,"Remove finger\n")) != 0)
+            return -9999;
+        if(Enroll_N(3) != 0)
+            continue;
+        WaitPress(0);
+
+        if((sts = (*progress)(100,"Enroll OK\n")) != 0)
+            return -9999;
+
+        break;
+    }
+    return 0;
+}