Program for R306 fingerprint module

Dependencies:   FPC_R306_fingerprintmodule SDFileSystem WIZnetInterface mbed-src

Fork of GT511C3_TimeStamp_WIZwiki-W7500 by WIZnet

Committer:
Albinarackal
Date:
Mon Jul 16 10:16:39 2018 +0000
Revision:
13:a9c08bbe3ce3
Parent:
12:0dbf1579a20f
Program for R306 fingerprint module

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tosihisa 0:b11b455d4997 1 #include "mbed.h"
Albinarackal 13:a9c08bbe3ce3 2 #include "FPC_R306.hpp"
hjjeon 10:7b0c02f61513 3 #include "SDFileSystem.h"
hjjeon 10:7b0c02f61513 4 #include "EthernetInterface.h"
tosihisa 0:b11b455d4997 5
hjjeon 8:574087f87b1e 6
hjjeon 8:574087f87b1e 7 #ifdef TARGET_WIZWIKI_W7500
Albinarackal 13:a9c08bbe3ce3 8 FPC_R306 finger(D1,D0);
hjjeon 8:574087f87b1e 9 #endif
tosihisa 0:b11b455d4997 10
hjjeon 10:7b0c02f61513 11 Serial pc(USBTX,USBRX);
hjjeon 10:7b0c02f61513 12 EthernetInterface eth;
hjjeon 10:7b0c02f61513 13 NTPClient ntpClient;
hjjeon 10:7b0c02f61513 14
hjjeon 10:7b0c02f61513 15 FILE *fp;
hjjeon 10:7b0c02f61513 16
Albinarackal 13:a9c08bbe3ce3 17 int p;
Albinarackal 13:a9c08bbe3ce3 18
Albinarackal 13:a9c08bbe3ce3 19 int id = 1;
Albinarackal 13:a9c08bbe3ce3 20 int choice;
Albinarackal 13:a9c08bbe3ce3 21 uint16_t deleteID;
Albinarackal 13:a9c08bbe3ce3 22 uint8_t sendData[16];
Albinarackal 13:a9c08bbe3ce3 23 uint8_t getImage(void);
Albinarackal 13:a9c08bbe3ce3 24 uint8_t image2Tz(uint8_t slot);
Albinarackal 13:a9c08bbe3ce3 25 int SendCommand();
Albinarackal 13:a9c08bbe3ce3 26 int RecvResponse();
Albinarackal 13:a9c08bbe3ce3 27
hjjeon 10:7b0c02f61513 28
tosihisa 5:d3ebe6d1ed92 29 int progress(int status,char *msg)
tosihisa 2:34a647292050 30 {
hjjeon 10:7b0c02f61513 31 pc.printf("%s",msg);
tosihisa 3:459a4f985a45 32 return 0;
tosihisa 2:34a647292050 33 }
tosihisa 2:34a647292050 34
hjjeon 10:7b0c02f61513 35 void close_file(void)
hjjeon 10:7b0c02f61513 36 {
hjjeon 10:7b0c02f61513 37 fclose(fp);
hjjeon 10:7b0c02f61513 38 }
Albinarackal 13:a9c08bbe3ce3 39 //....................................................MAIN Function.....................................................//
hjjeon 8:574087f87b1e 40 int main()
hjjeon 8:574087f87b1e 41 {
Albinarackal 13:a9c08bbe3ce3 42 wait_ms(500);
Albinarackal 13:a9c08bbe3ce3 43 pc.baud(9600);
Albinarackal 13:a9c08bbe3ce3 44 finger.baud(57600);
Albinarackal 13:a9c08bbe3ce3 45 pc.printf("..................................R306.............................................\n");
tosihisa 7:8b9ef3211cd0 46
Albinarackal 13:a9c08bbe3ce3 47 while(true) {
Albinarackal 13:a9c08bbe3ce3 48 pc.printf("\n");
Albinarackal 13:a9c08bbe3ce3 49 pc.printf("To Enroll ID----------------------------------- 1\n");
Albinarackal 13:a9c08bbe3ce3 50
Albinarackal 13:a9c08bbe3ce3 51 pc.printf("To get Template Count-------------------------- 2\n");
Albinarackal 13:a9c08bbe3ce3 52
Albinarackal 13:a9c08bbe3ce3 53 pc.printf("To Search for an ID---------------------------- 3\n");
Albinarackal 13:a9c08bbe3ce3 54
Albinarackal 13:a9c08bbe3ce3 55 pc.printf("To Delete an ID-------------------------------- 4\n");
Albinarackal 13:a9c08bbe3ce3 56
Albinarackal 13:a9c08bbe3ce3 57 pc.printf("To Empty the library--------------------------- 5\n");
hjjeon 10:7b0c02f61513 58
Albinarackal 13:a9c08bbe3ce3 59
Albinarackal 13:a9c08bbe3ce3 60 choice = pc.getc();
Albinarackal 13:a9c08bbe3ce3 61 choice -= '0';
Albinarackal 13:a9c08bbe3ce3 62
Albinarackal 13:a9c08bbe3ce3 63 //.........................................ENROLLING FINGERPRINT........................................................//
Albinarackal 13:a9c08bbe3ce3 64
Albinarackal 13:a9c08bbe3ce3 65 switch(choice) {
Albinarackal 13:a9c08bbe3ce3 66 case 1:
Albinarackal 13:a9c08bbe3ce3 67 p=-1;
Albinarackal 13:a9c08bbe3ce3 68 pc.printf("PLACE THE FINGER TO ENROLL\n");
Albinarackal 13:a9c08bbe3ce3 69
Albinarackal 13:a9c08bbe3ce3 70
Albinarackal 13:a9c08bbe3ce3 71 //.............Enrolling 1st time
Albinarackal 13:a9c08bbe3ce3 72
Albinarackal 13:a9c08bbe3ce3 73 while(p != FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 74 pc.printf(".");
Albinarackal 13:a9c08bbe3ce3 75 p = finger.CMD_GETIMG();;
Albinarackal 13:a9c08bbe3ce3 76 switch (p) {
Albinarackal 13:a9c08bbe3ce3 77 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 78 pc.printf("Image Taken\n");
Albinarackal 13:a9c08bbe3ce3 79 break;
Albinarackal 13:a9c08bbe3ce3 80
Albinarackal 13:a9c08bbe3ce3 81 case FINGERPRINT_NOFINGER:
Albinarackal 13:a9c08bbe3ce3 82 pc.printf(".");
Albinarackal 13:a9c08bbe3ce3 83 wait(1);
Albinarackal 13:a9c08bbe3ce3 84
Albinarackal 13:a9c08bbe3ce3 85 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 86 //pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 87 break;
Albinarackal 13:a9c08bbe3ce3 88
Albinarackal 13:a9c08bbe3ce3 89 case FINGERPRINT_IMAGEFAIL:
Albinarackal 13:a9c08bbe3ce3 90 pc.printf("Imaging error\n");
Albinarackal 13:a9c08bbe3ce3 91 break;
Albinarackal 13:a9c08bbe3ce3 92
Albinarackal 13:a9c08bbe3ce3 93 default:
Albinarackal 13:a9c08bbe3ce3 94 pc.printf("Unknown Error\n");
Albinarackal 13:a9c08bbe3ce3 95 break;
Albinarackal 13:a9c08bbe3ce3 96 }
Albinarackal 13:a9c08bbe3ce3 97 }
Albinarackal 13:a9c08bbe3ce3 98
Albinarackal 13:a9c08bbe3ce3 99 p= -1;
Albinarackal 13:a9c08bbe3ce3 100 while(p!= FINGERPRINT_OK)
Albinarackal 13:a9c08bbe3ce3 101 {
Albinarackal 13:a9c08bbe3ce3 102 p = finger.CMD_IMG2Tz1();
Albinarackal 13:a9c08bbe3ce3 103
Albinarackal 13:a9c08bbe3ce3 104 switch (p) {
Albinarackal 13:a9c08bbe3ce3 105 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 106 pc.printf("Image Converted\n");
Albinarackal 13:a9c08bbe3ce3 107 break;
Albinarackal 13:a9c08bbe3ce3 108
Albinarackal 13:a9c08bbe3ce3 109 case FINGERPRINT_IMAGEMESS:
Albinarackal 13:a9c08bbe3ce3 110 pc.printf("Image too messy\n");
Albinarackal 13:a9c08bbe3ce3 111 return p;
Albinarackal 13:a9c08bbe3ce3 112
Albinarackal 13:a9c08bbe3ce3 113 case FINGERPRINT_FEATUREFAIL:
Albinarackal 13:a9c08bbe3ce3 114 pc.printf("Could not find fingerprint features\n");
Albinarackal 13:a9c08bbe3ce3 115 return p;
Albinarackal 13:a9c08bbe3ce3 116
Albinarackal 13:a9c08bbe3ce3 117 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 118 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 119 return p;
Albinarackal 13:a9c08bbe3ce3 120
Albinarackal 13:a9c08bbe3ce3 121 default:
Albinarackal 13:a9c08bbe3ce3 122 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 123 return p;
Albinarackal 13:a9c08bbe3ce3 124 }
Albinarackal 13:a9c08bbe3ce3 125 }
Albinarackal 13:a9c08bbe3ce3 126
Albinarackal 13:a9c08bbe3ce3 127 //...........Enrolling 2nd time
Albinarackal 13:a9c08bbe3ce3 128
Albinarackal 13:a9c08bbe3ce3 129
Albinarackal 13:a9c08bbe3ce3 130 pc.printf("Remove the finger\n");
Albinarackal 13:a9c08bbe3ce3 131 wait(1);
Albinarackal 13:a9c08bbe3ce3 132 p=0;
Albinarackal 13:a9c08bbe3ce3 133
Albinarackal 13:a9c08bbe3ce3 134 while(p!= FINGERPRINT_NOFINGER) { //Waiting for finger to remove
Albinarackal 13:a9c08bbe3ce3 135 p= finger.CMD_GETIMG();
Albinarackal 13:a9c08bbe3ce3 136 }
Albinarackal 13:a9c08bbe3ce3 137 p =-1;
Albinarackal 13:a9c08bbe3ce3 138 pc.printf("PLACE THE SAME FINGER AGAIN\n");
Albinarackal 13:a9c08bbe3ce3 139
Albinarackal 13:a9c08bbe3ce3 140 while(p!= FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 141 pc.printf(".");
Albinarackal 13:a9c08bbe3ce3 142 p = finger.CMD_GETIMG();;
Albinarackal 13:a9c08bbe3ce3 143 switch (p) {
Albinarackal 13:a9c08bbe3ce3 144 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 145 pc.printf("Image Taken\n");
Albinarackal 13:a9c08bbe3ce3 146 break;
Albinarackal 13:a9c08bbe3ce3 147
Albinarackal 13:a9c08bbe3ce3 148 case FINGERPRINT_NOFINGER:
Albinarackal 13:a9c08bbe3ce3 149 pc.printf(".");
Albinarackal 13:a9c08bbe3ce3 150 wait(1);
Albinarackal 13:a9c08bbe3ce3 151
Albinarackal 13:a9c08bbe3ce3 152 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 153 //pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 154 break;
Albinarackal 13:a9c08bbe3ce3 155
Albinarackal 13:a9c08bbe3ce3 156 case FINGERPRINT_IMAGEFAIL:
Albinarackal 13:a9c08bbe3ce3 157 pc.printf("Imaging error\n");
Albinarackal 13:a9c08bbe3ce3 158 break;
Albinarackal 13:a9c08bbe3ce3 159
Albinarackal 13:a9c08bbe3ce3 160 default:
Albinarackal 13:a9c08bbe3ce3 161 pc.printf("Unknown Error\n");
Albinarackal 13:a9c08bbe3ce3 162 break;
Albinarackal 13:a9c08bbe3ce3 163 }
Albinarackal 13:a9c08bbe3ce3 164 }
Albinarackal 13:a9c08bbe3ce3 165
Albinarackal 13:a9c08bbe3ce3 166 p=-1;
Albinarackal 13:a9c08bbe3ce3 167 while(p!= FINGERPRINT_OK)
Albinarackal 13:a9c08bbe3ce3 168 {
Albinarackal 13:a9c08bbe3ce3 169 p = finger.CMD_IMG2Tz2();
Albinarackal 13:a9c08bbe3ce3 170
Albinarackal 13:a9c08bbe3ce3 171 switch (p) {
Albinarackal 13:a9c08bbe3ce3 172 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 173 pc.printf("Image Converted\n");
Albinarackal 13:a9c08bbe3ce3 174 break;
Albinarackal 13:a9c08bbe3ce3 175
Albinarackal 13:a9c08bbe3ce3 176 case FINGERPRINT_IMAGEMESS:
Albinarackal 13:a9c08bbe3ce3 177 pc.printf("Image too messy\n");
Albinarackal 13:a9c08bbe3ce3 178 return p;
Albinarackal 13:a9c08bbe3ce3 179
Albinarackal 13:a9c08bbe3ce3 180 case FINGERPRINT_FEATUREFAIL:
Albinarackal 13:a9c08bbe3ce3 181 pc.printf("Could not find fingerprint features\n");
Albinarackal 13:a9c08bbe3ce3 182 return p;
Albinarackal 13:a9c08bbe3ce3 183
Albinarackal 13:a9c08bbe3ce3 184 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 185 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 186 return p;
Albinarackal 13:a9c08bbe3ce3 187
Albinarackal 13:a9c08bbe3ce3 188 default:
Albinarackal 13:a9c08bbe3ce3 189 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 190 return p;
Albinarackal 13:a9c08bbe3ce3 191 }
Albinarackal 13:a9c08bbe3ce3 192 }
Albinarackal 13:a9c08bbe3ce3 193
Albinarackal 13:a9c08bbe3ce3 194 //........Creating Model
Albinarackal 13:a9c08bbe3ce3 195
Albinarackal 13:a9c08bbe3ce3 196 pc.printf("Creating Model\n");
Albinarackal 13:a9c08bbe3ce3 197
Albinarackal 13:a9c08bbe3ce3 198 p = finger.createModel();
Albinarackal 13:a9c08bbe3ce3 199
Albinarackal 13:a9c08bbe3ce3 200 if(p == FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 201 pc.printf("Prints Matched\n");
Albinarackal 13:a9c08bbe3ce3 202 }
Albinarackal 13:a9c08bbe3ce3 203
Albinarackal 13:a9c08bbe3ce3 204 else if(p == FINGERPRINT_ENROLLMISMATCH) {
Albinarackal 13:a9c08bbe3ce3 205 pc.printf("Fingerprints did not match\n");
Albinarackal 13:a9c08bbe3ce3 206 break;
Albinarackal 13:a9c08bbe3ce3 207 }
Albinarackal 13:a9c08bbe3ce3 208
Albinarackal 13:a9c08bbe3ce3 209 else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Albinarackal 13:a9c08bbe3ce3 210 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 211 break;
Albinarackal 13:a9c08bbe3ce3 212 } else {
Albinarackal 13:a9c08bbe3ce3 213 pc.printf("UNKNOWN ERROR\n");
Albinarackal 13:a9c08bbe3ce3 214 break;
Albinarackal 13:a9c08bbe3ce3 215 }
Albinarackal 13:a9c08bbe3ce3 216
Albinarackal 13:a9c08bbe3ce3 217
Albinarackal 13:a9c08bbe3ce3 218 //.....Storing Model
Albinarackal 13:a9c08bbe3ce3 219
Albinarackal 13:a9c08bbe3ce3 220 uint8_t test = (uint8_t)(id & 0xFF);
Albinarackal 13:a9c08bbe3ce3 221 pc.printf("%x\n", test);
Albinarackal 13:a9c08bbe3ce3 222 pc.printf("%d\n", test);
Albinarackal 13:a9c08bbe3ce3 223 p = finger.STORE_MODEL(id);
Albinarackal 13:a9c08bbe3ce3 224
Albinarackal 13:a9c08bbe3ce3 225 if(p == FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 226 pc.printf("Stored\n");
Albinarackal 13:a9c08bbe3ce3 227 id++;
Albinarackal 13:a9c08bbe3ce3 228 }
Albinarackal 13:a9c08bbe3ce3 229
Albinarackal 13:a9c08bbe3ce3 230 else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Albinarackal 13:a9c08bbe3ce3 231 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 232 break;
Albinarackal 13:a9c08bbe3ce3 233 }
Albinarackal 13:a9c08bbe3ce3 234
Albinarackal 13:a9c08bbe3ce3 235 else if (p == FINGERPRINT_BADLOCATION) {
Albinarackal 13:a9c08bbe3ce3 236 pc.printf("Could not store in that location\n");
Albinarackal 13:a9c08bbe3ce3 237 break;
Albinarackal 13:a9c08bbe3ce3 238 }
Albinarackal 13:a9c08bbe3ce3 239
Albinarackal 13:a9c08bbe3ce3 240 else if (p == FINGERPRINT_FLASHERR) {
Albinarackal 13:a9c08bbe3ce3 241 pc.printf("Error writing to flash\n");
Albinarackal 13:a9c08bbe3ce3 242 break;
Albinarackal 13:a9c08bbe3ce3 243 } else {
Albinarackal 13:a9c08bbe3ce3 244 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 245 break;
Albinarackal 13:a9c08bbe3ce3 246 }
Albinarackal 13:a9c08bbe3ce3 247
hjjeon 8:574087f87b1e 248 break;
Albinarackal 13:a9c08bbe3ce3 249
Albinarackal 13:a9c08bbe3ce3 250
Albinarackal 13:a9c08bbe3ce3 251 //.............................................Get TEMPLATE Count.......................................................//
Albinarackal 13:a9c08bbe3ce3 252 case 2:
Albinarackal 13:a9c08bbe3ce3 253 pc.printf("Getting template count\n\n");
Albinarackal 13:a9c08bbe3ce3 254 wait(1);
Albinarackal 13:a9c08bbe3ce3 255 p = -1;
Albinarackal 13:a9c08bbe3ce3 256 p = finger.TMPL_COUNT();
Albinarackal 13:a9c08bbe3ce3 257
Albinarackal 13:a9c08bbe3ce3 258 if(p==FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 259 pc.printf("SENSOR CONTAINS %d TEMPLATES",finger.templatecount);
Albinarackal 13:a9c08bbe3ce3 260 }
Albinarackal 13:a9c08bbe3ce3 261
Albinarackal 13:a9c08bbe3ce3 262 else
Albinarackal 13:a9c08bbe3ce3 263 pc.printf("ERROR\n");
Albinarackal 13:a9c08bbe3ce3 264 break;
Albinarackal 13:a9c08bbe3ce3 265
Albinarackal 13:a9c08bbe3ce3 266 //.................................................SEARCHING............................................................//
Albinarackal 13:a9c08bbe3ce3 267
Albinarackal 13:a9c08bbe3ce3 268 case 3:
Albinarackal 13:a9c08bbe3ce3 269 p= -1;
Albinarackal 13:a9c08bbe3ce3 270 while(p!= FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 271 p= finger.CMD_GETIMG();
Albinarackal 13:a9c08bbe3ce3 272
Albinarackal 13:a9c08bbe3ce3 273 switch (p) {
Albinarackal 13:a9c08bbe3ce3 274 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 275 pc.printf("Image Taken\n");
Albinarackal 13:a9c08bbe3ce3 276 break;
Albinarackal 13:a9c08bbe3ce3 277
Albinarackal 13:a9c08bbe3ce3 278 case FINGERPRINT_NOFINGER:
Albinarackal 13:a9c08bbe3ce3 279 pc.printf(".");
Albinarackal 13:a9c08bbe3ce3 280 wait(1);
Albinarackal 13:a9c08bbe3ce3 281
Albinarackal 13:a9c08bbe3ce3 282 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 283 //pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 284 break;
Albinarackal 13:a9c08bbe3ce3 285
Albinarackal 13:a9c08bbe3ce3 286 case FINGERPRINT_IMAGEFAIL:
Albinarackal 13:a9c08bbe3ce3 287 pc.printf("Imaging error\n");
Albinarackal 13:a9c08bbe3ce3 288 break;
Albinarackal 13:a9c08bbe3ce3 289
Albinarackal 13:a9c08bbe3ce3 290 default:
Albinarackal 13:a9c08bbe3ce3 291 pc.printf("Unknown Error\n");
Albinarackal 13:a9c08bbe3ce3 292 break;
Albinarackal 13:a9c08bbe3ce3 293 }
Albinarackal 13:a9c08bbe3ce3 294 }
Albinarackal 13:a9c08bbe3ce3 295
Albinarackal 13:a9c08bbe3ce3 296 p = finger.CMD_IMG2Tz1();
Albinarackal 13:a9c08bbe3ce3 297
Albinarackal 13:a9c08bbe3ce3 298 switch (p) {
Albinarackal 13:a9c08bbe3ce3 299 case FINGERPRINT_OK:
Albinarackal 13:a9c08bbe3ce3 300 pc.printf("Image Converted\n");
Albinarackal 13:a9c08bbe3ce3 301 break;
Albinarackal 13:a9c08bbe3ce3 302
Albinarackal 13:a9c08bbe3ce3 303 case FINGERPRINT_IMAGEMESS:
Albinarackal 13:a9c08bbe3ce3 304 pc.printf("Image too messy\n");
Albinarackal 13:a9c08bbe3ce3 305 return p;
Albinarackal 13:a9c08bbe3ce3 306
Albinarackal 13:a9c08bbe3ce3 307 case FINGERPRINT_FEATUREFAIL:
Albinarackal 13:a9c08bbe3ce3 308 pc.printf("Could not find fingerprint features\n");
Albinarackal 13:a9c08bbe3ce3 309 return p;
Albinarackal 13:a9c08bbe3ce3 310
Albinarackal 13:a9c08bbe3ce3 311 case FINGERPRINT_PACKETRECIEVEERR:
Albinarackal 13:a9c08bbe3ce3 312 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 313 return p;
Albinarackal 13:a9c08bbe3ce3 314
Albinarackal 13:a9c08bbe3ce3 315 default:
Albinarackal 13:a9c08bbe3ce3 316 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 317 return p;
Albinarackal 13:a9c08bbe3ce3 318 }
Albinarackal 13:a9c08bbe3ce3 319
Albinarackal 13:a9c08bbe3ce3 320 p = finger.FAST_SEARCH();
Albinarackal 13:a9c08bbe3ce3 321 if (p == FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 322 pc.printf("Found a print match!\n");
Albinarackal 13:a9c08bbe3ce3 323 pc.printf("FOUND ID #%d with confidence of %d\n", finger.fingerID, finger.MatchScore);
Albinarackal 13:a9c08bbe3ce3 324 }
Albinarackal 13:a9c08bbe3ce3 325
Albinarackal 13:a9c08bbe3ce3 326 else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Albinarackal 13:a9c08bbe3ce3 327 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 328 break;
Albinarackal 13:a9c08bbe3ce3 329 }
Albinarackal 13:a9c08bbe3ce3 330
Albinarackal 13:a9c08bbe3ce3 331 else if (p == FINGERPRINT_NOTFOUND) {
Albinarackal 13:a9c08bbe3ce3 332 pc.printf("Did not find a match\n");
Albinarackal 13:a9c08bbe3ce3 333 break;
Albinarackal 13:a9c08bbe3ce3 334 }
Albinarackal 13:a9c08bbe3ce3 335
Albinarackal 13:a9c08bbe3ce3 336 else {
Albinarackal 13:a9c08bbe3ce3 337 pc.printf("Unknown error");
Albinarackal 13:a9c08bbe3ce3 338 break;
Albinarackal 13:a9c08bbe3ce3 339 }
Albinarackal 13:a9c08bbe3ce3 340
Albinarackal 13:a9c08bbe3ce3 341 break;
Albinarackal 13:a9c08bbe3ce3 342
Albinarackal 13:a9c08bbe3ce3 343
Albinarackal 13:a9c08bbe3ce3 344
Albinarackal 13:a9c08bbe3ce3 345 //............................................DELETE ID................................................................//
Albinarackal 13:a9c08bbe3ce3 346
Albinarackal 13:a9c08bbe3ce3 347 case 4:
Albinarackal 13:a9c08bbe3ce3 348
Albinarackal 13:a9c08bbe3ce3 349 pc.printf("Please, Enter the ID to be Deleted\n");
Albinarackal 13:a9c08bbe3ce3 350 deleteID = pc.getc();
Albinarackal 13:a9c08bbe3ce3 351 deleteID -='0';
Albinarackal 13:a9c08bbe3ce3 352 pc.printf("Deleting the ID %d\n", deleteID);
Albinarackal 13:a9c08bbe3ce3 353
Albinarackal 13:a9c08bbe3ce3 354 p= -1;
Albinarackal 13:a9c08bbe3ce3 355 p= finger.DELETE_ID(deleteID);
Albinarackal 13:a9c08bbe3ce3 356
Albinarackal 13:a9c08bbe3ce3 357 if (p == FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 358 pc.printf("Deleted!\n");
tosihisa 6:016ad8f480d3 359 }
Albinarackal 13:a9c08bbe3ce3 360
Albinarackal 13:a9c08bbe3ce3 361 else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Albinarackal 13:a9c08bbe3ce3 362 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 363 return p;
Albinarackal 13:a9c08bbe3ce3 364 }
Albinarackal 13:a9c08bbe3ce3 365
Albinarackal 13:a9c08bbe3ce3 366 else if (p == FINGERPRINT_BADLOCATION)
Albinarackal 13:a9c08bbe3ce3 367 {
Albinarackal 13:a9c08bbe3ce3 368 pc.printf("Could not delete in that location\n");
Albinarackal 13:a9c08bbe3ce3 369 return p;
Albinarackal 13:a9c08bbe3ce3 370 }
Albinarackal 13:a9c08bbe3ce3 371
Albinarackal 13:a9c08bbe3ce3 372 else if (p == FINGERPRINT_FLASHERR)
hjjeon 10:7b0c02f61513 373 {
Albinarackal 13:a9c08bbe3ce3 374 pc.printf("Error writing to flash\n");
Albinarackal 13:a9c08bbe3ce3 375 return p;
Albinarackal 13:a9c08bbe3ce3 376 }
Albinarackal 13:a9c08bbe3ce3 377 else {
Albinarackal 13:a9c08bbe3ce3 378 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 379 }
Albinarackal 13:a9c08bbe3ce3 380 break;
Albinarackal 13:a9c08bbe3ce3 381
Albinarackal 13:a9c08bbe3ce3 382 //................................................EMPTY LIBRARY......................................................//
Albinarackal 13:a9c08bbe3ce3 383
Albinarackal 13:a9c08bbe3ce3 384 case 5:
Albinarackal 13:a9c08bbe3ce3 385
Albinarackal 13:a9c08bbe3ce3 386 p= -1;
Albinarackal 13:a9c08bbe3ce3 387 p = finger.EMPTY_LIB();
Albinarackal 13:a9c08bbe3ce3 388
Albinarackal 13:a9c08bbe3ce3 389 if (p == FINGERPRINT_OK) {
Albinarackal 13:a9c08bbe3ce3 390 pc.printf("Library Cleared!\n");
hjjeon 10:7b0c02f61513 391 }
Albinarackal 13:a9c08bbe3ce3 392
Albinarackal 13:a9c08bbe3ce3 393 else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Albinarackal 13:a9c08bbe3ce3 394 pc.printf("Communication error\n");
Albinarackal 13:a9c08bbe3ce3 395 return p;
Albinarackal 13:a9c08bbe3ce3 396 }
Albinarackal 13:a9c08bbe3ce3 397
Albinarackal 13:a9c08bbe3ce3 398 else if (p == FINGERPRINT_DBCLEARFAIL)
hjjeon 10:7b0c02f61513 399 {
Albinarackal 13:a9c08bbe3ce3 400 pc.printf("Could not clear the library\n");
Albinarackal 13:a9c08bbe3ce3 401 return p;
Albinarackal 13:a9c08bbe3ce3 402 }
Albinarackal 13:a9c08bbe3ce3 403
Albinarackal 13:a9c08bbe3ce3 404 else {
Albinarackal 13:a9c08bbe3ce3 405 pc.printf("Unknown error\n");
Albinarackal 13:a9c08bbe3ce3 406 }
Albinarackal 13:a9c08bbe3ce3 407 break;
Albinarackal 13:a9c08bbe3ce3 408
Albinarackal 13:a9c08bbe3ce3 409
hjjeon 10:7b0c02f61513 410 }
hjjeon 10:7b0c02f61513 411 }
Albinarackal 13:a9c08bbe3ce3 412 }