LibDriver CS100
Loading...
Searching...
No Matches
driver_cs100_read_test.c
Go to the documentation of this file.
1
36
38
39static cs100_handle_t gs_handle;
40
49uint8_t cs100_read_test(uint32_t times)
50{
51 uint8_t res;
52 uint32_t i;
53 cs100_info_t info;
54
55 /* link interface function */
67
68 /* get info */
69 res = cs100_info(&info);
70 if (res != 0)
71 {
72 cs100_interface_debug_print("cs100: get info failed.\n");
73
74 return 1;
75 }
76 else
77 {
78 /* print chip information */
79 cs100_interface_debug_print("cs100: chip is %s.\n", info.chip_name);
80 cs100_interface_debug_print("cs100: manufacturer is %s.\n", info.manufacturer_name);
81 cs100_interface_debug_print("cs100: interface is %s.\n", info.interface);
82 cs100_interface_debug_print("cs100: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
83 cs100_interface_debug_print("cs100: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
84 cs100_interface_debug_print("cs100: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
85 cs100_interface_debug_print("cs100: max current is %0.2fmA.\n", info.max_current_ma);
86 cs100_interface_debug_print("cs100: max temperature is %0.1fC.\n", info.temperature_max);
87 cs100_interface_debug_print("cs100: min temperature is %0.1fC.\n", info.temperature_min);
88 }
89
90 /* cs100 init */
91 res = cs100_init(&gs_handle);
92 if (res != 0)
93 {
94 cs100_interface_debug_print("cs100: init failed.\n");
95
96 return 1;
97 }
98
99 /* start read test */
100 cs100_interface_debug_print("cs100: start read test.\n");
101 for (i = 0; i < times; i++)
102 {
103 uint32_t time_us;
104 float m;
105
106 /* read distance */
107 res = cs100_read(&gs_handle, (uint32_t *)&time_us, (float *)&m);
108 if (res != 0)
109 {
110 cs100_interface_debug_print("cs100: read failed.\n");
111 (void)cs100_deinit(&gs_handle);
112
113 return 1;
114 }
115 m *= 100.0f;
116 cs100_interface_debug_print("cs100: distance is %fcm.\n", m);
118 }
119
120 /* finish read test */
121 cs100_interface_debug_print("cs100: finish read test.\n");
122 (void)cs100_deinit(&gs_handle);
123
124 return 0;
125}
driver cs100 read test header file
struct cs100_info_s cs100_info_t
cs100 information 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
void cs100_interface_delay_us(uint32_t us)
interface delay us
uint8_t cs100_interface_echo_read(uint8_t *value)
interface echo read
uint8_t cs100_interface_trig_deinit(void)
interface trig deinit
uint8_t cs100_interface_echo_deinit(void)
interface echo deinit
uint8_t cs100_interface_echo_init(void)
interface echo init
uint8_t cs100_interface_trig_init(void)
interface trig init
uint8_t cs100_interface_timestamp_read(cs100_time_t *t)
interface timestamp read
uint8_t cs100_interface_trig_write(uint8_t value)
interface trig write
void cs100_interface_debug_print(const char *const fmt,...)
interface print format data
void cs100_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t cs100_read_test(uint32_t times)
read test
float temperature_max
float supply_voltage_max_v
uint32_t driver_version
float temperature_min
float max_current_ma
char manufacturer_name[32]
float supply_voltage_min_v
char interface[8]
char chip_name[32]