Time Stamp using fingerprint with WIZwiki-W7500.

Dependencies:   GT511C3 NTPClient SDFileSystem WIZnetInterface mbed-src

Fork of GT511C3_HelloWorld_WIZwiki-W7500 by WIZnet

Revision:
3:459a4f985a45
Parent:
2:34a647292050
Child:
4:3dd0f98e6f09
--- a/GT511C3.cpp	Fri Jan 03 07:24:39 2014 +0000
+++ b/GT511C3.cpp	Fri Jan 03 12:56:03 2014 +0000
@@ -92,18 +92,76 @@
     return 0;
 }
 
-int GT511C3::WaitPress(void)
+int GT511C3::WaitPress(int press)
+{
+    while(IsPress() != press);
+    return 0;
+}
+
+int GT511C3::CmosLed(int onoff)
+{
+    unsigned long Parameter = onoff & 1;
+    unsigned short Response = 0;
+    int sts = 0;
+
+    sts = SendRecv(CMD_CmosLed,&Parameter,&Response);
+    if((sts != 0) || (Response != CMD_Ack))
+        return -1;
+    return 0;
+}
+
+int GT511C3::IsPress(void)
+{
+    unsigned long Parameter = 0;
+    unsigned short Response = 0;
+    int sts = 0;
+    sts = SendRecv(CMD_IsPressFinger,&Parameter,&Response);
+    if((sts != 0) || (Response != CMD_Ack))
+        return 0;
+    if(Parameter != 0)
+        return 0;
+    return 1;
+}
+
+int GT511C3::Capture(int best)
+{
+    unsigned long Parameter = best;
+    unsigned short Response = 0;
+    int sts = 0;
+
+    sts = SendRecv(CMD_CaptureFinger,&Parameter,&Response);
+    if((sts != 0) || (Response != CMD_Ack))
+        return -1;
+    return 0;
+}
+
+int GT511C3::Enroll_N(int N)
+{
+    unsigned long Parameter = 0;
+    unsigned short Response = 0;
+    int sts = 0;
+    enum Command cmd;
+
+    switch(N){
+        default:
+        case 1: cmd = CMD_Enroll1; break;
+        case 2: cmd = CMD_Enroll2; break;
+        case 3: cmd = CMD_Enroll3; break;
+    }
+    sts = SendRecv(cmd,&Parameter,&Response);
+    if((sts != 0) || (Response != CMD_Ack))
+        return -1;
+    return 0;
+}
+
+int GT511C3::Identify(void)
 {
     unsigned long Parameter = 0;
     unsigned short Response = 0;
     int sts = 0;
 
-    while(1){
-        sts = SendRecv(CMD_IsPressFinger,&Parameter,&Response);
-        if(sts != 0)
-            break;
-        if((Response == CMD_Ack) && (Parameter == 0))
-            break;
-    }
-    return sts;
+    sts = SendRecv(CMD_Identify,&Parameter,&Response);
+    if((sts != 0) || (Response != CMD_Ack))
+        return -1;
+    return Parameter;
 }