63#ifndef CS100_READ_RETRY_TIMES
64 #define CS100_READ_RETRY_TIMES 3
127#define DRIVER_CS100_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
135#define DRIVER_CS100_LINK_TRIG_INIT(HANDLE, FUC) (HANDLE)->trig_init = FUC
143#define DRIVER_CS100_LINK_TRIG_DEINIT(HANDLE, FUC) (HANDLE)->trig_deinit = FUC
151#define DRIVER_CS100_LINK_TRIG_WRITE(HANDLE, FUC) (HANDLE)->trig_write = FUC
159#define DRIVER_CS100_LINK_ECHO_INIT(HANDLE, FUC) (HANDLE)->echo_init = FUC
167#define DRIVER_CS100_LINK_ECHO_DEINIT(HANDLE, FUC) (HANDLE)->echo_deinit = FUC
175#define DRIVER_CS100_LINK_ECHO_WRITE(HANDLE, FUC) (HANDLE)->echo_read = FUC
183#define DRIVER_CS100_LINK_TIMESTAMP_READ(HANDLE, FUC) (HANDLE)->timestamp_read = FUC
191#define DRIVER_CS100_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
199#define DRIVER_CS100_LINK_DELAY_US(HANDLE, FUC) (HANDLE)->delay_us = FUC
207#define DRIVER_CS100_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
struct cs100_info_s cs100_info_t
cs100 information structure definition
struct cs100_time_s cs100_time_t
cs100 time structure definition
uint8_t cs100_init(cs100_handle_t *handle)
initialize the chip
struct cs100_handle_s cs100_handle_t
cs100 handle structure definition
uint8_t cs100_info(cs100_info_t *info)
get chip's information
uint8_t cs100_deinit(cs100_handle_t *handle)
close the chip
uint8_t cs100_read(cs100_handle_t *handle, uint32_t *time_us, float *m)
read the distance
cs100 handle structure definition
uint8_t(* timestamp_read)(cs100_time_t *time)
void(* delay_ms)(uint32_t ms)
uint8_t(* echo_read)(uint8_t *value)
void(* delay_us)(uint32_t ms)
uint8_t(* echo_deinit)(void)
void(* debug_print)(const char *const fmt,...)
uint8_t(* trig_write)(uint8_t value)
uint8_t(* trig_deinit)(void)
uint8_t(* trig_init)(void)
uint8_t(* echo_init)(void)
cs100 information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v
cs100 time structure definition