Time Stamp using fingerprint with WIZwiki-W7500.
Dependencies: GT511C3 NTPClient SDFileSystem WIZnetInterface mbed-src
Fork of GT511C3_HelloWorld_WIZwiki-W7500 by
Diff: main.cpp
- Revision:
- 3:459a4f985a45
- Parent:
- 2:34a647292050
- Child:
- 4:3dd0f98e6f09
--- a/main.cpp Fri Jan 03 07:24:39 2014 +0000
+++ b/main.cpp Fri Jan 03 12:56:03 2014 +0000
@@ -13,16 +13,62 @@
unsigned short Response = 0;
int sts = 0;
- debug.printf("CMD_EnrollStart\n");
- Parameter = EnrollID;
- sts = finger.SendRecv(GT511C3::CMD_EnrollStart,&Parameter,&Response);
- debug.printf("sts = %d,Response=0x%04x Parameter=0x%08lx\n",sts,Response,Parameter);
- if(sts != 0)
- return sts;
- if(Response != GT511C3::CMD_Ack)
- return -100;
- //
- return sts;
+ debug.printf("EnrollStart\n");
+ finger.CmosLed(1);
+
+ while(1){
+ debug.printf("CMD_EnrollStart\n");
+ Parameter = EnrollID;
+ sts = finger.SendRecv(GT511C3::CMD_EnrollStart,&Parameter,&Response);
+ debug.printf("sts = %d,Response=0x%04x Parameter=0x%08lx\n",sts,Response,Parameter);
+ if(sts != 0)
+ return sts;
+ if(Response != GT511C3::CMD_Ack)
+ return -100;
+
+ debug.printf("Remove finger\n");
+ finger.WaitPress(0);
+
+ while(1){
+ debug.printf("Press finger to Enroll (1st)\n");
+ finger.WaitPress(1);
+ if(finger.Capture(1) == 0)
+ break;
+ }
+
+ debug.printf("Remove finger\n");
+ if(finger.Enroll_N(1) != 0)
+ continue;
+ finger.WaitPress(0);
+
+ while(1){
+ debug.printf("Press finger to Enroll (2nd)\n");
+ finger.WaitPress(1);
+ if(finger.Capture(1) == 0)
+ break;
+ }
+
+ debug.printf("Remove finger\n");
+ if(finger.Enroll_N(2) != 0)
+ continue;
+ finger.WaitPress(0);
+
+ while(1){
+ debug.printf("Press finger to Enroll (3rd)\n");
+ finger.WaitPress(1);
+ if(finger.Capture(1) == 0)
+ break;
+ }
+
+ debug.printf("Remove finger\n");
+ if(finger.Enroll_N(3) != 0)
+ continue;
+ finger.WaitPress(0);
+
+ debug.printf("Enroll OK!\n");
+ break;
+ }
+ return 0;
}
int main() {
@@ -31,6 +77,7 @@
int sts = 0;
int count = 0;
int ispress;
+ int ID;
debug.format(8,Serial::None,1);
debug.baud(115200);
@@ -42,18 +89,19 @@
sts = finger.SendRecv(GT511C3::CMD_Open,&Parameter,&Response);
debug.printf("sts = %d,Response=0x%04x\n",sts,Response);
- Parameter = 1;
- sts = finger.SendRecv(GT511C3::CMD_CmosLed,&Parameter,&Response);
- debug.printf("sts = %d,Response=0x%04x\n",sts,Response);
+ if(1){
+ Enroll();
+ }
+
+ finger.CmosLed(1);
while(1) {
- ispress = 0;
- Parameter = 0;
- sts = finger.SendRecv(GT511C3::CMD_IsPressFinger,&Parameter,&Response);
- debug.printf("sts = %d,Response=0x%04x Parameter=0x%08lx\n",sts,Response,Parameter);
- if(sts == 0){
- if((Response == GT511C3::CMD_Ack) && (Parameter == 0)){
- ispress = 1;
- }
+ ispress = finger.IsPress();
+ debug.printf("IsPressFinger=%d\n",ispress);
+ if(ispress){
+ if(finger.Capture(1) != 0)
+ continue;
+ ID = finger.Identify();
+ debug.printf("ID = %d\n",ID);
}
#if 0
myled = 1;
