Skip to content

Commit 5e6bf70

Browse files
committed
FINGER_FPC1020A
1 parent a4e71e7 commit 5e6bf70

File tree

3 files changed

+86
-390
lines changed

3 files changed

+86
-390
lines changed
Lines changed: 86 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,99 @@
1+
// /*
2+
// *******************************************************************************
3+
// * Copyright (c) 2021 by M5Stack
4+
// * Equipped with M5Tough sample source code
5+
// * 配套 M5Tough 示例源代码
6+
// * Visit the website for more information:https://docs.m5stack.com/en/core/tough
7+
// * 获取更多资料请访问:https://docs.m5stack.com/zh_CN/core/tough
8+
// *
9+
// * describe:Hello World
10+
// * date:2021/7/21
11+
// *******************************************************************************
12+
113
#include <M5Stack.h>
2-
#include "finger.h"
314

4-
uint8_t userNum; //User number
5-
FingerPrint FP_M;
15+
#include "M5_FPC1020A.h"
616

7-
void CleanScreen()
8-
{
9-
M5.Lcd.setTextColor(WHITE);
10-
M5.Lcd.fillRect(0,50,400,300,BLACK);
11-
M5.Lcd.setCursor(0, 50);
12-
M5.Lcd.setTextSize(2);
13-
userNum = FP_M.fpm_getUserNum();
14-
M5.Lcd.print("userNum:");
15-
M5.Lcd.println(userNum);
16-
}
17+
FingerPrint FP_M;
1718

1819
void setup() {
19-
M5.begin();
20-
M5.Power.begin();
21-
Serial.begin(115200);
22-
Serial2.begin(19200, SERIAL_8N1, 16, 17);
23-
M5.Lcd.clear(BLACK);
24-
M5.Lcd.setTextColor(YELLOW);
25-
M5.Lcd.setTextFont(2);
26-
M5.Lcd.setTextSize(3);
27-
M5.Lcd.setCursor(20, 0);
28-
M5.Lcd.println("Finger example");
29-
Serial.printf("Finger example\n");
30-
M5.Lcd.setTextColor(WHITE);
31-
M5.Lcd.fillRect(0,50,400,300,BLACK);
32-
M5.Lcd.setCursor(0, 50);
33-
M5.Lcd.setTextSize(2);
34-
userNum = FP_M.fpm_getUserNum();
35-
M5.Lcd.print("userNum:");
36-
M5.Lcd.println(userNum);
20+
M5.begin();
21+
M5.Power.begin();
22+
M5.Lcd.setTextColor(GREEN);
23+
M5.Lcd.setTextSize(2);
24+
FP_M.begin();
25+
M5.Lcd.drawString("Add User", 10, 210);
26+
M5.Lcd.drawString("Verify", 125, 210);
27+
M5.Lcd.drawString("Del User", 220, 210);
28+
29+
M5.Lcd.setCursor(0, 20);
30+
M5.Lcd.println("Finger Unit TEST");
31+
M5.Lcd.println("1. delete all user");
32+
M5.Lcd.println("2. add a user fingerprint");
33+
M5.Lcd.println("3. verify user permission");
3734
}
3835

39-
//ButtonA: Add user
40-
//ButtonB: Matching
41-
//ButtonC: Delete All User
4236
void loop(){
43-
uint8_t res1;
44-
if(M5.BtnA.wasPressed()){
45-
CleanScreen();
46-
M5.Lcd.println("Fingerprint Typing");
47-
48-
res1 = FP_M.fpm_addUser(userNum,1);
49-
if(res1 == ACK_SUCCESS){
50-
M5.Lcd.println("Success");
51-
}
52-
else if(res1 == ACK_FAIL){
53-
M5.Lcd.println("Fail");
54-
}
55-
else if(res1 == ACK_FULL){
56-
M5.Lcd.println("Full");
57-
}
58-
else{
59-
M5.Lcd.println("Timeout");
60-
}
61-
userNum++;
62-
}
37+
uint8_t res1;
38+
//ButtonA: Add user. 添加用户
39+
if(M5.BtnA.wasPressed()){
40+
41+
42+
M5.Lcd.fillRect(0, 0, 320, 200, BLACK);
43+
Serial.println("Start Fingerprint Typing");
44+
Serial.println("Put Your Finger on the sensor");
45+
Serial.println("wating....");
46+
47+
M5.Lcd.println("Start Fingerprint Typing");
48+
M5.Lcd.println("Put Your Finger on the sensor");
49+
M5.Lcd.println("wating....");
6350

64-
if(M5.BtnB.wasPressed()){
65-
CleanScreen();
66-
M5.Lcd.println("Matching");
67-
68-
res1 = FP_M.fpm_compareFinger();
69-
if(res1 == ACK_SUCCESS){
70-
M5.Lcd.println("Success");
71-
}
72-
if(res1 == ACK_NOUSER){
73-
M5.Lcd.println("No Such User");
74-
}
75-
if(res1 == ACK_TIMEOUT){
76-
M5.Lcd.println("Timeout");
77-
}
51+
res1 = FP_M.fpm_addUser(22,1);//(user_num, userPermission)
52+
if(res1 == ACK_SUCCESS){
53+
M5.Lcd.println("Success");
54+
Serial.println("Success");
55+
}else{
56+
M5.Lcd.println("Fail");
57+
Serial.println("Fail");
7858
}
59+
}
60+
//ButtonB: Matching. 匹配指纹
61+
if(M5.BtnB.wasPressed()){
7962

80-
if(M5.BtnC.wasPressed()){
81-
res1 = FP_M.fpm_deleteAllUser();
82-
CleanScreen();
83-
84-
if(res1 == ACK_SUCCESS){
85-
M5.Lcd.println("Delete All User Successful");
86-
}
87-
else{
88-
M5.Lcd.println("Delete All User Failed");
89-
}
63+
M5.Lcd.fillRect(0, 0, 320, 100, BLACK);
64+
Serial.println("Start Verify Fingerprint");
65+
res1 = FP_M.fpm_compareFinger();
66+
if(res1 == ACK_SUCCESS){
67+
68+
Serial.println("Success");
69+
Serial.print("User ID: ");
70+
Serial.println(FP_M.fpm_getUserId());
71+
72+
M5.Lcd.println("Success");
73+
M5.Lcd.print("User ID: ");
74+
M5.Lcd.println(FP_M.fpm_getUserId());
75+
76+
}else{
77+
Serial.println("No Such User");
78+
79+
M5.Lcd.println("No Such User");
80+
}
81+
}
82+
//ButtonC: Delete All User. 删除所有用户
83+
if(M5.BtnC.wasPressed()){
84+
M5.Lcd.fillRect(0, 0, 320, 100, BLACK);
85+
Serial.println("Start Delete Fingerprint");
86+
M5.Lcd.println("Start Delete Fingerprint");
87+
res1 = FP_M.fpm_deleteAllUser();
88+
if(res1 == ACK_SUCCESS){
89+
Serial.println("Delete All User Successful");
90+
M5.Lcd.println("Delete All User Successful");
91+
}
92+
else{
93+
Serial.println("Delete All User Failed");
94+
M5.Lcd.println("Delete All User Failed");
9095
}
91-
M5.update();
96+
}
97+
M5.Lcd.setCursor(0, 20);
98+
M5.update();
9299
}

0 commit comments

Comments
 (0)