main.cpp is a direct example, waits for an input and then process it. test.cpp is modified, only process when there's a pressure

Dependencies:   GT511C3 mbed

Fork of GT511C3test by Toshihisa T

Committer:
inezraharjo
Date:
Sun Dec 06 22:32:12 2015 +0000
Revision:
8:ef4e75a5c00a
main.cpp is a direct example, after registering fingerprint it waits for the platform to be pressed. test.cpp is my modified version, instead of being stuck in a while loop of 'waiting to be pressed' it will trigger only if there's pressure

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inezraharjo 8:ef4e75a5c00a 1 #include "mbed.h"
inezraharjo 8:ef4e75a5c00a 2 #include "GT511C3.hpp"
inezraharjo 8:ef4e75a5c00a 3
inezraharjo 8:ef4e75a5c00a 4 Serial debug(USBTX,USBRX);
inezraharjo 8:ef4e75a5c00a 5
inezraharjo 8:ef4e75a5c00a 6 DigitalOut myled(LED1);
inezraharjo 8:ef4e75a5c00a 7 GT511C3 finger(p28,p27);
inezraharjo 8:ef4e75a5c00a 8
inezraharjo 8:ef4e75a5c00a 9 int progress(int status,char *msg)
inezraharjo 8:ef4e75a5c00a 10 {
inezraharjo 8:ef4e75a5c00a 11 debug.printf("%s",msg);
inezraharjo 8:ef4e75a5c00a 12 return 0;
inezraharjo 8:ef4e75a5c00a 13 }
inezraharjo 8:ef4e75a5c00a 14
inezraharjo 8:ef4e75a5c00a 15 int main() {
inezraharjo 8:ef4e75a5c00a 16 int sts = 0;
inezraharjo 8:ef4e75a5c00a 17 int ID = 0;
inezraharjo 8:ef4e75a5c00a 18
inezraharjo 8:ef4e75a5c00a 19 debug.format(8,Serial::None,1);
inezraharjo 8:ef4e75a5c00a 20 debug.baud(115200);
inezraharjo 8:ef4e75a5c00a 21
inezraharjo 8:ef4e75a5c00a 22 debug.printf("Fingerprint reader module \"GT-511C3 / GT-511C31\" test program.\n");
inezraharjo 8:ef4e75a5c00a 23 debug.printf("Build: %s %s\n",__DATE__,__TIME__);
inezraharjo 8:ef4e75a5c00a 24
inezraharjo 8:ef4e75a5c00a 25 debug.printf("Open\n");
inezraharjo 8:ef4e75a5c00a 26 sts = finger.Open();
inezraharjo 8:ef4e75a5c00a 27 debug.printf("sts = %d\n",sts);
inezraharjo 8:ef4e75a5c00a 28 if(sts == 0){
inezraharjo 8:ef4e75a5c00a 29 int i;
inezraharjo 8:ef4e75a5c00a 30 debug.printf("FirmwareVersion = %lx\n",finger.FirmwareVersion);
inezraharjo 8:ef4e75a5c00a 31 debug.printf("IsoAreaMaxSize = %ld\n",finger.IsoAreaMaxSize);
inezraharjo 8:ef4e75a5c00a 32 debug.printf("DeviceSerialNumber = ");
inezraharjo 8:ef4e75a5c00a 33 for(i = 0; i < sizeof(finger.DeviceSerialNumber);i++){
inezraharjo 8:ef4e75a5c00a 34 debug.printf("%02X",finger.DeviceSerialNumber[i]);
inezraharjo 8:ef4e75a5c00a 35 }
inezraharjo 8:ef4e75a5c00a 36 debug.printf("\n");
inezraharjo 8:ef4e75a5c00a 37 }
inezraharjo 8:ef4e75a5c00a 38
inezraharjo 8:ef4e75a5c00a 39 /*
inezraharjo 8:ef4e75a5c00a 40 STEPS:
inezraharjo 8:ef4e75a5c00a 41 First configuration: enter a code to get ready to register fingerprint
inezraharjo 8:ef4e75a5c00a 42 LED flashing/alarm buzzing to indicate start/finish of fingerprint
inezraharjo 8:ef4e75a5c00a 43 When a finger is detected, matched with what is recorded, act similar to code
inezraharjo 8:ef4e75a5c00a 44 */
inezraharjo 8:ef4e75a5c00a 45
inezraharjo 8:ef4e75a5c00a 46 if(1){
inezraharjo 8:ef4e75a5c00a 47 int EnrollID = 11;
inezraharjo 8:ef4e75a5c00a 48 if(finger.CheckEnrolled(EnrollID) == 0){
inezraharjo 8:ef4e75a5c00a 49 debug.printf("EnrollID(%d) is already enrolled.Delete!\n",EnrollID);
inezraharjo 8:ef4e75a5c00a 50 if(finger.DeleteID(EnrollID) == 0){
inezraharjo 8:ef4e75a5c00a 51 debug.printf("Delete OK!\n");
inezraharjo 8:ef4e75a5c00a 52 }
inezraharjo 8:ef4e75a5c00a 53 }
inezraharjo 8:ef4e75a5c00a 54 finger.Enroll(EnrollID,progress);
inezraharjo 8:ef4e75a5c00a 55 }
inezraharjo 8:ef4e75a5c00a 56
inezraharjo 8:ef4e75a5c00a 57 finger.CmosLed(1);
inezraharjo 8:ef4e75a5c00a 58
inezraharjo 8:ef4e75a5c00a 59 debug.printf("Press finger to identify\r\n");
inezraharjo 8:ef4e75a5c00a 60 while(1) {
inezraharjo 8:ef4e75a5c00a 61 if (finger.IsPress()){
inezraharjo 8:ef4e75a5c00a 62 ID = finger.Identify();
inezraharjo 8:ef4e75a5c00a 63 debug.printf("ID = %d\n",ID);
inezraharjo 8:ef4e75a5c00a 64 debug.printf("Remove finger\n");
inezraharjo 8:ef4e75a5c00a 65 }
inezraharjo 8:ef4e75a5c00a 66 finger.WaitPress(0);
inezraharjo 8:ef4e75a5c00a 67
inezraharjo 8:ef4e75a5c00a 68 }
inezraharjo 8:ef4e75a5c00a 69 }