37#ifndef DRIVER_EM4100_H 
   38#define DRIVER_EM4100_H 
  108#define DRIVER_EM4100_LINK_INIT(HANDLE, STRUCTURE)             memset(HANDLE, 0, sizeof(STRUCTURE)) 
  116#define DRIVER_EM4100_LINK_CONTACTLESS_INIT(HANDLE, FUC)       (HANDLE)->contactless_init = FUC 
  124#define DRIVER_EM4100_LINK_CONTACTLESS_DEINIT(HANDLE, FUC)     (HANDLE)->contactless_deinit = FUC 
  132#define DRIVER_EM4100_LINK_CONTACTLESS_READ(HANDLE, FUC)       (HANDLE)->contactless_read = FUC 
  140#define DRIVER_EM4100_LINK_DELAY_MS(HANDLE, FUC)               (HANDLE)->delay_ms = FUC 
  148#define DRIVER_EM4100_LINK_DEBUG_PRINT(HANDLE, FUC)            (HANDLE)->debug_print = FUC 
uint8_t em4100_deinit(em4100_handle_t *handle)
close the chip
struct em4100_info_s em4100_info_t
em4100 information structure definition
uint8_t em4100_info(em4100_info_t *info)
get chip's information
uint8_t em4100_init(em4100_handle_t *handle)
initialize the chip
struct em4100_handle_s em4100_handle_t
em4100 handle structure definition
uint8_t em4100_print(em4100_handle_t *handle, uint8_t buf[5])
print id
uint8_t em4100_read(em4100_handle_t *handle, uint8_t id[5])
read data
em4100 handle structure definition
uint8_t manchester_buf[128]
void(* delay_ms)(uint32_t ms)
void(* debug_print)(const char *const fmt,...)
uint8_t(* contactless_deinit)(void)
uint8_t(* contactless_read)(uint32_t clock_div, uint8_t *buf, uint16_t len)
uint8_t(* contactless_init)(void)
em4100 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v