42#define CHIP_NAME "angoSense CS100"
43#define MANUFACTURER_NAME "angoSense"
44#define SUPPLY_VOLTAGE_MIN 3.0f
45#define SUPPLY_VOLTAGE_MAX 5.5f
46#define MAX_CURRENT 5.3f
47#define TEMPERATURE_MIN -40.0f
48#define TEMPERATURE_MAX 85.0f
49#define DRIVER_VERSION 1000
79 handle->
debug_print(
"cs100: trig_deinit is null.\n");
85 handle->
debug_print(
"cs100: trig_write is null.\n");
97 handle->
debug_print(
"cs100: echo_deinit is null.\n");
103 handle->
debug_print(
"cs100: echo_read is null.\n");
121 handle->
debug_print(
"cs100: timestamp_read is null.\n");
167 handle->
debug_print(
"cs100: echo deinit failed.\n");
173 handle->
debug_print(
"cs100: trig deinit failed.\n");
216 handle->
debug_print(
"cs100: trig write failed.\n");
224 handle->
debug_print(
"cs100: trig write failed.\n");
229 timeout = 1000 * 5000;
232 res = handle->
echo_read((uint8_t *)&value);
251 handle->
debug_print(
"cs100: read timestamp failed.\n");
256 timeout = 1000 * 5000;
259 res = handle->
echo_read((uint8_t *)&value);
278 handle->
debug_print(
"cs100: read timestamp failed.\n");
284 handle->
debug_print(
"cs100: millisecond timestamp invalid.\n");
288 *time_us = (uint32_t)((int64_t)(((int64_t)time_stop.
millisecond -
292 if ((*time_us) > 150 * 1000)
301 handle->
debug_print(
"cs100: no remain retry times.\n");
311 *m = 340.0f / 2.0f * (float)(*time_us) / 1000000.0f;
#define SUPPLY_VOLTAGE_MAX
#define MANUFACTURER_NAME
#define SUPPLY_VOLTAGE_MIN
#define CHIP_NAME
chip information definition
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
#define CS100_READ_RETRY_TIMES
cs100 read retry times definition
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
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)
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v