-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathr307.h
233 lines (203 loc) · 7.43 KB
/
r307.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#include <stdint.h>
#ifndef r307_H
#define r307_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief INITIALIZE UART FOR R307 FINGERPRINT MODULE
*
* @return
*/
void r307_init(void);
/**
* @brief FUNCITON TO GET RESPONSES FROM R307 FINGERPRINT MODULE
*
* @param instruction_code INSTRUCTION CODE FOR EACH COMMAND
* @return RETURNS CONFIRMATION CODE RECEIVED FROM THE RESPONSE
*/
uint8_t r307_reponse(char instruction_code[]);
/**
* @brief FUNCTION TO PERFORM CHECKSUM MODULE 256
*
* @param tx_cmd_data ENTIRE COMMAND STRING
* @param r307_data STRING WITH NECESSARY DATA FOR THE PACKET OR CHECKSUM FLAG
* @return RETURNS CHECKSUM VALUE ( BOTH HIGHER & LOWER BITS COMBINED )
*/
uint16_t check_sum(char tx_cmd_data[], char r307_data[]);
/**
* @brief FUNCTION TO VERIFY PASSWORD BY HANDSHAKING
*
* @param r307_address CURRENT MODULE ADDRESS
* @param vfy_password CURRENT MODULE PASSWORD
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t VfyPwd(char r307_address[], char vfy_password[]);
/**
* @brief Function to Set New Module Password
*
* @param r307_address CURRENT MODULE ADDRESS
* @param new_password NEW PASSWORD TO BE SET
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t SetPwd(char r307_address[], char new_password[]);
/**
* @brief Function to Set New Module Address
*
* @param r307_address CURRENT MODULE ADDRESS
* @param new_address NEW ADDRESS TO BE SET
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t SetAdder(char r307_address[], char new_address[]);
/**
* @brief Function to Turn ON/OFF Module Port
*
* @param r307_address CURRENT MODULE ADDRESS
* @param control_code 0 : PORT OFF | 1 : PORT ON
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t PortControl(char r307_address[], char control_code[]);
/**
* @brief Function to read Current System Parameters
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t ReadSysPara(char r307_address[]);
/**
* @brief FUNCTION TO READ CURRENT VALID TEMPLATE NUMBER
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t TempleteNum(char r307_address[]);
/**
* @brief FUNCTION TO MATCH CAPTURED FINGER FROM LIBRARY & RETURN RESULTS
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t GR_Auto(char r307_address[]);
/**
* @brief FUNCTION TO AUTOMATICALLY COLLECT FINGER, MATCH CAPTURED FINGER FROM LIBRARY & RETURN RESULTS
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t GR_Identify(char r307_address[]);
/**
* @brief FUNCTION TO DETECT FINGER AND STORE IMAGE IN IMAGEBUFFER
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t GenImg(char r307_address[]);
/**
* @brief FUNCTION TO UPLOAD THE IMAGE IN IMG_BUFFER TO UPPER COMPUTER
*
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t UpImage(char r307_address[]);
/**
* @brief FUNCTION TO DOWNLOAD IMAGE FROM UPPER COMPUTER TO IMG_BUFFER
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t DownImage(char r307_address[]);
/**
* @brief FUNCTION TO GENERATE CHARACTER FILE FROM IMAGE IN IMAGE BUFFER AND STORE IN CHARBUFFER1/CHARBUFFER2
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t Img2Tz(char r307_address[], char buffer_id[]);
/**
* @brief FUNCTION TO COMBINE BOTH CHARACTER FILES AND GENERATE TEMPLATE, STORE IN CHARBUFFER1 & CHARBUFFER2
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t RegModel(char r307_address[]);
/**
* @brief FUNCTION TO UPLOAD CHARACTER FILE/TEMPLATE OF CHARBUFFER1/CHARBUFFER2 TO UPPER COMPUTER
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t UpChar(char r307_address[], char buffer_id[]);
/**
* @brief FUNCTION TO DOWNLOAD CHARACTER FILE/TEMPLATE OF CHARBUFFER1/CHARBUFFER2 TO UPPER COMPUTER
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t DownChar(char r307_address[], char buffer_id[]);
/**
* @brief FUNCTION TO STORE TEMPLATE TO SPECIFIED BUFFER AT DESIRED FLASH LOCATION
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @param page_id FLASH LOCATION OF THE TEMPLATE
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t Store(char r307_address[], char buffer_id[], char page_id[]);
/**
* @brief FUNCTION TO LOAD TEMPLATE FROM DESIRED FLASH LOCAITON TO SPECIFIED BUFFER
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @param page_id FLASH LOCATION OF THE TEMPLATE
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t LoadChar(char r307_address[], char buffer_id[], char page_id[]);
/**
* @brief FUNCTION TO DELETE N SEGMENT OF TEMPLATES OF FLASH STARTING FROM DESIRED LOCATION
*
* @param r307_address CURRENT MODULE ADDRESS
* @param page_id FLASH LOCATION OF THE TEMPLATE
* @param number_of_templates N : NUMBER OF TEMPLATES TO BE DELETED
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t DeletChar(char r307_address[], char page_id[], char number_of_templates[]);
/**
* @brief FUNCTION TO DELETE ALL THE TEMPLATES FROM FLASH LIBRARY
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t Empty(char r307_address[]);
/**
* @brief FUNCTION TO PERFORM PRECISE MATCHING OF TEMPLATES FROM CHARBUFFER1 & CHARBUFFER2
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t Match(char r307_address[]);
/**
* @brief FUNCTION TO SEARCH WHOLE LIBRARY FOR TEMPLATE THAT MATCHES CHARBUFFER1/CHARBUFFER2
*
* @param r307_address CURRENT MODULE ADDRESS
* @param buffer_id BUFFER ID ( CHARACTER FILE BUFFER NUMBER )
* @param start_page START ADDRESS FOR SEARCH OPERATION
* @param page_number SEARCHING NUMBER
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t Search(char r307_address[], char buffer_id[], char start_page[], char page_number[]);
/**
* @brief FUNCTION TO GENERATE 32-BIT RANDOM NUMBER & RETURN TO UPPER COMPUTER
* @param r307_address CURRENT MODULE ADDRESS
* @return RETURNS RECEIVED CONFIRMATION CODE FROM MODULE
*/
uint8_t GetRandomCode(char r307_address[]);
/**
* @brief FUNCTION TO PARSE RESPONSES RECEIVED FROM THE MODULE
* @param instruction_code INSTRUCTION CODE OF THE RECEIVED COMMAND
* @param received_package ENTIRE RECEIVED STRING
* @return
*/
void r307_response_parser(char instruction_code[], uint8_t received_package[]);
#ifdef __cplusplus
}
#endif
#endif // r307_H