LibDriver ADS1110
Loading...
Searching...
No Matches
driver_ads1110_register_test.c
Go to the documentation of this file.
1
36
38
39static ads1110_handle_t gs_handle;
40
50{
51 uint8_t res;
52 ads1110_info_t info;
53 ads1110_rate_t rate;
54 ads1110_gain_t gain;
55 ads1110_address_t addr_pin;
56
57 /* link interface function */
65
66 /* get information */
67 res = ads1110_info(&info);
68 if (res != 0)
69 {
70 ads1110_interface_debug_print("ads1110: get info failed.\n");
71
72 return 1;
73 }
74 else
75 {
76 /* print chip info */
77 ads1110_interface_debug_print("ads1110: chip is %s.\n", info.chip_name);
78 ads1110_interface_debug_print("ads1110: manufacturer is %s.\n", info.manufacturer_name);
79 ads1110_interface_debug_print("ads1110: interface is %s.\n", info.interface);
80 ads1110_interface_debug_print("ads1110: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
81 ads1110_interface_debug_print("ads1110: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
82 ads1110_interface_debug_print("ads1110: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
83 ads1110_interface_debug_print("ads1110: max current is %0.2fmA.\n", info.max_current_ma);
84 ads1110_interface_debug_print("ads1110: max temperature is %0.1fC.\n", info.temperature_max);
85 ads1110_interface_debug_print("ads1110: min temperature is %0.1fC.\n", info.temperature_min);
86 }
87
88 /* start register test */
89 ads1110_interface_debug_print("ads1110: start register test.\n");
90
91 /* ads1110_set_addr_pin/ads1110_get_addr_pin test */
92 ads1110_interface_debug_print("ads1110: ads1110_set_addr_pin/ads1110_get_addr_pin test.\n");
93
94 /* set addr pin 0 */
95 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS0);
96 if (res != 0)
97 {
98 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
99
100 return 1;
101 }
102 ads1110_interface_debug_print("ads1110: set addr pin 0.\n");
103 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
104 if (res != 0)
105 {
106 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
107
108 return 1;
109 }
110 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS0 ? "ok" : "error");
111
112 /* set addr pin 1 */
113 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS1);
114 if (res != 0)
115 {
116 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
117
118 return 1;
119 }
120 ads1110_interface_debug_print("ads1110: set addr pin 1.\n");
121 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
122 if (res != 0)
123 {
124 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
125
126 return 1;
127 }
128 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS1 ? "ok" : "error");
129
130 /* set addr pin 2 */
131 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS2);
132 if (res != 0)
133 {
134 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
135
136 return 1;
137 }
138 ads1110_interface_debug_print("ads1110: set addr pin 2.\n");
139 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
140 if (res != 0)
141 {
142 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
143
144 return 1;
145 }
146 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS2 ? "ok" : "error");
147
148 /* set addr pin 3 */
149 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS3);
150 if (res != 0)
151 {
152 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
153
154 return 1;
155 }
156 ads1110_interface_debug_print("ads1110: set addr pin 3.\n");
157 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
158 if (res != 0)
159 {
160 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
161
162 return 1;
163 }
164 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS3 ? "ok" : "error");
165
166 /* set addr pin 4 */
167 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS4);
168 if (res != 0)
169 {
170 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
171
172 return 1;
173 }
174 ads1110_interface_debug_print("ads1110: set addr pin 4.\n");
175 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
176 if (res != 0)
177 {
178 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
179
180 return 1;
181 }
182 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS4 ? "ok" : "error");
183
184 /* set addr pin 5 */
185 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS5);
186 if (res != 0)
187 {
188 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
189
190 return 1;
191 }
192 ads1110_interface_debug_print("ads1110: set addr pin 5.\n");
193 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
194 if (res != 0)
195 {
196 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
197
198 return 1;
199 }
200 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS5 ? "ok" : "error");
201
202 /* set addr pin 6 */
203 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS6);
204 if (res != 0)
205 {
206 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
207
208 return 1;
209 }
210 ads1110_interface_debug_print("ads1110: set addr pin 6.\n");
211 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
212 if (res != 0)
213 {
214 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
215
216 return 1;
217 }
218 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS6 ? "ok" : "error");
219
220 /* set addr pin 7 */
221 res = ads1110_set_addr_pin(&gs_handle, ADS1110_ADDRESS7);
222 if (res != 0)
223 {
224 ads1110_interface_debug_print("ads1110: set addr pin failed.\n");
225
226 return 1;
227 }
228 ads1110_interface_debug_print("ads1110: set addr pin 7.\n");
229 res = ads1110_get_addr_pin(&gs_handle, &addr_pin);
230 if (res != 0)
231 {
232 ads1110_interface_debug_print("ads1110: get addr pin failed.\n");
233
234 return 1;
235 }
236 ads1110_interface_debug_print("ads1110: check addr pin %s.\n", addr_pin == ADS1110_ADDRESS7 ? "ok" : "error");
237
238 /* set addr pin */
239 res = ads1110_set_addr_pin(&gs_handle, addr);
240 if (res != 0)
241 {
242 ads1110_interface_debug_print("ads1110: set addr failed.\n");
243
244 return 1;
245 }
246
247 /* ads1110 init */
248 res = ads1110_init(&gs_handle);
249 if (res != 0)
250 {
251 ads1110_interface_debug_print("ads1110: init failed.\n");
252
253 return 1;
254 }
255
256 /* ads1110_set_rate/ads1110_get_rate test */
257 ads1110_interface_debug_print("ads1110: ads1110_set_rate/ads1110_get_rate test.\n");
258
259 /* set 15SPS */
260 res = ads1110_set_rate(&gs_handle, ADS1110_RATE_15SPS);
261 if (res != 0)
262 {
263 ads1110_interface_debug_print("ads1110: set rate failed.\n");
264 (void)ads1110_deinit(&gs_handle);
265
266 return 1;
267 }
268 ads1110_interface_debug_print("ads1110: set rate 15 sps.\n");
269 res = ads1110_get_rate(&gs_handle, &rate);
270 if (res != 0)
271 {
272 ads1110_interface_debug_print("ads1110: get rate failed.\n");
273 (void)ads1110_deinit(&gs_handle);
274
275 return 1;
276 }
277 ads1110_interface_debug_print("ads1110: check rate %s.\n", rate == ADS1110_RATE_15SPS ? "ok" : "error");
278
279 /* set 30SPS */
280 res = ads1110_set_rate(&gs_handle, ADS1110_RATE_30SPS);
281 if (res != 0)
282 {
283 ads1110_interface_debug_print("ads1110: set rate failed.\n");
284 (void)ads1110_deinit(&gs_handle);
285
286 return 1;
287 }
288 ads1110_interface_debug_print("ads1110: set rate 30 sps.\n");
289 res = ads1110_get_rate(&gs_handle, &rate);
290 if (res != 0)
291 {
292 ads1110_interface_debug_print("ads1110: get rate failed.\n");
293 (void)ads1110_deinit(&gs_handle);
294
295 return 1;
296 }
297 ads1110_interface_debug_print("ads1110: check rate %s.\n", rate == ADS1110_RATE_30SPS ? "ok" : "error");
298
299 /* set 60SPS */
300 res = ads1110_set_rate(&gs_handle, ADS1110_RATE_60SPS);
301 if (res != 0)
302 {
303 ads1110_interface_debug_print("ads1110: set rate failed.\n");
304 (void)ads1110_deinit(&gs_handle);
305
306 return 1;
307 }
308 ads1110_interface_debug_print("ads1110: set rate 60 sps.\n");
309 res = ads1110_get_rate(&gs_handle, &rate);
310 if (res != 0)
311 {
312 ads1110_interface_debug_print("ads1110: get rate failed.\n");
313 (void)ads1110_deinit(&gs_handle);
314
315 return 1;
316 }
317 ads1110_interface_debug_print("ads1110: check rate %s.\n", rate == ADS1110_RATE_60SPS ? "ok" : "error");
318
319 /* set 240SPS */
320 res = ads1110_set_rate(&gs_handle, ADS1110_RATE_240SPS);
321 if (res != 0)
322 {
323 ads1110_interface_debug_print("ads1110: set rate failed.\n");
324 (void)ads1110_deinit(&gs_handle);
325
326 return 1;
327 }
328 ads1110_interface_debug_print("ads1110: set rate 240 sps.\n");
329 res = ads1110_get_rate(&gs_handle, &rate);
330 if (res != 0)
331 {
332 ads1110_interface_debug_print("ads1110: get rate failed.\n");
333 (void)ads1110_deinit(&gs_handle);
334
335 return 1;
336 }
337 ads1110_interface_debug_print("ads1110: check rate %s.\n", rate == ADS1110_RATE_240SPS ? "ok" : "error");
338
339 /* ads1110_set_gain/ads1110_get_gain test */
340 ads1110_interface_debug_print("ads1110: ads1110_set_gain/ads1110_get_gain test.\n");
341
342 /* set gain 1 */
343 res = ads1110_set_gain(&gs_handle, ADS1110_GAIN_1);
344 if (res != 0)
345 {
346 ads1110_interface_debug_print("ads1110: set gain failed.\n");
347 (void)ads1110_deinit(&gs_handle);
348
349 return 1;
350 }
351 ads1110_interface_debug_print("ads1110: set gain 1.\n");
352 res = ads1110_get_gain(&gs_handle, &gain);
353 if (res != 0)
354 {
355 ads1110_interface_debug_print("ads1110: get gain failed.\n");
356 (void)ads1110_deinit(&gs_handle);
357
358 return 1;
359 }
360 ads1110_interface_debug_print("ads1110: check gain %s.\n", gain == ADS1110_GAIN_1 ? "ok" : "error");
361
362 /* set gain 2 */
363 res = ads1110_set_gain(&gs_handle, ADS1110_GAIN_2);
364 if (res != 0)
365 {
366 ads1110_interface_debug_print("ads1110: set gain failed.\n");
367 (void)ads1110_deinit(&gs_handle);
368
369 return 1;
370 }
371 ads1110_interface_debug_print("ads1110: set gain 2.\n");
372 res = ads1110_get_gain(&gs_handle, &gain);
373 if (res != 0)
374 {
375 ads1110_interface_debug_print("ads1110: get gain failed.\n");
376 (void)ads1110_deinit(&gs_handle);
377
378 return 1;
379 }
380 ads1110_interface_debug_print("ads1110: check gain %s.\n", gain == ADS1110_GAIN_2 ? "ok" : "error");
381
382 /* set gain 4 */
383 res = ads1110_set_gain(&gs_handle, ADS1110_GAIN_4);
384 if (res != 0)
385 {
386 ads1110_interface_debug_print("ads1110: set gain failed.\n");
387 (void)ads1110_deinit(&gs_handle);
388
389 return 1;
390 }
391 ads1110_interface_debug_print("ads1110: set gain 4.\n");
392 res = ads1110_get_gain(&gs_handle, &gain);
393 if (res != 0)
394 {
395 ads1110_interface_debug_print("ads1110: get gain failed.\n");
396 (void)ads1110_deinit(&gs_handle);
397
398 return 1;
399 }
400 ads1110_interface_debug_print("ads1110: check gain %s.\n", gain == ADS1110_GAIN_4 ? "ok" : "error");
401
402 /* set gain 8 */
403 res = ads1110_set_gain(&gs_handle, ADS1110_GAIN_8);
404 if (res != 0)
405 {
406 ads1110_interface_debug_print("ads1110: set gain failed.\n");
407 (void)ads1110_deinit(&gs_handle);
408
409 return 1;
410 }
411 ads1110_interface_debug_print("ads1110: set gain 8.\n");
412 res = ads1110_get_gain(&gs_handle, &gain);
413 if (res != 0)
414 {
415 ads1110_interface_debug_print("ads1110: get gain failed.\n");
416 (void)ads1110_deinit(&gs_handle);
417
418 return 1;
419 }
420 ads1110_interface_debug_print("ads1110: check gain %s.\n", gain == ADS1110_GAIN_8 ? "ok" : "error");
421
422 /* finish register */
423 ads1110_interface_debug_print("ads1110: finish register test.\n");
424 (void)ads1110_deinit(&gs_handle);
425
426 return 0;
427}
driver ads1110 register test header file
uint8_t ads1110_set_rate(ads1110_handle_t *handle, ads1110_rate_t rate)
set the sample rate
uint8_t ads1110_deinit(ads1110_handle_t *handle)
close the chip
uint8_t ads1110_set_addr_pin(ads1110_handle_t *handle, ads1110_address_t addr_pin)
set the iic address pin
uint8_t ads1110_info(ads1110_info_t *info)
get chip's information
struct ads1110_handle_s ads1110_handle_t
ads1110 handle structure definition
ads1110_rate_t
ads1110 rate enumeration definition
uint8_t ads1110_get_gain(ads1110_handle_t *handle, ads1110_gain_t *gain)
get adc gain
uint8_t ads1110_get_rate(ads1110_handle_t *handle, ads1110_rate_t *rate)
get the sample rate
uint8_t ads1110_init(ads1110_handle_t *handle)
initialize the chip
ads1110_address_t
ads1110 address enumeration definition
uint8_t ads1110_get_addr_pin(ads1110_handle_t *handle, ads1110_address_t *addr_pin)
get the iic address pin
struct ads1110_info_s ads1110_info_t
ads1110 information structure definition
uint8_t ads1110_set_gain(ads1110_handle_t *handle, ads1110_gain_t gain)
set adc gain
ads1110_gain_t
ads1110 gain enumeration definition
@ ADS1110_RATE_15SPS
@ ADS1110_RATE_60SPS
@ ADS1110_RATE_240SPS
@ ADS1110_RATE_30SPS
@ ADS1110_ADDRESS7
@ ADS1110_ADDRESS1
@ ADS1110_ADDRESS6
@ ADS1110_ADDRESS2
@ ADS1110_ADDRESS5
@ ADS1110_ADDRESS4
@ ADS1110_ADDRESS0
@ ADS1110_ADDRESS3
@ ADS1110_GAIN_8
@ ADS1110_GAIN_1
@ ADS1110_GAIN_2
@ ADS1110_GAIN_4
uint8_t ads1110_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
uint8_t ads1110_interface_iic_init(void)
interface iic bus init
uint8_t ads1110_interface_iic_deinit(void)
interface iic bus deinit
void ads1110_interface_delay_ms(uint32_t ms)
interface delay ms
void ads1110_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t ads1110_interface_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
uint8_t ads1110_register_test(ads1110_address_t addr)
register test
uint32_t driver_version
char manufacturer_name[32]