36#define FPC_RESULT_OK 0
37#define FPC_PENDING_OPERATION 1
38#define FPC_RESULT_DATA_NOT_SET 2
39#define FPC_RESULT_CMD_ID_NOT_SUPPORTED 3
42#define FPC_RESULT_FAILURE 11
43#define FPC_RESULT_INVALID_PARAM 12
44#define FPC_RESULT_WRONG_STATE 13
45#define FPC_RESULT_OUT_OF_MEMORY 14
46#define FPC_RESULT_TIMEOUT 15
47#define FPC_RESULT_NOT_SUPPORTED 16
50#define FPC_RESULT_USER_ID_EXISTS 20
51#define FPC_RESULT_USER_ID_NOT_FOUND 21
52#define FPC_RESULT_STORAGE_IS_FULL 22
53#define FPC_RESULT_FLASH_ERROR 23
54#define FPC_RESULT_IDENTIFY_LOCKOUT 24
55#define FPC_RESULT_STORAGE_IS_EMPTY 25
58#define FPC_RESULT_IO_BUSY 31
59#define FPC_RESULT_IO_RUNTIME_FAILURE 32
60#define FPC_RESULT_IO_BAD_DATA 33
61#define FPC_RESULT_IO_NOT_SUPPORTED 34
62#define FPC_RESULT_IO_NO_DATA 35
65#define FPC_RESULT_COULD_NOT_ARM 40
66#define FPC_RESULT_CAPTURE_FAILED 41
67#define FPC_RESULT_BAD_IMAGE_QUALITY 42
68#define FPC_RESULT_NO_IMAGE 43
71#define FPC_RESULT_SENSOR_ERROR 50
72#define FPC_RESULT_PROTOCOL_VERSION_ERROR 70
73#define FPC_STARTUP_FAILURE 101
82#define FPC_FRAME_PROTOCOL_VERSION 0x0004
87#define FPC_FRAME_TYPE_CMD_REQUEST 0x11
88#define FPC_FRAME_TYPE_CMD_RESPONSE 0x12
89#define FPC_FRAME_TYPE_CMD_EVENT 0x13
94#define FPC_FRAME_FLAG_SECURE 0x0001
95#define FPC_FRAME_FLAG_SENDER_HOST 0x0010
96#define FPC_FRAME_FLAG_SENDER_FW_BL 0x0020
97#define FPC_FRAME_FLAG_SENDER_FW_APP 0x0040
99#define MAX_HOST_PACKET_SIZE_DEFAULT (2 * 1024)
133#define FPC_AES_GCM_IV_SIZE 12
134#define FPC_AES_GCM_TAG_SIZE 16
146 uint8_t ciphertext[];
156#define CMD_STATUS 0x0040
157#define CMD_VERSION 0x0041
158#define CMD_BIST 0x0044
159#define CMD_CAPTURE 0x0050
160#define CMD_ABORT 0x0052
161#define CMD_IMAGE_DATA 0x0053
162#define CMD_ENROLL 0x0054
163#define CMD_IDENTIFY 0x0055
164#define CMD_LIST_TEMPLATES 0x0060
165#define CMD_DELETE_TEMPLATE 0x0061
166#define CMD_GET_TEMPLATE_DATA 0x0062
167#define CMD_PUT_TEMPLATE_DATA 0x0063
168#define CMD_GET_SYSTEM_CONFIG 0x006A
169#define CMD_SET_SYSTEM_CONFIG 0x006B
170#define CMD_RESET 0x0072
171#define CMD_SET_CRYPTO_KEY 0x0083
172#define CMD_SET_DBG_LOG_LEVEL 0x00B0
173#define CMD_FACTORY_RESET 0x00FA
174#define CMD_DATA_GET 0x0101
175#define CMD_DATA_PUT 0x0102
176#define CMD_NAVIGATION 0x0200
177#define CMD_NAVIGATION_PS 0x0201
178#define CMD_GPIO_CONTROL 0x0300
185#define EVENT_FINGER_DETECT 3
186#define EVENT_FINGER_LOST 4
187#define EVENT_IMAGE_READY 5
188#define EVENT_CMD_FAILED 6
193#define STATE_APP_FW_READY 0x0001
194#define STATE_SECURE_INTERFACE 0x0002
195#define STATE_CAPTURE 0x0004
196#define STATE_IMAGE_AVAILABLE 0x0010
197#define STATE_DATA_TRANSFER 0x0040
198#define STATE_FINGER_DOWN 0x0080
199#define STATE_SYS_ERROR 0x0400
200#define STATE_ENROLL 0x1000
201#define STATE_IDENTIFY 0x2000
202#define STATE_NAVIGATION 0x4000
233 uint32_t mcu_unique_id[3];
269#define ENROLL_FEEDBACK_DONE 1
270#define ENROLL_FEEDBACK_PROGRESS 2
271#define ENROLL_FEEDBACK_REJECT_LOW_QUALITY 3
272#define ENROLL_FEEDBACK_REJECT_LOW_COVERAGE 4
273#define ENROLL_FEEDBACK_REJECT_LOW_MOBILITY 5
274#define ENROLL_FEEDBACK_REJECT_OTHER 6
275#define ENROLL_FEEDBACK_PROGRESS_IMMOBILE 7
280#define IDENTIFY_RESULT_MATCH 0x61EC
281#define IDENTIFY_RESULT_NO_MATCH 0xBAAD
286#define CMD_IMAGE_REQUEST_TYPE_INFO_RAW 0
287#define CMD_IMAGE_REQUEST_TYPE_INFO_FMI 1
288#define CMD_IMAGE_REQUEST_TYPE_GET_RAW 2
289#define CMD_IMAGE_REQUEST_TYPE_GET_FMI 3
294#define CMD_NAV_EVENT_NONE 0
295#define CMD_NAV_EVENT_UP 1
296#define CMD_NAV_EVENT_DOWN 2
297#define CMD_NAV_EVENT_RIGHT 3
298#define CMD_NAV_EVENT_LEFT 4
299#define CMD_NAV_EVENT_PRESS 5
300#define CMD_NAV_EVENT_LONG_PRESS 6
305#define CMD_NAV_CFG_ORIENTATION_0 0x00000000
306#define CMD_NAV_CFG_ORIENTATION_90 0x00000001
307#define CMD_NAV_CFG_ORIENTATION_180 0x00000002
308#define CMD_NAV_CFG_ORIENTATION_270 0x00000003
309#define CMD_NAV_CFG_ORIENTATION_MASK 0x00000003
310#define CMD_NAV_CFG_SKIP_FINGER_STABLE 0x00000004
311#define CMD_NAV_CFG_SEND_SAMPLE_DATA 0x00000008
318#define ID_TYPE_NONE 0x1012
326#define ID_TYPE_ALL 0x2023
335#define ID_TYPE_SPECIFIED 0x3034
342#define ID_TYPE_GENERATE_NEW 0x4045
447 uint16_t template_id_list[];
619#define CFG_SYS_FLAG_STATUS_EVT_AT_BOOT 0x00000001
624#define CFG_SYS_FLAG_UART_IN_STOP_MODE 0x00000010
629#define CFG_SYS_FLAG_UART_IRQ_BEFORE_TX 0x00000020
634#define CFG_SYS_FLAG_ALLOW_FACTORY_RESET 0x00000100
639#define CFG_UART_BAUDRATE_9600 1
640#define CFG_UART_BAUDRATE_19200 2
641#define CFG_UART_BAUDRATE_57600 3
642#define CFG_UART_BAUDRATE_115200 4
643#define CFG_UART_BAUDRATE_921600 5
679#define FPC_SYS_CFG_TYPE_DEFAULT 0
680#define FPC_SYS_CFG_TYPE_CUSTOM 1
723#define GPIO_CONTROL_SUB_CMD_GET 0
724#define GPIO_CONTROL_SUB_CMD_SET 1
726#define GPIO_CONTROL_MODE_NOT_USED 0
727#define GPIO_CONTROL_MODE_OUTPUT_PP 1
728#define GPIO_CONTROL_MODE_OUTPUT_OD 2
729#define GPIO_CONTROL_MODE_INPUT_PULL_NONE 3
730#define GPIO_CONTROL_MODE_INPUT_PULL_UP 4
731#define GPIO_CONTROL_MODE_INPUT_PULL_DOWN 5
733#define GPIO_CONTROL_STATE_RESET 0
734#define GPIO_CONTROL_STATE_SET 1
#define FPC_AES_GCM_TAG_SIZE
Definition: fpc_api.h:134
#define FPC_AES_GCM_IV_SIZE
Definition: fpc_api.h:133
fpc_cmd_data_type_t
Definition: fpc_api.h:550
@ FPC_CMD_DATA_TYPE_FILE
Definition: fpc_api.h:553
@ FPC_CMD_DATA_TYPE_RAM
Definition: fpc_api.h:552
@ FPC_CMD_DATA_TYPE_NONE
Definition: fpc_api.h:551
uint16_t fpc_result_t
Definition: fpc_api.h:33
Definition: fpc_api.h:771
uint16_t sensor_test_result
Definition: fpc_api.h:775
uint16_t test_verdict
Definition: fpc_api.h:777
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:773
Payload definition of the CMD_CAPTURE Request command.
Definition: fpc_api.h:359
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:361
Payload for CMD_DATA_GET request.
Definition: fpc_api.h:586
uint32_t request_size
Definition: fpc_api.h:590
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:588
Payload for CMD_DATA_GET response.
Definition: fpc_api.h:597
uint32_t data_size
Definition: fpc_api.h:603
uint32_t remaining_size
Definition: fpc_api.h:601
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:599
Payload for CMD_DATA_PUT request.
Definition: fpc_api.h:560
uint32_t data_size
Definition: fpc_api.h:566
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:562
uint32_t remaining_size
Definition: fpc_api.h:564
Payload for CMD_DATA_PUT response.
Definition: fpc_api.h:575
uint32_t total_received
Definition: fpc_api.h:579
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:577
Payload definition of the CMD_ENROLL Request.
Definition: fpc_api.h:371
fpc_id_type_t tpl_id
Definition: fpc_api.h:375
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:373
Payload definition of the CMD_ENROLL Status Event.
Definition: fpc_api.h:382
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:384
uint8_t feedback
Definition: fpc_api.h:388
uint8_t samples_remaining
Definition: fpc_api.h:390
uint16_t id
Definition: fpc_api.h:386
Payload definition of the CMD_GET_SYSTEM_CONFIG Request.
Definition: fpc_api.h:686
uint16_t config_type
Definition: fpc_api.h:690
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:688
Payload definition of the CMD_GET_SYSTEM_CONFIG Response.
Definition: fpc_api.h:697
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:699
uint16_t config_type
Definition: fpc_api.h:701
fpc_system_config_t cfg
Definition: fpc_api.h:703
Command Header.
Definition: fpc_api.h:123
uint16_t type
Definition: fpc_api.h:127
uint16_t cmd_id
Definition: fpc_api.h:125
Payload definition of the CMD_IDENTIFY Request.
Definition: fpc_api.h:400
uint16_t tag
Definition: fpc_api.h:406
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:402
fpc_id_type_t tpl_id
Definition: fpc_api.h:404
Payload definition of the CMD_IDENTIFY Event.
Definition: fpc_api.h:413
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:415
fpc_id_type_t tpl_id
Definition: fpc_api.h:419
uint16_t match
Definition: fpc_api.h:417
uint16_t tag
Definition: fpc_api.h:421
Payload definition of the Image request command.
Definition: fpc_api.h:482
uint16_t total_size
Definition: fpc_api.h:488
uint16_t type
Definition: fpc_api.h:486
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:484
Payload definition of the Image response command.
Definition: fpc_api.h:495
uint32_t image_size
Definition: fpc_api.h:499
uint16_t type
Definition: fpc_api.h:505
uint16_t max_chunk_size
Definition: fpc_api.h:507
uint16_t image_height
Definition: fpc_api.h:503
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:497
uint16_t image_width
Definition: fpc_api.h:501
Payload definition of the CMD_NAVIGATION_PS Event.
Definition: fpc_api.h:538
int32_t v_impulse
Definition: fpc_api.h:542
uint16_t gesture
Definition: fpc_api.h:546
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:540
int32_t h_impulse
Definition: fpc_api.h:543
uint32_t c_coverage
Definition: fpc_api.h:544
Payload definition of the CMD_NAVIGATION Request.
Definition: fpc_api.h:514
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:516
uint32_t config
Definition: fpc_api.h:518
Payload definition of the CMD_NAVIGATION Event.
Definition: fpc_api.h:525
uint16_t n_samples
Definition: fpc_api.h:530
uint16_t gesture
Definition: fpc_api.h:529
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:527
Payload definition of the CMD_GPIO_CONTROL Request.
Definition: fpc_api.h:740
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:742
uint8_t pin
Definition: fpc_api.h:746
uint8_t sub_cmd
Definition: fpc_api.h:744
uint8_t state
Definition: fpc_api.h:750
uint8_t mode
Definition: fpc_api.h:748
Payload definition of the CMD_GPIO_CONTROL Response.
Definition: fpc_api.h:759
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:761
uint8_t state
Definition: fpc_api.h:763
Payload definition of the CMD_SET_SYSTEM_CONFIG Request.
Definition: fpc_api.h:712
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:714
fpc_system_config_t cfg
Definition: fpc_api.h:716
Payload definition AES Key Provisioning CMD_SET_CRYPTO_KEY Request.
Definition: fpc_api.h:254
uint8_t key_size
Definition: fpc_api.h:257
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:255
Payload definition of the CMD_STATUS Response / Event.
Definition: fpc_api.h:212
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:214
int16_t reserved
Definition: fpc_api.h:222
uint16_t state
Definition: fpc_api.h:218
uint16_t app_fail_code
Definition: fpc_api.h:220
uint16_t event
Definition: fpc_api.h:216
Payload definition of the Template Data (GET & PUT) Request.
Definition: fpc_api.h:454
uint16_t id
Definition: fpc_api.h:458
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:456
uint16_t total_size
Definition: fpc_api.h:460
Payload definition of the Template Data Response.
Definition: fpc_api.h:467
uint16_t max_chunk_size
Definition: fpc_api.h:473
uint16_t id
Definition: fpc_api.h:471
uint16_t total_size
Definition: fpc_api.h:475
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:469
Payload definition of the CMD_DELETE_TEMPLATE Request.
Definition: fpc_api.h:428
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:430
fpc_id_type_t tpl_id
Definition: fpc_api.h:432
Payload definition of the CMD_LIST_TEMPLATES Response.
Definition: fpc_api.h:441
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:443
uint16_t number_of_templates
Definition: fpc_api.h:445
Payload definition of the CMD_VERSION Response.
Definition: fpc_api.h:229
uint8_t fw_fuse_level
Definition: fpc_api.h:237
fpc_cmd_hdr_t cmd
Definition: fpc_api.h:231
uint16_t version_str_len
Definition: fpc_api.h:239
uint8_t fw_id
Definition: fpc_api.h:235
Frame Header Addon for secure Protocol.
Definition: fpc_api.h:140
Frame Header.
Definition: fpc_api.h:105
uint16_t flags
Definition: fpc_api.h:111
uint16_t payload_size
Definition: fpc_api.h:113
uint16_t version
Definition: fpc_api.h:107
uint16_t type
Definition: fpc_api.h:109
Template ID specifier payload.
Definition: fpc_api.h:348
uint16_t type
Definition: fpc_api.h:350
uint16_t id
Definition: fpc_api.h:352
System Configuration parameters.
Definition: fpc_api.h:649
uint16_t i2c_address
Definition: fpc_api.h:676
uint8_t idfy_max_consecutive_fails
Definition: fpc_api.h:662
uint8_t idfy_lockout_time_s
Definition: fpc_api.h:664
uint16_t version
Definition: fpc_api.h:651
uint32_t sys_flags
Definition: fpc_api.h:656
uint8_t uart_delay_before_irq_ms
Definition: fpc_api.h:658
uint16_t idle_time_before_sleep_ms
Definition: fpc_api.h:666
uint8_t enroll_touches
Definition: fpc_api.h:668
uint16_t finger_scan_interval_ms
Definition: fpc_api.h:654
uint8_t enroll_immobile_touches
Definition: fpc_api.h:674
uint8_t uart_baudrate
Definition: fpc_api.h:660