fingerprint4  2.1.0.0
fingerprint4.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2020 MikroElektronika d.o.o.
3 ** Contact: https://www.mikroe.com/contact
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a copy
6 ** of this software and associated documentation files (the "Software"), to deal
7 ** in the Software without restriction, including without limitation the rights
8 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 ** copies of the Software, and to permit persons to whom the Software is
10 ** furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be
12 ** included in all copies or substantial portions of the Software.
13 **
14 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16 ** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 ** USE OR OTHER DEALINGS IN THE SOFTWARE.
21 ****************************************************************************/
22 
28 #ifndef FINGERPRINT4_H
29 #define FINGERPRINT4_H
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_spi_master.h"
38 #include "spi_specifics.h"
39 #include "drv_uart.h"
40 
61 #define FINGERPRINT4_CMD_NONE 0x0000
62 #define FINGERPRINT4_CMD_CAPTURE 0x0001
63 #define FINGERPRINT4_CMD_ENROLL 0x0002
64 #define FINGERPRINT4_CMD_IDENTIFY 0x0003
65 #define FINGERPRINT4_CMD_MATCH 0x0004
66 #define FINGERPRINT4_CMD_IMAGE 0x0005
67 #define FINGERPRINT4_CMD_TEMPLATE 0x0006
68 #define FINGERPRINT4_CMD_WAIT 0x0007
69 #define FINGERPRINT4_CMD_SETTINGS 0x0008
70 #define FINGERPRINT4_CMD_NAVIGATE 0x1001
71 #define FINGERPRINT4_CMD_SENSOR 0x1002
72 #define FINGERPRINT4_CMD_DEADPIXELS 0x1003
73 #define FINGERPRINT4_CMD_CONNECT 0x2001
74 #define FINGERPRINT4_CMD_RECONNECT 0x2002
75 #define FINGERPRINT4_CMD_RESET 0x3002
76 #define FINGERPRINT4_CMD_CANCEL 0x3003
77 #define FINGERPRINT4_CMD_INFO 0x3004
78 #define FINGERPRINT4_CMD_STORAGE_TEMPLATE 0x4002
79 #define FINGERPRINT4_CMD_STORAGE_CALIBRATION 0x4003
80 #define FINGERPRINT4_CMD_STORAGE_LOG 0x4004
81 #define FINGERPRINT4_CMD_STORAGE_SETTINGS 0x4005
82 #define FINGERPRINT4_CMD_TEST 0x5001
83 #define FINGERPRINT4_CMD_MCU 0x5002
84 #define FINGERPRINT4_CMD_GPIO 0x5003
85 #define FINGERPRINT4_CMD_COMMUNICATION 0x6001
86 #define FINGERPRINT4_CMD_APP_BASE 0xE000
87 #define FINGERPRINT4_CMD_DIAG 0xF003
88 #define FINGERPRINT4_CMD_FFFF 0xFFFF
89 
94 #define FINGERPRINT4_ARG_NONE 0x0000
95 #define FINGERPRINT4_ARG_FINGER_DOWN 0x0001
96 #define FINGERPRINT4_ARG_FINGER_UP 0x0002
97 #define FINGERPRINT4_ARG_START 0x0003
98 #define FINGERPRINT4_ARG_ADD 0x0004
99 #define FINGERPRINT4_ARG_FINISH 0x0005
100 #define FINGERPRINT4_ARG_ID 0x0006
101 #define FINGERPRINT4_ARG_ALL 0x0007
102 #define FINGERPRINT4_ARG_EXTRACT 0x0008
103 #define FINGERPRINT4_ARG_MATCH_IMAGE 0x0009
104 #define FINGERPRINT4_ARG_MATCH 0x000A
105 #define FINGERPRINT4_ARG_ACQUIRE 0x1001
106 #define FINGERPRINT4_ARG_RELEASE 0x1002
107 #define FINGERPRINT4_ARG_SET 0x1003
108 #define FINGERPRINT4_ARG_GET 0x1004
109 #define FINGERPRINT4_ARG_UPLOAD 0x1005
110 #define FINGERPRINT4_ARG_DOWNLOAD 0x1006
111 #define FINGERPRINT4_ARG_CREATE 0x1007
112 #define FINGERPRINT4_ARG_SAVE 0x1008
113 #define FINGERPRINT4_ARG_DELETE 0x1009
114 #define FINGERPRINT4_ARG_DATA 0x100A
115 #define FINGERPRINT4_ARG_UPDATE 0x100B
116 #define FINGERPRINT4_ARG_SEQ_NR 0x100C
117 #define FINGERPRINT4_ARG_SEQ_LEN 0x100D
118 #define FINGERPRINT4_ARG_RESULT 0x2001
119 #define FINGERPRINT4_ARG_COUNT 0x2002
120 #define FINGERPRINT4_ARG_SIZE 0x2003
121 #define FINGERPRINT4_ARG_LEVEL 0x2004
122 #define FINGERPRINT4_ARG_FORMAT 0x2005
123 #define FINGERPRINT4_ARG_FLAG 0x2006
124 #define FINGERPRINT4_ARG_PROPERTIES 0x2007
125 #define FINGERPRINT4_ARG_SPEED 0x2008
126 #define FINGERPRINT4_ARG_PROD_TEST 0x2009
127 #define FINGERPRINT4_ARG_SENSOR_TYPE 0x3001
128 #define FINGERPRINT4_ARG_WIDTH 0x3002
129 #define FINGERPRINT4_ARG_HEIGHT 0x3003
130 #define FINGERPRINT4_ARG_RESET 0x3004
131 #define FINGERPRINT4_ARG_DPI 0x3005
132 #define FINGERPRINT4_ARG_MAX_SPI_CLOCK 0x3006
133 #define FINGERPRINT4_ARG_NUM_SUB_AREAS_WIDTH 0x3007
134 #define FINGERPRINT4_ARG_NUM_SUB_AREAS_HEIGHT 0x3008
135 #define FINGERPRINT4_ARG_IRQ_STATUS 0x3009
136 #define FINGERPRINT4_ARG_RESET_HARD 0x300A
137 #define FINGERPRINT4_ARG_IDLE 0x4001
138 #define FINGERPRINT4_ARG_SLEEP 0x4002
139 #define FINGERPRINT4_ARG_DEEP_SLEEP 0x4003
140 #define FINGERPRINT4_ARG_POWER_MODE 0x4004
141 #define FINGERPRINT4_ARG_BUSY_WAIT 0x4005
142 #define FINGERPRINT4_ARG_TIMEOUT 0x5001
143 #define FINGERPRINT4_ARG_DONE 0x5002
144 #define FINGERPRINT4_ARG_BOOT 0x6001
145 #define FINGERPRINT4_ARG_STATUS 0x6002
146 #define FINGERPRINT4_ARG_VERSION 0x6003
147 #define FINGERPRINT4_ARG_UNIQUE_ID 0x6004
148 #define FINGERPRINT4_ARG_APP_BASE 0x7000
149 #define FINGERPRINT4_ARG_NONCE 0x8001
150 #define FINGERPRINT4_ARG_MAC 0x8002
151 #define FINGERPRINT4_ARG_RANDOM 0x8003
152 #define FINGERPRINT4_ARG_CLAIM 0x8004
153 #define FINGERPRINT4_ARG_PUBLIC_KEY 0x8005
154 #define FINGERPRINT4_ARG_CIPHERTEXT 0x8006
155 #define FINGERPRINT4_ARG_MTU 0x9001
156 #define FINGERPRINT4_ARG_STACK 0xE001
157 #define FINGERPRINT4_ARG_FILL 0xE002
158 #define FINGERPRINT4_ARG_HEAP 0xE003
159 #define FINGERPRINT4_ARG_MODE 0xF001
160 #define FINGERPRINT4_ARG_DEBUG 0xF002
161 #define FINGERPRINT4_ARG_FFFF 0xFFFF
162  // fingerprint4_reg
164 
179 #define FINGERPRINT4_ARG_PAYLOAD_MAX_SIZE 234
180 #define FINGERPRINT4_PHY_MTU_SIZE 256
181 #define FINGERPRINT4_TRANSPORT_LAYER_PLD_SIZE 242
182 
187 #define FINGERPRINT4_ACK_BYTES 0x7F01FF7Ful
188 
193 #define FINGERPRINT4_NUM_IMAGES 3
194 
199 #define FINGERPRINT4_DEFAULT_PHY_RX_TIMEOUT_MS 3000
200 #define FINGERPRINT4_INFINITE_TIMEOUT 0
201 
206 #define FINGERPRINT4_DRV_INTERFACE_UART 0
207 #define FINGERPRINT4_DRV_INTERFACE_SPI 1
208 #define FINGERPRINT4_DRV_INTERFACE FINGERPRINT4_DRV_INTERFACE_SPI
209 
218 #define FINGERPRINT4_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
219 #define FINGERPRINT4_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
220  // fingerprint4_set
222 
237 #if ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_SPI )
238 #define FINGERPRINT4_MAP_MIKROBUS( cfg, mikrobus ) \
239  cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
240  cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
241  cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
242  cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
243  cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
244  cfg.irq = MIKROBUS( mikrobus, MIKROBUS_INT )
245 #elif ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_UART )
246 #define FINGERPRINT4_MAP_MIKROBUS( cfg, mikrobus ) \
247  cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
248  cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
249  cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST );
250 #endif
251  // fingerprint4_map // fingerprint4
254 
259 typedef struct
260 {
261  uint16_t arg;
262  uint16_t size;
266 
271 typedef struct
272 {
273  uint16_t cmd_id;
274  uint16_t num_args;
275  uint8_t args[ FINGERPRINT4_ARG_PAYLOAD_MAX_SIZE + 4 ];
278 
283 typedef struct
284 {
285  uint16_t lnk_chn;
286  uint16_t lnk_size;
287  uint16_t t_size;
288  uint16_t t_seq_nr;
289  uint16_t t_seq_len;
291  uint32_t crc;
294 
299 typedef struct
300 {
301  // Output pins
302  digital_out_t rst;
303 #if ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_SPI )
304  // Input pins
305  digital_in_t irq;
306  // Modules
307  spi_master_t spi;
309  pin_name_t chip_select;
310 #elif ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_UART )
311  // Modules
312  uart_t uart;
314  // Buffers
315  char uart_rx_buffer[ FINGERPRINT4_PHY_MTU_SIZE ];
316  char uart_tx_buffer[ FINGERPRINT4_PHY_MTU_SIZE ];
317 #endif
318  uint32_t phy_rx_timeout;
325 
330 typedef struct
331 {
332 #if ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_SPI )
333  // Communication gpio pins
334  pin_name_t miso;
335  pin_name_t mosi;
336  pin_name_t sck;
337  pin_name_t cs;
339  // static variable
340  uint32_t spi_speed;
341  spi_master_mode_t spi_mode;
342  spi_master_chip_select_polarity_t cs_polarity;
344  // Additional gpio pins
345  pin_name_t rst;
346  pin_name_t irq;
347 #elif ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_UART )
348  // Communication gpio pins
349  pin_name_t rx_pin;
350  pin_name_t tx_pin;
352  // static variable
353  uint32_t baud_rate;
354  bool uart_blocking;
355  uart_data_bits_t data_bit;
356  uart_parity_t parity_bit;
357  uart_stop_bits_t stop_bit;
359  // Additional gpio pins
360  pin_name_t rst;
361 #endif
362 
364 
369 typedef enum
370 {
400 
417 
432 
445 err_t fingerprint4_generic_write ( fingerprint4_t *ctx, uint8_t *data_in, uint16_t len );
446 
459 err_t fingerprint4_generic_read ( fingerprint4_t *ctx, uint8_t *data_out, uint16_t len );
460 
470 void fingerprint4_set_rst_pin ( fingerprint4_t *ctx, uint8_t state );
471 
472 #if ( FINGERPRINT4_DRV_INTERFACE == FINGERPRINT4_DRV_INTERFACE_SPI )
473 
482 #endif
483 
493 
507 err_t fingerprint4_init_cmd ( fingerprint4_t *ctx, uint16_t cmd, uint16_t arg_key );
508 
523 err_t fingerprint4_add_arg ( fingerprint4_t *ctx, uint16_t arg_key, void *arg_data, uint16_t arg_size );
524 
537 err_t fingerprint4_get_arg ( fingerprint4_t *ctx, uint16_t arg_key );
538 
553 err_t fingerprint4_copy_arg ( fingerprint4_t *ctx, uint16_t arg_key, void *arg_data, uint16_t arg_size );
554 
568 
581 
593 
607 err_t fingerprint4_send_cmd ( fingerprint4_t *ctx, uint16_t cmd, uint16_t arg_key );
608 
625 err_t fingerprint4_send_cmd_arg ( fingerprint4_t *ctx, uint16_t cmd, uint16_t arg1_key,
626  uint16_t arg2_key, void *arg2_data, uint16_t arg2_length );
627 
642 err_t fingerprint4_identify_finger ( fingerprint4_t *ctx, uint32_t timeout, uint16_t *template_id, bool *match );
643 
655 err_t fingerprint4_wait_finger_present ( fingerprint4_t *ctx, uint32_t timeout );
656 
668 err_t fingerprint4_wait_finger_not_present ( fingerprint4_t *ctx, uint32_t timeout );
669 
681 err_t fingerprint4_image_get_size ( fingerprint4_t *ctx, uint32_t *size );
682 
694 
706 
720 err_t fingerprint4_image_get ( fingerprint4_t *ctx, uint8_t *data_out, uint32_t size );
721 
734 err_t fingerprint4_image_put ( fingerprint4_t *ctx, uint8_t *data_in, uint32_t size );
735 
747 
760 
772 err_t fingerprint4_template_save ( fingerprint4_t *ctx, uint16_t template_id );
773 
785 
799 err_t fingerprint4_template_get ( fingerprint4_t *ctx, uint8_t *data_out, uint32_t size );
800 
813 err_t fingerprint4_template_put ( fingerprint4_t *ctx, uint8_t *data_in, uint16_t size );
814 
826 err_t fingerprint4_template_remove ( fingerprint4_t *ctx, uint16_t template_id );
827 
839 
851 err_t fingerprint4_template_load_storage ( fingerprint4_t *ctx, uint16_t template_id );
852 
864 err_t fingerprint4_template_get_count ( fingerprint4_t *ctx, uint16_t *count );
865 
879 
891 
903 
915 
930 err_t fingerprint4_version ( fingerprint4_t *ctx, char *version, uint8_t len );
931 
944 err_t fingerprint4_unique_id_get ( fingerprint4_t *ctx, uint8_t *unique_id );
945 
957 err_t fingerprint4_uart_speed_set ( fingerprint4_t *ctx, uint32_t speed );
958 
970 err_t fingerprint4_uart_speed_get ( fingerprint4_t *ctx, uint32_t *speed );
971 
983 
984 #ifdef __cplusplus
985 }
986 #endif
987 #endif // FINGERPRINT4_H
988  // fingerprint4
990 
991 // ------------------------------------------------------------------------ END
fingerprint4_cfg_t
Fingerprint 4 Click configuration object.
Definition: fingerprint4.h:331
fingerprint4_packet_t::lnk_size
uint16_t lnk_size
Definition: fingerprint4.h:286
FINGERPRINT4_RES_IMAGE_CAPTURE_ERROR
@ FINGERPRINT4_RES_IMAGE_CAPTURE_ERROR
Definition: fingerprint4.h:386
fingerprint4_hcp_packet_t
Fingerprint 4 Click HCP packet object.
Definition: fingerprint4.h:272
FINGERPRINT4_RES_ID_NOT_UNIQUE
@ FINGERPRINT4_RES_ID_NOT_UNIQUE
Definition: fingerprint4.h:383
fingerprint4_template_get_count
err_t fingerprint4_template_get_count(fingerprint4_t *ctx, uint16_t *count)
Fingerprint 4 template get count function.
fingerprint4_packet_t::crc
uint32_t crc
Definition: fingerprint4.h:291
fingerprint4_template_put
err_t fingerprint4_template_put(fingerprint4_t *ctx, uint8_t *data_in, uint16_t size)
Fingerprint 4 template put function.
fingerprint4_cfg_t::miso
pin_name_t miso
Definition: fingerprint4.h:334
FINGERPRINT4_RES_WRONG_STATE
@ FINGERPRINT4_RES_WRONG_STATE
Definition: fingerprint4.h:381
FINGERPRINT4_RES_NOT_INITIALIZED
@ FINGERPRINT4_RES_NOT_INITIALIZED
Definition: fingerprint4.h:397
fingerprint4_version
err_t fingerprint4_version(fingerprint4_t *ctx, char *version, uint8_t len)
Fingerprint 4 version function.
FINGERPRINT4_RES_INTERNAL_ERROR
@ FINGERPRINT4_RES_INTERNAL_ERROR
Definition: fingerprint4.h:373
fingerprint4_template_save
err_t fingerprint4_template_save(fingerprint4_t *ctx, uint16_t template_id)
Fingerprint 4 template save function.
fingerprint4_hcp_packet_t::num_args
uint16_t num_args
Definition: fingerprint4.h:274
fingerprint4_image_put
err_t fingerprint4_image_put(fingerprint4_t *ctx, uint8_t *data_in, uint32_t size)
Fingerprint 4 image put function.
fingerprint4_add_arg
err_t fingerprint4_add_arg(fingerprint4_t *ctx, uint16_t arg_key, void *arg_data, uint16_t arg_size)
Fingerprint 4 add arg function.
fingerprint4_packet_t::hcp_packet
fingerprint4_hcp_packet_t hcp_packet
Definition: fingerprint4.h:290
spi_specifics.h
This file contains SPI specific macros, functions, etc.
FINGERPRINT4_RES_MISSING_TEMPLATE
@ FINGERPRINT4_RES_MISSING_TEMPLATE
Definition: fingerprint4.h:389
FINGERPRINT4_RES_IO_ERROR
@ FINGERPRINT4_RES_IO_ERROR
Definition: fingerprint4.h:379
fingerprint4_template_remove_all
err_t fingerprint4_template_remove_all(fingerprint4_t *ctx)
Fingerprint 4 template remove all function.
fingerprint4_image_delete
err_t fingerprint4_image_delete(fingerprint4_t *ctx)
Fingerprint 4 image delete function.
fingerprint4_wait_finger_not_present
err_t fingerprint4_wait_finger_not_present(fingerprint4_t *ctx, uint32_t timeout)
Fingerprint 4 wait finger not present function.
fingerprint4_hcp_arg_data_t
Fingerprint 4 Click HCP argument data object.
Definition: fingerprint4.h:260
fingerprint4_packet_t::t_seq_nr
uint16_t t_seq_nr
Definition: fingerprint4.h:288
fingerprint4_image_create
err_t fingerprint4_image_create(fingerprint4_t *ctx)
Fingerprint 4 image create function.
fingerprint4_reset_device
void fingerprint4_reset_device(fingerprint4_t *ctx)
Fingerprint 4 reset device function.
FINGERPRINT4_RES_INVALID_FORMAT
@ FINGERPRINT4_RES_INVALID_FORMAT
Definition: fingerprint4.h:385
FINGERPRINT4_RES_ERROR
@ FINGERPRINT4_RES_ERROR
Definition: fingerprint4.h:372
fingerprint4_hcp_arg_data_t::size
uint16_t size
Definition: fingerprint4.h:262
FINGERPRINT4_RES_SENSOR_NOT_INITIALIZED
@ FINGERPRINT4_RES_SENSOR_NOT_INITIALIZED
Definition: fingerprint4.h:392
FINGERPRINT4_RES_INVALID_PARAMETER
@ FINGERPRINT4_RES_INVALID_PARAMETER
Definition: fingerprint4.h:388
fingerprint4_init_cmd
err_t fingerprint4_init_cmd(fingerprint4_t *ctx, uint16_t cmd, uint16_t arg_key)
Fingerprint 4 init cmd function.
FINGERPRINT4_RES_ID_NOT_FOUND
@ FINGERPRINT4_RES_ID_NOT_FOUND
Definition: fingerprint4.h:384
fingerprint4_t::arg
fingerprint4_hcp_arg_data_t arg
Definition: fingerprint4.h:320
fingerprint4_identify_finger
err_t fingerprint4_identify_finger(fingerprint4_t *ctx, uint32_t timeout, uint16_t *template_id, bool *match)
Fingerprint 4 identify finger function.
fingerprint4_transceive
err_t fingerprint4_transceive(fingerprint4_t *ctx)
Fingerprint 4 transceive function.
fingerprint4_t::spi
spi_master_t spi
Definition: fingerprint4.h:307
fingerprint4_unique_id_get
err_t fingerprint4_unique_id_get(fingerprint4_t *ctx, uint8_t *unique_id)
Fingerprint 4 version function.
FINGERPRINT4_PHY_MTU_SIZE
#define FINGERPRINT4_PHY_MTU_SIZE
Definition: fingerprint4.h:180
fingerprint4_return_value_t
fingerprint4_return_value_t
Fingerprint 4 Click return value data.
Definition: fingerprint4.h:370
FINGERPRINT4_RES_SENSOR_MISMATCH
@ FINGERPRINT4_RES_SENSOR_MISMATCH
Definition: fingerprint4.h:387
FINGERPRINT4_ARG_PAYLOAD_MAX_SIZE
#define FINGERPRINT4_ARG_PAYLOAD_MAX_SIZE
Fingerprint 4 buffers size setting.
Definition: fingerprint4.h:179
fingerprint4_image_get_size
err_t fingerprint4_image_get_size(fingerprint4_t *ctx, uint32_t *size)
Fingerprint 4 image get size function.
fingerprint4_init
err_t fingerprint4_init(fingerprint4_t *ctx, fingerprint4_cfg_t *cfg)
Fingerprint 4 initialization function.
fingerprint4_t
Fingerprint 4 Click context object.
Definition: fingerprint4.h:300
fingerprint4_wait_finger_present
err_t fingerprint4_wait_finger_present(fingerprint4_t *ctx, uint32_t timeout)
Fingerprint 4 wait finger present function.
fingerprint4_t::chip_select
pin_name_t chip_select
Definition: fingerprint4.h:309
fingerprint4_template_remove
err_t fingerprint4_template_remove(fingerprint4_t *ctx, uint16_t template_id)
Fingerprint 4 template remove function.
fingerprint4_receive
err_t fingerprint4_receive(fingerprint4_t *ctx)
Fingerprint 4 receive function.
fingerprint4_cfg_t::cs_polarity
spi_master_chip_select_polarity_t cs_polarity
Definition: fingerprint4.h:342
fingerprint4_t::phy_rx_timeout
uint32_t phy_rx_timeout
Definition: fingerprint4.h:318
FINGERPRINT4_RES_CANCELLED
@ FINGERPRINT4_RES_CANCELLED
Definition: fingerprint4.h:376
fingerprint4_hcp_packet_t::cmd_id
uint16_t cmd_id
Definition: fingerprint4.h:273
fingerprint4_template_get_ids
err_t fingerprint4_template_get_ids(fingerprint4_t *ctx)
Fingerprint 4 template get ids function.
fingerprint4_cfg_t::spi_speed
uint32_t spi_speed
Definition: fingerprint4.h:340
fingerprint4_hcp_arg_data_t::arg
uint16_t arg
Definition: fingerprint4.h:261
fingerprint4_template_load_storage
err_t fingerprint4_template_load_storage(fingerprint4_t *ctx, uint16_t template_id)
Fingerprint 4 template load storage function.
fingerprint4_uart_speed_set
err_t fingerprint4_uart_speed_set(fingerprint4_t *ctx, uint32_t speed)
Fingerprint 4 uart speed set function.
FINGERPRINT4_RES_OK
@ FINGERPRINT4_RES_OK
Definition: fingerprint4.h:371
fingerprint4_packet_t::t_seq_len
uint16_t t_seq_len
Definition: fingerprint4.h:289
fingerprint4_get_arg
err_t fingerprint4_get_arg(fingerprint4_t *ctx, uint16_t arg_key)
Fingerprint 4 get arg function.
fingerprint4_sensor_reset
err_t fingerprint4_sensor_reset(fingerprint4_t *ctx)
Fingerprint 4 sensor reset function.
fingerprint4_cfg_t::mosi
pin_name_t mosi
Definition: fingerprint4.h:335
FINGERPRINT4_RES_FINGER_NOT_STABLE
@ FINGERPRINT4_RES_FINGER_NOT_STABLE
Definition: fingerprint4.h:396
fingerprint4_sensor_calibrate_remove
err_t fingerprint4_sensor_calibrate_remove(fingerprint4_t *ctx)
Fingerprint 4 sensor calibrate remove function.
FINGERPRINT4_RES_INVALID_CALIBRATION
@ FINGERPRINT4_RES_INVALID_CALIBRATION
Definition: fingerprint4.h:390
FINGERPRINT4_RES_NOT_SUPPORTED
@ FINGERPRINT4_RES_NOT_SUPPORTED
Definition: fingerprint4.h:395
fingerprint4_send_cmd_arg
err_t fingerprint4_send_cmd_arg(fingerprint4_t *ctx, uint16_t cmd, uint16_t arg1_key, uint16_t arg2_key, void *arg2_data, uint16_t arg2_length)
Fingerprint 4 send cmd arg function.
fingerprint4_generic_read
err_t fingerprint4_generic_read(fingerprint4_t *ctx, uint8_t *data_out, uint16_t len)
Fingerprint 4 data reading function.
fingerprint4_sw_reset
err_t fingerprint4_sw_reset(fingerprint4_t *ctx)
Fingerprint 4 sw reset function.
fingerprint4_packet_t::lnk_chn
uint16_t lnk_chn
Definition: fingerprint4.h:285
fingerprint4_copy_arg
err_t fingerprint4_copy_arg(fingerprint4_t *ctx, uint16_t arg_key, void *arg_data, uint16_t arg_size)
Fingerprint 4 copy arg function.
fingerprint4_uart_speed_get
err_t fingerprint4_uart_speed_get(fingerprint4_t *ctx, uint32_t *speed)
Fingerprint 4 uart speed get function.
fingerprint4_packet_t
Fingerprint 4 Click PHY packet object.
Definition: fingerprint4.h:284
fingerprint4_t::rst
digital_out_t rst
Definition: fingerprint4.h:302
fingerprint4_cfg_t::rst
pin_name_t rst
Definition: fingerprint4.h:345
FINGERPRINT4_RES_NO_MEMORY
@ FINGERPRINT4_RES_NO_MEMORY
Definition: fingerprint4.h:377
fingerprint4_image_extract
err_t fingerprint4_image_extract(fingerprint4_t *ctx)
Fingerprint 4 image extract function.
FINGERPRINT4_RES_TIMEOUT
@ FINGERPRINT4_RES_TIMEOUT
Definition: fingerprint4.h:382
FINGERPRINT4_RES_STORAGE_NOT_FORMATTED
@ FINGERPRINT4_RES_STORAGE_NOT_FORMATTED
Definition: fingerprint4.h:391
fingerprint4_t::irq
digital_in_t irq
Definition: fingerprint4.h:305
fingerprint4_generic_write
err_t fingerprint4_generic_write(fingerprint4_t *ctx, uint8_t *data_in, uint16_t len)
Fingerprint 4 data writing function.
fingerprint4_template_remove_ram
err_t fingerprint4_template_remove_ram(fingerprint4_t *ctx)
Fingerprint 4 template remove ram function.
fingerprint4_cfg_t::cs
pin_name_t cs
Definition: fingerprint4.h:337
FINGERPRINT4_RES_NOT_IMPLEMENTED
@ FINGERPRINT4_RES_NOT_IMPLEMENTED
Definition: fingerprint4.h:375
fingerprint4_sensor_calibrate
err_t fingerprint4_sensor_calibrate(fingerprint4_t *ctx)
Fingerprint 4 sensor calibrate function.
fingerprint4_cfg_t::irq
pin_name_t irq
Definition: fingerprint4.h:346
fingerprint4_cfg_t::spi_mode
spi_master_mode_t spi_mode
Definition: fingerprint4.h:341
fingerprint4_get_irq_pin
uint8_t fingerprint4_get_irq_pin(fingerprint4_t *ctx)
Fingerprint 4 get irq pin function.
fingerprint4_packet_t::t_size
uint16_t t_size
Definition: fingerprint4.h:287
fingerprint4_cfg_t::sck
pin_name_t sck
Definition: fingerprint4.h:336
fingerprint4_identify
err_t fingerprint4_identify(fingerprint4_t *ctx)
Fingerprint 4 identify function.
FINGERPRINT4_RES_TOO_MANY_BAD_IMAGES
@ FINGERPRINT4_RES_TOO_MANY_BAD_IMAGES
Definition: fingerprint4.h:393
fingerprint4_t::phy_pkt
fingerprint4_packet_t phy_pkt
Definition: fingerprint4.h:322
fingerprint4_set_rst_pin
void fingerprint4_set_rst_pin(fingerprint4_t *ctx, uint8_t state)
Fingerprint 4 set rst pin function.
FINGERPRINT4_RES_INVALID_ARGUMENT
@ FINGERPRINT4_RES_INVALID_ARGUMENT
Definition: fingerprint4.h:374
FINGERPRINT4_RES_CRYPTO_ERROR
@ FINGERPRINT4_RES_CRYPTO_ERROR
Definition: fingerprint4.h:394
fingerprint4_template_get
err_t fingerprint4_template_get(fingerprint4_t *ctx, uint8_t *data_out, uint32_t size)
Fingerprint 4 template get function.
fingerprint4_send_cmd
err_t fingerprint4_send_cmd(fingerprint4_t *ctx, uint16_t cmd, uint16_t arg_key)
Fingerprint 4 send cmd function.
fingerprint4_image_get
err_t fingerprint4_image_get(fingerprint4_t *ctx, uint8_t *data_out, uint32_t size)
Fingerprint 4 image get function.
FINGERPRINT4_RES_NO_RESOURCE
@ FINGERPRINT4_RES_NO_RESOURCE
Definition: fingerprint4.h:378
fingerprint4_send
err_t fingerprint4_send(fingerprint4_t *ctx)
Fingerprint 4 send function.
fingerprint4_cfg_setup
void fingerprint4_cfg_setup(fingerprint4_cfg_t *cfg)
Fingerprint 4 configuration object setup function.
FINGERPRINT4_RES_BROKEN_SENSOR
@ FINGERPRINT4_RES_BROKEN_SENSOR
Definition: fingerprint4.h:380