37 #ifndef DRIVER_AS608_H
38 #define DRIVER_AS608_H
260 #define DRIVER_AS608_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
268 #define DRIVER_AS608_LINK_UART_INIT(HANDLE, FUC) (HANDLE)->uart_init = FUC
276 #define DRIVER_AS608_LINK_UART_DEINIT(HANDLE, FUC) (HANDLE)->uart_deinit = FUC
284 #define DRIVER_AS608_LINK_UART_READ(HANDLE, FUC) (HANDLE)->uart_read = FUC
292 #define DRIVER_AS608_LINK_UART_WRITE(HANDLE, FUC) (HANDLE)->uart_write = FUC
300 #define DRIVER_AS608_LINK_UART_FLUSH(HANDLE, FUC) (HANDLE)->uart_flush = FUC
308 #define DRIVER_AS608_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
316 #define DRIVER_AS608_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
463 uint16_t start_page, uint16_t page_number, uint16_t *found_page,
543 uint8_t *output_buffer, uint16_t *output_len,
as608_status_t *status);
564 uint8_t *input_buffer, uint16_t input_len,
as608_status_t *status);
843 uint8_t *output_buffer, uint16_t *output_len,
as608_status_t *status);
922 uint8_t *input_buffer, uint16_t input_len,
as608_status_t *status);
945 uint16_t start_page, uint16_t page_number,
946 uint16_t *found_page, uint16_t *score,
1058 uint8_t *input_buffer, uint16_t input_len,
1059 uint16_t ms, uint8_t *output_buffer, uint16_t *output_len);
uint8_t as608_download_image(as608_handle_t *handle, uint32_t addr, uint8_t *input_buffer, uint16_t input_len, as608_status_t *status)
download image
as608_sensor_type_t
as608 sensor type enumeration definition
uint8_t as608_set_port(as608_handle_t *handle, uint32_t addr, as608_bool_t enable, as608_status_t *status)
enable or disable port
uint8_t as608_set_packet_size(as608_handle_t *handle, uint32_t addr, as608_packet_size_t size, as608_status_t *status)
set packet size
uint8_t as608_get_random(as608_handle_t *handle, uint32_t addr, uint32_t *randn, as608_status_t *status)
get random
struct as608_handle_s as608_handle_t
as608 handle structure definition
uint8_t as608_init(as608_handle_t *handle, uint32_t addr)
initialize the chip
uint8_t as608_load_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, uint16_t page_number, as608_status_t *status)
load feature
uint8_t as608_generate_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, as608_status_t *status)
generate feature
uint8_t as608_get_index_table(as608_handle_t *handle, uint32_t addr, uint8_t num, uint8_t table[32], as608_status_t *status)
get index table
uint8_t as608_store_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, uint16_t page_number, as608_status_t *status)
store feature
as608_status_t
as608 status enumeration definition
uint8_t as608_info(as608_info_t *info)
get chip's information
uint8_t as608_set_password(as608_handle_t *handle, uint32_t addr, uint32_t password, as608_status_t *status)
set password
uint8_t as608_upload_image(as608_handle_t *handle, uint32_t addr, uint8_t *output_buffer, uint16_t *output_len, as608_status_t *status)
upload image
uint8_t as608_write_notepad(as608_handle_t *handle, uint32_t addr, uint8_t page_number, uint8_t data[32], as608_status_t *status)
write notepad
as608_bool_t
as608 bool enumeration definition
uint8_t as608_get_valid_template_number(as608_handle_t *handle, uint32_t addr, uint16_t *num, as608_status_t *status)
get valid template number
struct as608_params_s as608_params_t
as608 params structure definition
uint8_t as608_search_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, uint16_t start_page, uint16_t page_number, uint16_t *found_page, uint16_t *score, as608_status_t *status)
search feature
uint8_t as608_get_image(as608_handle_t *handle, uint32_t addr, as608_status_t *status)
get image
uint8_t as608_download_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, uint8_t *input_buffer, uint16_t input_len, as608_status_t *status)
download feature
uint8_t as608_get_last_status(as608_handle_t *handle, as608_status_t *status)
get the last status
as608_gpio_level_t
as608 gpio level enumeration definition
uint8_t as608_combine_feature(as608_handle_t *handle, uint32_t addr, as608_status_t *status)
combine feature
uint8_t as608_print_status(as608_handle_t *handle, as608_status_t status)
print status
as608_buffer_number_t
as608 buffer number enumeration definition
as608_gpio_number_t
as608 gpio number enumeration definition
uint8_t as608_match_feature(as608_handle_t *handle, uint32_t addr, uint16_t *score, as608_status_t *status)
match feature
uint8_t as608_get_params(as608_handle_t *handle, uint32_t addr, as608_params_t *param, as608_status_t *status)
get params
uint8_t as608_set_level(as608_handle_t *handle, uint32_t addr, as608_level_t level, as608_status_t *status)
set level
uint8_t as608_delete_feature(as608_handle_t *handle, uint32_t addr, uint16_t page_number, uint16_t number, as608_status_t *status)
delete feature
uint8_t as608_set_baud_rate(as608_handle_t *handle, uint32_t addr, uint8_t n_9600, as608_status_t *status)
set baud rate
uint8_t as608_upload_feature(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t num, uint8_t *output_buffer, uint16_t *output_len, as608_status_t *status)
upload feature
uint8_t as608_deinit(as608_handle_t *handle)
close the chip
uint8_t as608_identify(as608_handle_t *handle, uint32_t addr, uint16_t *page_number, uint16_t *score, as608_status_t *status)
identify
struct as608_info_s as608_info_t
as608 information structure definition
as608_burn_code_mode_t
as608 burn code mode enumeration definition
uint8_t as608_set_chip_address(as608_handle_t *handle, uint32_t addr, uint32_t new_addr, as608_status_t *status)
set the chip address
uint8_t as608_burn_code(as608_handle_t *handle, uint32_t addr, as608_burn_code_mode_t mode, uint8_t *input_buffer, uint16_t input_len, as608_status_t *status)
burn code
uint8_t as608_read_notepad(as608_handle_t *handle, uint32_t addr, uint8_t page_number, uint8_t data[32], as608_status_t *status)
read notepad
as608_packet_size_t
as608 packet size enumeration definition
uint8_t as608_empty_all_feature(as608_handle_t *handle, uint32_t addr, as608_status_t *status)
empty all feature
as608_image_t
as608 image enumeration definition
as608_level_t
as608 level enumeration definition
uint8_t as608_set_gpio_level(as608_handle_t *handle, uint32_t addr, as608_gpio_number_t gpio, as608_gpio_level_t input_level, as608_gpio_level_t *output_level, as608_status_t *status)
set gpio level
uint8_t as608_generate_bin_image(as608_handle_t *handle, uint32_t addr, as608_image_t image, as608_status_t *status)
generate bin image
uint8_t as608_verify_password(as608_handle_t *handle, uint32_t addr, uint32_t password, as608_status_t *status)
verify password
uint8_t as608_enroll(as608_handle_t *handle, uint32_t addr, uint16_t *page_number, as608_status_t *status)
enroll
uint8_t as608_high_speed_search(as608_handle_t *handle, uint32_t addr, as608_buffer_number_t buffer_number, uint16_t start_page, uint16_t page_number, uint16_t *found_page, uint16_t *score, as608_status_t *status)
high speed search
uint8_t as608_get_flash_information(as608_handle_t *handle, uint32_t addr, uint8_t *output_buffer, uint16_t *output_len, as608_status_t *status)
get flash information
@ AS608_SENSOR_TYPE_FPC1011C
@ AS608_SENSOR_TYPE_XWSEMI
@ AS608_SENSOR_TYPE_CUSTOM
@ AS608_STATUS_FEATURE_COMBINE_ERROR
@ AS608_STATUS_UPDATE_ERROR
@ AS608_STATUS_DATA_INVALID
@ AS608_STATUS_BUFFER_INVALID
@ AS608_STATUS_F0_RESPONSE
@ AS608_STATUS_FRAME_ERROR
@ AS608_STATUS_F1_RESPONSE
@ AS608_STATUS_LIB_CLEAR_ERROR
@ AS608_STATUS_INPUT_ERROR
@ AS608_STATUS_FLASH_WRITE_SUM_ERROR
@ AS608_STATUS_PORT_INVALID
@ AS608_STATUS_IMAGE_TOO_CLUTTER
@ AS608_STATUS_IMAGE_TOO_WET
@ AS608_STATUS_IMAGE_TOO_FEW_FEATURE
@ AS608_STATUS_REG_INVALID
@ AS608_STATUS_FLASH_WRITE_ERROR
@ AS608_STATUS_NO_FINGERPRINT
@ AS608_STATUS_FLASH_ERROR
@ AS608_STATUS_LIB_DELETE_ERROR
@ AS608_STATUS_ENROOL_ERROR
@ AS608_STATUS_FLASH_WRITE_LENGTH_TOO_LONG
@ AS608_STATUS_COMMAND_INVALID
@ AS608_STATUS_LIB_ADDR_OVER
@ AS608_STATUS_ENTER_LOW_POWER_ERROR
@ AS608_STATUS_RESET_ERROR
@ AS608_STATUS_NOTE_PAGE_INVALID
@ AS608_STATUS_UPLOAD_FEATURE_ERROR
@ AS608_STATUS_FLASH_WRITE_HEADER_ERROR
@ AS608_STATUS_FLASH_WRITE_LENGTH_ERROR
@ AS608_STATUS_UPLOAD_IMAGE_ERROR
@ AS608_STATUS_LIB_READ_ERROR
@ AS608_STATUS_IMAGE_TOO_DRY
@ AS608_BURN_CODE_MODE_FULL
@ AS608_BURN_CODE_MODE_INFO
@ AS608_PACKET_SIZE_128_BYTES
@ AS608_PACKET_SIZE_256_BYTES
@ AS608_PACKET_SIZE_64_BYTES
@ AS608_PACKET_SIZE_32_BYTES
uint8_t as608_command_write_read(as608_handle_t *handle, uint32_t addr, uint8_t type, uint8_t *input_buffer, uint16_t input_len, uint16_t ms, uint8_t *output_buffer, uint16_t *output_len)
write read data to chip
as608 handle structure definition
uint8_t(* uart_flush)(void)
uint8_t(* uart_write)(uint8_t *buf, uint16_t len)
void(* delay_ms)(uint32_t ms)
uint8_t(* uart_deinit)(void)
void(* debug_print)(const char *const fmt,...)
uint16_t(* uart_read)(uint8_t *buf, uint16_t len)
uint8_t(* uart_init)(void)
as608 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v
as608 params structure definition
as608_sensor_type_t sensor_type
uint16_t fingerprint_size
as608_packet_size_t packet_size