Fingerprint sensor example with WIZwiki-W7500. 1st release.
Dependencies: GT511C3 mbed-src
Fork of GT511C3test by
main.cpp@9:9becf9ddb86e, 2015-07-30 (annotated)
- Committer:
- hjjeon
- Date:
- Thu Jul 30 00:46:05 2015 +0000
- Revision:
- 9:9becf9ddb86e
- Parent:
- 8:574087f87b1e
Fingerprint sensor example with WIZwiki-W7500.; 1st release.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tosihisa | 0:b11b455d4997 | 1 | #include "mbed.h" |
tosihisa | 6:016ad8f480d3 | 2 | #include "GT511C3.hpp" |
tosihisa | 0:b11b455d4997 | 3 | |
hjjeon | 8:574087f87b1e | 4 | #define MAX_ID_NUM 20 |
hjjeon | 8:574087f87b1e | 5 | |
tosihisa | 0:b11b455d4997 | 6 | Serial debug(USBTX,USBRX); |
tosihisa | 0:b11b455d4997 | 7 | |
hjjeon | 8:574087f87b1e | 8 | |
hjjeon | 8:574087f87b1e | 9 | #ifdef TARGET_WIZWIKI_W7500 |
hjjeon | 8:574087f87b1e | 10 | GT511C3 finger(PA_13,PA_14); |
hjjeon | 8:574087f87b1e | 11 | DigitalIn del_ID(D7); |
hjjeon | 8:574087f87b1e | 12 | DigitalIn enroll_ID(D8); |
hjjeon | 8:574087f87b1e | 13 | #endif |
tosihisa | 0:b11b455d4997 | 14 | |
tosihisa | 5:d3ebe6d1ed92 | 15 | int progress(int status,char *msg) |
tosihisa | 2:34a647292050 | 16 | { |
tosihisa | 5:d3ebe6d1ed92 | 17 | debug.printf("%s",msg); |
tosihisa | 3:459a4f985a45 | 18 | return 0; |
tosihisa | 2:34a647292050 | 19 | } |
tosihisa | 2:34a647292050 | 20 | |
hjjeon | 8:574087f87b1e | 21 | int main() |
hjjeon | 8:574087f87b1e | 22 | { |
tosihisa | 0:b11b455d4997 | 23 | int sts = 0; |
tosihisa | 4:3dd0f98e6f09 | 24 | int ID = 0; |
hjjeon | 8:574087f87b1e | 25 | int cnt = 0; |
hjjeon | 8:574087f87b1e | 26 | int EnrollID; |
tosihisa | 7:8b9ef3211cd0 | 27 | |
hjjeon | 8:574087f87b1e | 28 | debug.baud(115200); |
hjjeon | 8:574087f87b1e | 29 | printf("Try to Open Device....\r\n"); |
hjjeon | 8:574087f87b1e | 30 | |
hjjeon | 8:574087f87b1e | 31 | while(1) |
hjjeon | 8:574087f87b1e | 32 | { |
hjjeon | 8:574087f87b1e | 33 | sts = finger.Open(); |
hjjeon | 8:574087f87b1e | 34 | if(sts == -1) |
hjjeon | 8:574087f87b1e | 35 | { |
hjjeon | 8:574087f87b1e | 36 | printf("Open failed!!\r\n"); |
hjjeon | 8:574087f87b1e | 37 | cnt++; |
hjjeon | 8:574087f87b1e | 38 | while(cnt > 5); |
hjjeon | 8:574087f87b1e | 39 | } |
hjjeon | 8:574087f87b1e | 40 | else |
hjjeon | 8:574087f87b1e | 41 | { |
hjjeon | 8:574087f87b1e | 42 | printf("Open Success!!\r\n"); |
hjjeon | 8:574087f87b1e | 43 | break; |
tosihisa | 4:3dd0f98e6f09 | 44 | } |
hjjeon | 8:574087f87b1e | 45 | wait(0.2); |
hjjeon | 8:574087f87b1e | 46 | } |
hjjeon | 8:574087f87b1e | 47 | |
hjjeon | 8:574087f87b1e | 48 | if(del_ID == 1) |
hjjeon | 8:574087f87b1e | 49 | { |
hjjeon | 8:574087f87b1e | 50 | finger.DeleteID_All(); |
hjjeon | 8:574087f87b1e | 51 | printf("All ID are deleted!!\r\n"); |
tosihisa | 4:3dd0f98e6f09 | 52 | } |
hjjeon | 8:574087f87b1e | 53 | |
hjjeon | 8:574087f87b1e | 54 | cnt = 0; |
hjjeon | 8:574087f87b1e | 55 | if(enroll_ID == 1) |
hjjeon | 8:574087f87b1e | 56 | { |
hjjeon | 8:574087f87b1e | 57 | while(1) |
hjjeon | 8:574087f87b1e | 58 | { |
hjjeon | 8:574087f87b1e | 59 | if(finger.CheckEnrolled(cnt) == -1) |
hjjeon | 8:574087f87b1e | 60 | { |
hjjeon | 8:574087f87b1e | 61 | EnrollID = cnt; |
hjjeon | 8:574087f87b1e | 62 | printf("ID(%d) is empty\r\n", EnrollID); |
hjjeon | 8:574087f87b1e | 63 | break; |
hjjeon | 8:574087f87b1e | 64 | } |
hjjeon | 8:574087f87b1e | 65 | cnt++; |
hjjeon | 8:574087f87b1e | 66 | if(cnt > MAX_ID_NUM) |
hjjeon | 8:574087f87b1e | 67 | { |
hjjeon | 8:574087f87b1e | 68 | printf("\r\nERROR : ID number is fulled!!Delete ID first!!\r\n\r\n"); |
hjjeon | 8:574087f87b1e | 69 | while(1); |
tosihisa | 6:016ad8f480d3 | 70 | } |
tosihisa | 6:016ad8f480d3 | 71 | } |
tosihisa | 6:016ad8f480d3 | 72 | finger.Enroll(EnrollID,progress); |
tosihisa | 3:459a4f985a45 | 73 | } |
hjjeon | 8:574087f87b1e | 74 | |
tosihisa | 3:459a4f985a45 | 75 | finger.CmosLed(1); |
hjjeon | 8:574087f87b1e | 76 | |
hjjeon | 8:574087f87b1e | 77 | while(1) |
hjjeon | 8:574087f87b1e | 78 | { |
hjjeon | 8:574087f87b1e | 79 | printf("Press finger for Identify\r\n"); |
tosihisa | 5:d3ebe6d1ed92 | 80 | finger.WaitPress(1); |
tosihisa | 5:d3ebe6d1ed92 | 81 | if(finger.Capture(1) != 0) |
tosihisa | 5:d3ebe6d1ed92 | 82 | continue; |
hjjeon | 8:574087f87b1e | 83 | |
tosihisa | 5:d3ebe6d1ed92 | 84 | ID = finger.Identify(); |
hjjeon | 8:574087f87b1e | 85 | |
hjjeon | 8:574087f87b1e | 86 | if(ID == -1) |
hjjeon | 8:574087f87b1e | 87 | printf("\r\nERROR : There is no ID!!Enroll first!!\r\n\r\n"); |
hjjeon | 8:574087f87b1e | 88 | else |
hjjeon | 8:574087f87b1e | 89 | printf("ID = %d\r\n",ID); |
hjjeon | 8:574087f87b1e | 90 | |
hjjeon | 8:574087f87b1e | 91 | printf("Remove finger\r\n"); |
tosihisa | 5:d3ebe6d1ed92 | 92 | finger.WaitPress(0); |
hjjeon | 8:574087f87b1e | 93 | |
tosihisa | 0:b11b455d4997 | 94 | } |
hjjeon | 8:574087f87b1e | 95 | |
hjjeon | 8:574087f87b1e | 96 | |
tosihisa | 0:b11b455d4997 | 97 | } |
hjjeon | 8:574087f87b1e | 98 |