-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFPC1020.h
62 lines (50 loc) · 1.92 KB
/
FPC1020.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//
// FPC1020.h
// Created by Deray on 2015-10-07 based on Adafruit library
// Modified to use HardwareSerial on ESP32 by JohnJJG 2020/10/26
//
#ifndef FPC1020_h
#define FPC1020_h
//#include <SoftwareSerial.h>
#include <HardwareSerial.h>
#define TRUE 0x01
#define FALSE 0x00
#define DATA_START 0xf5 // Data start
#define DATA_END 0xf5 // Data end
#define CMD_ENROLL1 0x01 // Add fingerprint 1st
#define CMD_ENROLL2 0x02 // Add fingerprint 2nd
#define CMD_ENROLL3 0x03 // Add fingerprint 3rd
#define CMD_DELETE 0x04 // Delete assigned user
#define CMD_CLEAR 0x05 // Delete all users
#define CMD_USERNUMB 0x09 // Get number of users
#define CMD_IDENTIFY 0x0b // Fingerprint matching 1:1
#define CMD_SEARCH 0x0c // Fingerprint matching 1:N
#define CMD_USERID 0x2b // Get User ID and User Permission
#define ACK_SUCCESS 0x00 // Operate success
#define ACK_FAIL 0x01 // Operate filed
#define ACK_FULL 0x04 // Fingerprint database is full
#define ACK_NOUSER 0x05 // User do not exist
#define ACK_USER_OCCUPIED 0x06 // User ID already exists
#define ACK_USER_EXIST 0x07 // Fingerprint already exists
#define ACK_TIMEOUT 0x08 // Acuquisition timeout
class FPC1020
{
public:
FPC1020(HardwareSerial *ser);
unsigned char Enroll(unsigned int u_id);
unsigned char Clear(void);
unsigned char Delete(unsigned int u_id);
unsigned char Search(void);
unsigned char Read(void);
unsigned char PrintUserID(void);
private:
unsigned char WaitFpData(void);
unsigned char CmdGenCHK(unsigned char wLen,unsigned char *ptr);
void UART_SendPackage(unsigned char wLen,unsigned char *ptr);
unsigned char Check_Package(unsigned char cmd);
void FP_Identify(unsigned int u_id);
void Enroll_Step1(unsigned int u_id);
void Enroll_Step2(unsigned int u_id);
void Enroll_Step3(unsigned int u_id);
};
#endif