Time Stamp using fingerprint with WIZwiki-W7500.
Dependencies: GT511C3 NTPClient SDFileSystem WIZnetInterface mbed-src
Fork of GT511C3_HelloWorld_WIZwiki-W7500 by
main.cpp
- Committer:
- tosihisa
- Date:
- 2014-01-03
- Revision:
- 4:3dd0f98e6f09
- Parent:
- 3:459a4f985a45
- Child:
- 5:d3ebe6d1ed92
File content as of revision 4:3dd0f98e6f09:
#include "mbed.h"
#include "GT511C3.h"
Serial debug(USBTX,USBRX);
DigitalOut myled(LED1);
GT511C3 finger(p28,p27);
int Enroll(void)
{
int EnrollID = 10;
unsigned long Parameter = 0;
unsigned short Response = 0;
int sts = 0;
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() {
int sts = 0;
int ispress = 0;
int ID = 0;
debug.format(8,Serial::None,1);
debug.baud(115200);
debug.printf("Open\n");
sts = finger.Open();
debug.printf("sts = %d\n",sts);
if(sts == 0){
int i;
debug.printf("FirmwareVersion = %lx\n",finger.FirmwareVersion);
debug.printf("IsoAreaMaxSize = %ld\n",finger.IsoAreaMaxSize);
debug.printf("DeviceSerialNumber = ");
for(i = 0; i < sizeof(finger.DeviceSerialNumber);i++){
debug.printf("%02X",finger.DeviceSerialNumber[i]);
}
debug.printf("\n");
}
if(1){
Enroll();
}
finger.CmosLed(1);
while(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);
}
}
}
