LibDriver HDC2080
Loading...
Searching...
No Matches
driver_hdc2080_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static hdc2080_handle_t gs_handle;
41
51{
52 uint8_t res;
53 uint8_t reg;
54 uint8_t reg_check;
55 int8_t offset;
56 int8_t offset_check;
57 float f;
58 float f_check;
59 hdc2080_address_t addr_pin_check;
60 hdc2080_resolution_t resolution;
61 hdc2080_mode_t mode;
63 hdc2080_bool_t enable;
64 hdc2080_info_t info;
66 hdc2080_interrupt_mode_t interrupt_mode;
67
68 /* link interface function */
76
77 /* get information */
78 res = hdc2080_info(&info);
79 if (res != 0)
80 {
81 hdc2080_interface_debug_print("hdc2080: get info failed.\n");
82
83 return 1;
84 }
85 else
86 {
87 /* print chip info */
88 hdc2080_interface_debug_print("hdc2080: chip is %s.\n", info.chip_name);
89 hdc2080_interface_debug_print("hdc2080: manufacturer is %s.\n", info.manufacturer_name);
90 hdc2080_interface_debug_print("hdc2080: interface is %s.\n", info.interface);
91 hdc2080_interface_debug_print("hdc2080: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
92 hdc2080_interface_debug_print("hdc2080: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
93 hdc2080_interface_debug_print("hdc2080: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
94 hdc2080_interface_debug_print("hdc2080: max current is %0.2fmA.\n", info.max_current_ma);
95 hdc2080_interface_debug_print("hdc2080: max temperature is %0.1fC.\n", info.temperature_max);
96 hdc2080_interface_debug_print("hdc2080: min temperature is %0.1fC.\n", info.temperature_min);
97 }
98
99 /* start register test */
100 hdc2080_interface_debug_print("hdc2080: start register test.\n");
101
102 /* hdc2080_set_addr_pin/hdc2080_get_addr_pin test */
103 hdc2080_interface_debug_print("hdc2080: hdc2080_set_addr_pin/hdc2080_get_addr_pin test.\n");
104
105 /* set addr pin 0 */
106 res = hdc2080_set_addr_pin(&gs_handle, HDC2080_ADDRESS_0);
107 if (res != 0)
108 {
109 hdc2080_interface_debug_print("hdc2080: set addr pin failed.\n");
110
111 return 1;
112 }
113 hdc2080_interface_debug_print("hdc2080: set addr pin 0.\n");
114 res = hdc2080_get_addr_pin(&gs_handle, &addr_pin_check);
115 if (res != 0)
116 {
117 hdc2080_interface_debug_print("hdc2080: get addr pin failed.\n");
118
119 return 1;
120 }
121
122 /* output */
123 hdc2080_interface_debug_print("hdc2080: check addr pin %s.\n", addr_pin_check == HDC2080_ADDRESS_0 ? "ok" : "error");
124
125 /* set addr pin 1 */
126 res = hdc2080_set_addr_pin(&gs_handle, HDC2080_ADDRESS_1);
127 if (res != 0)
128 {
129 hdc2080_interface_debug_print("hdc2080: set addr pin failed.\n");
130
131 return 1;
132 }
133 hdc2080_interface_debug_print("hdc2080: set addr pin 1.\n");
134 res = hdc2080_get_addr_pin(&gs_handle, &addr_pin_check);
135 if (res != 0)
136 {
137 hdc2080_interface_debug_print("hdc2080: get addr pin failed.\n");
138
139 return 1;
140 }
141
142 /* output */
143 hdc2080_interface_debug_print("hdc2080: check addr pin %s.\n", addr_pin_check == HDC2080_ADDRESS_1 ? "ok" : "error");
144
145 /* set addr pin */
146 res = hdc2080_set_addr_pin(&gs_handle, addr_pin);
147 if (res != 0)
148 {
149 hdc2080_interface_debug_print("hdc2080: set addr pin failed.\n");
150
151 return 1;
152 }
153
154 /* init */
155 res = hdc2080_init(&gs_handle);
156 if (res != 0)
157 {
158 hdc2080_interface_debug_print("hdc2080: init failed.\n");
159
160 return 1;
161 }
162
163 /* hdc2080_set_temperature_resolution/hdc2080_get_temperature_resolution test */
164 hdc2080_interface_debug_print("hdc2080: hdc2080_set_temperature_resolution/hdc2080_get_temperature_resolution test.\n");
165
166 /* set temperature resolution 14bit */
168 if (res != 0)
169 {
170 hdc2080_interface_debug_print("hdc2080: set temperature resolution failed.\n");
171 (void)hdc2080_deinit(&gs_handle);
172
173 return 1;
174 }
175 hdc2080_interface_debug_print("hdc2080: set temperature resolution 14bit.\n");
176 res = hdc2080_get_temperature_resolution(&gs_handle, &resolution);
177 if (res != 0)
178 {
179 hdc2080_interface_debug_print("hdc2080: get temperature resolution failed.\n");
180 (void)hdc2080_deinit(&gs_handle);
181
182 return 1;
183 }
184
185 /* output */
186 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_14_BIT ? "ok" : "error");
187
188 /* set temperature resolution 11bit */
190 if (res != 0)
191 {
192 hdc2080_interface_debug_print("hdc2080: set temperature resolution failed.\n");
193 (void)hdc2080_deinit(&gs_handle);
194
195 return 1;
196 }
197 hdc2080_interface_debug_print("hdc2080: set temperature resolution 11bit.\n");
198 res = hdc2080_get_temperature_resolution(&gs_handle, &resolution);
199 if (res != 0)
200 {
201 hdc2080_interface_debug_print("hdc2080: get temperature resolution failed.\n");
202 (void)hdc2080_deinit(&gs_handle);
203
204 return 1;
205 }
206
207 /* output */
208 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_11_BIT ? "ok" : "error");
209
210 /* set temperature resolution 9bit */
212 if (res != 0)
213 {
214 hdc2080_interface_debug_print("hdc2080: set temperature resolution failed.\n");
215 (void)hdc2080_deinit(&gs_handle);
216
217 return 1;
218 }
219 hdc2080_interface_debug_print("hdc2080: set temperature resolution 9bit.\n");
220 res = hdc2080_get_temperature_resolution(&gs_handle, &resolution);
221 if (res != 0)
222 {
223 hdc2080_interface_debug_print("hdc2080: get temperature resolution failed.\n");
224 (void)hdc2080_deinit(&gs_handle);
225
226 return 1;
227 }
228
229 /* output */
230 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_9_BIT ? "ok" : "error");
231
232 /* hdc2080_set_humidity_resolution/hdc2080_get_humidity_resolution test */
233 hdc2080_interface_debug_print("hdc2080: hdc2080_set_humidity_resolution/hdc2080_get_humidity_resolution test.\n");
234
235 /* set humidity resolution 14bit */
237 if (res != 0)
238 {
239 hdc2080_interface_debug_print("hdc2080: set humidity resolution failed.\n");
240 (void)hdc2080_deinit(&gs_handle);
241
242 return 1;
243 }
244 hdc2080_interface_debug_print("hdc2080: set humidity resolution 14bit.\n");
245 res = hdc2080_get_humidity_resolution(&gs_handle, &resolution);
246 if (res != 0)
247 {
248 hdc2080_interface_debug_print("hdc2080: get humidity resolution failed.\n");
249 (void)hdc2080_deinit(&gs_handle);
250
251 return 1;
252 }
253
254 /* output */
255 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_14_BIT ? "ok" : "error");
256
257 /* set humidity resolution 11bit */
259 if (res != 0)
260 {
261 hdc2080_interface_debug_print("hdc2080: set humidity resolution failed.\n");
262 (void)hdc2080_deinit(&gs_handle);
263
264 return 1;
265 }
266 hdc2080_interface_debug_print("hdc2080: set humidity resolution 11bit.\n");
267 res = hdc2080_get_humidity_resolution(&gs_handle, &resolution);
268 if (res != 0)
269 {
270 hdc2080_interface_debug_print("hdc2080: get humidity resolution failed.\n");
271 (void)hdc2080_deinit(&gs_handle);
272
273 return 1;
274 }
275
276 /* output */
277 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_11_BIT ? "ok" : "error");
278
279 /* set humidity resolution 9bit */
281 if (res != 0)
282 {
283 hdc2080_interface_debug_print("hdc2080: set humidity resolution failed.\n");
284 (void)hdc2080_deinit(&gs_handle);
285
286 return 1;
287 }
288 hdc2080_interface_debug_print("hdc2080: set humidity resolution 9bit.\n");
289 res = hdc2080_get_humidity_resolution(&gs_handle, &resolution);
290 if (res != 0)
291 {
292 hdc2080_interface_debug_print("hdc2080: get humidity resolution failed.\n");
293 (void)hdc2080_deinit(&gs_handle);
294
295 return 1;
296 }
297
298 /* output */
299 hdc2080_interface_debug_print("hdc2080: check temperature resolution %s.\n", resolution == HDC2080_RESOLUTION_9_BIT ? "ok" : "error");
300
301 /* hdc2080_set_mode/hdc2080_get_mode test */
302 hdc2080_interface_debug_print("hdc2080: hdc2080_set_mode/hdc2080_get_mode test.\n");
303
304 /* set humidity temperature mode */
306 if (res != 0)
307 {
308 hdc2080_interface_debug_print("hdc2080: set mode failed.\n");
309 (void)hdc2080_deinit(&gs_handle);
310
311 return 1;
312 }
313 hdc2080_interface_debug_print("hdc2080: set humidity temperature mode.\n");
314 res = hdc2080_get_mode(&gs_handle, &mode);
315 if (res != 0)
316 {
317 hdc2080_interface_debug_print("hdc2080: get mode failed.\n");
318 (void)hdc2080_deinit(&gs_handle);
319
320 return 1;
321 }
322
323 /* output */
324 hdc2080_interface_debug_print("hdc2080: check mode %s.\n", mode == HDC2080_MODE_HUMIDITY_TEMPERATURE ? "ok" : "error");
325
326 /* set temperature only mode */
328 if (res != 0)
329 {
330 hdc2080_interface_debug_print("hdc2080: set mode failed.\n");
331 (void)hdc2080_deinit(&gs_handle);
332
333 return 1;
334 }
335 hdc2080_interface_debug_print("hdc2080: set temperature only mode.\n");
336 res = hdc2080_get_mode(&gs_handle, &mode);
337 if (res != 0)
338 {
339 hdc2080_interface_debug_print("hdc2080: get mode failed.\n");
340 (void)hdc2080_deinit(&gs_handle);
341
342 return 1;
343 }
344
345 /* output */
346 hdc2080_interface_debug_print("hdc2080: check mode %s.\n", mode == HDC2080_MODE_TEMPERATURE ? "ok" : "error");
347
348 /* hdc2080_set_measurement/hdc2080_get_measurement test */
349 hdc2080_interface_debug_print("hdc2080: hdc2080_set_measurement/hdc2080_get_measurement test.\n");
350
351 /* enable measurement */
353 if (res != 0)
354 {
355 hdc2080_interface_debug_print("hdc2080: set measurement failed.\n");
356 (void)hdc2080_deinit(&gs_handle);
357
358 return 1;
359 }
360 hdc2080_interface_debug_print("hdc2080: enable measurement.\n");
361 res = hdc2080_get_measurement(&gs_handle, &enable);
362 if (res != 0)
363 {
364 hdc2080_interface_debug_print("hdc2080: get measurement failed.\n");
365 (void)hdc2080_deinit(&gs_handle);
366
367 return 1;
368 }
369
370 /* output */
371 hdc2080_interface_debug_print("hdc2080: check measurement %s.\n", res == 0 ? "ok" : "error");
372
373 /* disable measurement */
375 if (res != 0)
376 {
377 hdc2080_interface_debug_print("hdc2080: set measurement failed.\n");
378 (void)hdc2080_deinit(&gs_handle);
379
380 return 1;
381 }
382 hdc2080_interface_debug_print("hdc2080: disable measurement.\n");
383 res = hdc2080_get_measurement(&gs_handle, &enable);
384 if (res != 0)
385 {
386 hdc2080_interface_debug_print("hdc2080: get measurement failed.\n");
387 (void)hdc2080_deinit(&gs_handle);
388
389 return 1;
390 }
391
392 /* output */
393 hdc2080_interface_debug_print("hdc2080: check measurement %s.\n", res == 0 ? "ok" : "error");
394
395 /* hdc2080_soft_reset test */
396 hdc2080_interface_debug_print("hdc2080: hdc2080_soft_reset test.\n");
397
398 /* soft reset */
399 res = hdc2080_soft_reset(&gs_handle);
400 if (res != 0)
401 {
402 hdc2080_interface_debug_print("hdc2080: soft reset failed.\n");
403 (void)hdc2080_deinit(&gs_handle);
404
405 return 1;
406 }
407
408 /* output */
409 hdc2080_interface_debug_print("hdc2080: check soft reset %s.\n", res == 0 ? "ok" : "error");
410
411 /* hdc2080_set_auto_measurement_mode/hdc2080_get_auto_measurement_mode test */
412 hdc2080_interface_debug_print("hdc2080: hdc2080_set_auto_measurement_mode/hdc2080_get_auto_measurement_mode test.\n");
413
414 /* set auto measurement mode disable */
416 if (res != 0)
417 {
418 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
419 (void)hdc2080_deinit(&gs_handle);
420
421 return 1;
422 }
423 hdc2080_interface_debug_print("hdc2080: set auto mode disable.\n");
424 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
425 if (res != 0)
426 {
427 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
428 (void)hdc2080_deinit(&gs_handle);
429
430 return 1;
431 }
432
433 /* output */
434 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_DISABLED ? "ok" : "error");
435
436 /* set auto measurement mode 1/120 hz */
438 if (res != 0)
439 {
440 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
441 (void)hdc2080_deinit(&gs_handle);
442
443 return 1;
444 }
445 hdc2080_interface_debug_print("hdc2080: set auto mode 1/120 hz.\n");
446 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
447 if (res != 0)
448 {
449 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
450 (void)hdc2080_deinit(&gs_handle);
451
452 return 1;
453 }
454
455 /* output */
456 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_120_HZ ? "ok" : "error");
457
458 /* set auto measurement mode 1/60 hz */
460 if (res != 0)
461 {
462 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
463 (void)hdc2080_deinit(&gs_handle);
464
465 return 1;
466 }
467 hdc2080_interface_debug_print("hdc2080: set auto mode 1/60 hz.\n");
468 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
469 if (res != 0)
470 {
471 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
472 (void)hdc2080_deinit(&gs_handle);
473
474 return 1;
475 }
476
477 /* output */
478 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_60_HZ ? "ok" : "error");
479
480 /* set auto measurement mode 1/10 hz */
482 if (res != 0)
483 {
484 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
485 (void)hdc2080_deinit(&gs_handle);
486
487 return 1;
488 }
489 hdc2080_interface_debug_print("hdc2080: set auto mode 1/10 hz.\n");
490 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
491 if (res != 0)
492 {
493 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
494 (void)hdc2080_deinit(&gs_handle);
495
496 return 1;
497 }
498
499 /* output */
500 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_10_HZ ? "ok" : "error");
501
502 /* set auto measurement mode 1/5 hz */
504 if (res != 0)
505 {
506 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
507 (void)hdc2080_deinit(&gs_handle);
508
509 return 1;
510 }
511 hdc2080_interface_debug_print("hdc2080: set auto mode 1/5 hz.\n");
512 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
513 if (res != 0)
514 {
515 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
516 (void)hdc2080_deinit(&gs_handle);
517
518 return 1;
519 }
520
521 /* output */
522 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_5_HZ ? "ok" : "error");
523
524 /* set auto measurement mode 1 hz */
526 if (res != 0)
527 {
528 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
529 (void)hdc2080_deinit(&gs_handle);
530
531 return 1;
532 }
533 hdc2080_interface_debug_print("hdc2080: set auto mode 1 hz.\n");
534 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
535 if (res != 0)
536 {
537 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
538 (void)hdc2080_deinit(&gs_handle);
539
540 return 1;
541 }
542
543 /* output */
544 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_1_HZ ? "ok" : "error");
545
546 /* set auto measurement mode 2 hz */
548 if (res != 0)
549 {
550 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
551 (void)hdc2080_deinit(&gs_handle);
552
553 return 1;
554 }
555 hdc2080_interface_debug_print("hdc2080: set auto mode 2 hz.\n");
556 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
557 if (res != 0)
558 {
559 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
560 (void)hdc2080_deinit(&gs_handle);
561
562 return 1;
563 }
564
565 /* output */
566 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_2_HZ ? "ok" : "error");
567
568 /* set auto measurement mode 5 hz */
570 if (res != 0)
571 {
572 hdc2080_interface_debug_print("hdc2080: set auto measurement mode failed.\n");
573 (void)hdc2080_deinit(&gs_handle);
574
575 return 1;
576 }
577 hdc2080_interface_debug_print("hdc2080: set auto mode 5 hz.\n");
578 res = hdc2080_get_auto_measurement_mode(&gs_handle, &auto_mode);
579 if (res != 0)
580 {
581 hdc2080_interface_debug_print("hdc2080: get auto measurement mode failed.\n");
582 (void)hdc2080_deinit(&gs_handle);
583
584 return 1;
585 }
586
587 /* output */
588 hdc2080_interface_debug_print("hdc2080: check auto mode %s.\n", auto_mode == HDC2080_AUTO_MEASUREMENT_MODE_5_HZ ? "ok" : "error");
589
590 /* hdc2080_set_heater/hdc2080_get_heater test */
591 hdc2080_interface_debug_print("hdc2080: hdc2080_set_heater/hdc2080_get_heater test.\n");
592
593 /* enable heater */
594 res = hdc2080_set_heater(&gs_handle, HDC2080_BOOL_TRUE);
595 if (res != 0)
596 {
597 hdc2080_interface_debug_print("hdc2080: set heater failed.\n");
598 (void)hdc2080_deinit(&gs_handle);
599
600 return 1;
601 }
602 hdc2080_interface_debug_print("hdc2080: enable heater.\n");
603 res = hdc2080_get_heater(&gs_handle, &enable);
604 if (res != 0)
605 {
606 hdc2080_interface_debug_print("hdc2080: get heater failed.\n");
607 (void)hdc2080_deinit(&gs_handle);
608
609 return 1;
610 }
611
612 /* output */
613 hdc2080_interface_debug_print("hdc2080: check heater %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
614
615 /* disable heater */
616 res = hdc2080_set_heater(&gs_handle, HDC2080_BOOL_FALSE);
617 if (res != 0)
618 {
619 hdc2080_interface_debug_print("hdc2080: set heater failed.\n");
620 (void)hdc2080_deinit(&gs_handle);
621
622 return 1;
623 }
624 hdc2080_interface_debug_print("hdc2080: disable heater.\n");
625 res = hdc2080_get_heater(&gs_handle, &enable);
626 if (res != 0)
627 {
628 hdc2080_interface_debug_print("hdc2080: get heater failed.\n");
629 (void)hdc2080_deinit(&gs_handle);
630
631 return 1;
632 }
633
634 /* output */
635 hdc2080_interface_debug_print("hdc2080: check heater %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
636
637 /* hdc2080_set_interrupt_pin/hdc2080_get_interrupt_pin test */
638 hdc2080_interface_debug_print("hdc2080: hdc2080_set_interrupt_pin/hdc2080_get_interrupt_pin test.\n");
639
640 /* enable interrupt pin */
642 if (res != 0)
643 {
644 hdc2080_interface_debug_print("hdc2080: set interrupt pin failed.\n");
645 (void)hdc2080_deinit(&gs_handle);
646
647 return 1;
648 }
649 hdc2080_interface_debug_print("hdc2080: enable interrupt pin.\n");
650 res = hdc2080_get_interrupt_pin(&gs_handle, &enable);
651 if (res != 0)
652 {
653 hdc2080_interface_debug_print("hdc2080: get interrupt pin failed.\n");
654 (void)hdc2080_deinit(&gs_handle);
655
656 return 1;
657 }
658
659 /* output */
660 hdc2080_interface_debug_print("hdc2080: check interrupt pin %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
661
662 /* disable interrupt pin */
664 if (res != 0)
665 {
666 hdc2080_interface_debug_print("hdc2080: set interrupt pin failed.\n");
667 (void)hdc2080_deinit(&gs_handle);
668
669 return 1;
670 }
671 hdc2080_interface_debug_print("hdc2080: disable interrupt pin.\n");
672 res = hdc2080_get_interrupt_pin(&gs_handle, &enable);
673 if (res != 0)
674 {
675 hdc2080_interface_debug_print("hdc2080: get interrupt pin failed.\n");
676 (void)hdc2080_deinit(&gs_handle);
677
678 return 1;
679 }
680
681 /* output */
682 hdc2080_interface_debug_print("hdc2080: check interrupt pin %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
683
684 /* hdc2080_set_interrupt_polarity/hdc2080_get_interrupt_polarity test */
685 hdc2080_interface_debug_print("hdc2080: hdc2080_set_interrupt_polarity/hdc2080_get_interrupt_polarity test.\n");
686
687 /* set interrupt polarity low */
689 if (res != 0)
690 {
691 hdc2080_interface_debug_print("hdc2080: set interrupt polarity failed.\n");
692 (void)hdc2080_deinit(&gs_handle);
693
694 return 1;
695 }
696 hdc2080_interface_debug_print("hdc2080: set interrupt polarity low.\n");
697 res = hdc2080_get_interrupt_polarity(&gs_handle, &polarity);
698 if (res != 0)
699 {
700 hdc2080_interface_debug_print("hdc2080: get interrupt polarity failed.\n");
701 (void)hdc2080_deinit(&gs_handle);
702
703 return 1;
704 }
705
706 /* output */
707 hdc2080_interface_debug_print("hdc2080: check interrupt polarity pin %s.\n", polarity == HDC2080_INTERRUPT_POLARITY_LOW ? "ok" : "error");
708
709 /* set interrupt polarity high */
711 if (res != 0)
712 {
713 hdc2080_interface_debug_print("hdc2080: set interrupt polarity failed.\n");
714 (void)hdc2080_deinit(&gs_handle);
715
716 return 1;
717 }
718 hdc2080_interface_debug_print("hdc2080: set interrupt polarity high.\n");
719 res = hdc2080_get_interrupt_polarity(&gs_handle, &polarity);
720 if (res != 0)
721 {
722 hdc2080_interface_debug_print("hdc2080: get interrupt polarity failed.\n");
723 (void)hdc2080_deinit(&gs_handle);
724
725 return 1;
726 }
727
728 /* output */
729 hdc2080_interface_debug_print("hdc2080: check interrupt polarity pin %s.\n", polarity == HDC2080_INTERRUPT_POLARITY_HIGH ? "ok" : "error");
730
731 /* hdc2080_set_interrupt_mode/hdc2080_get_interrupt_mode test */
732 hdc2080_interface_debug_print("hdc2080: hdc2080_set_interrupt_mode/hdc2080_get_interrupt_mode test.\n");
733
734 /* set interrupt mode level */
736 if (res != 0)
737 {
738 hdc2080_interface_debug_print("hdc2080: set interrupt mode failed.\n");
739 (void)hdc2080_deinit(&gs_handle);
740
741 return 1;
742 }
743 hdc2080_interface_debug_print("hdc2080: set interrupt mode level.\n");
744 res = hdc2080_get_interrupt_mode(&gs_handle, &interrupt_mode);
745 if (res != 0)
746 {
747 hdc2080_interface_debug_print("hdc2080: get interrupt mode failed.\n");
748 (void)hdc2080_deinit(&gs_handle);
749
750 return 1;
751 }
752
753 /* output */
754 hdc2080_interface_debug_print("hdc2080: check interrupt mode %s.\n", interrupt_mode == HDC2080_INTERRUPT_MODE_LEVEL ? "ok" : "error");
755
756 /* set interrupt mode comparator */
758 if (res != 0)
759 {
760 hdc2080_interface_debug_print("hdc2080: set interrupt mode failed.\n");
761 (void)hdc2080_deinit(&gs_handle);
762
763 return 1;
764 }
765 hdc2080_interface_debug_print("hdc2080: set interrupt mode comparator.\n");
766 res = hdc2080_get_interrupt_mode(&gs_handle, &interrupt_mode);
767 if (res != 0)
768 {
769 hdc2080_interface_debug_print("hdc2080: get interrupt mode failed.\n");
770 (void)hdc2080_deinit(&gs_handle);
771
772 return 1;
773 }
774
775 /* output */
776 hdc2080_interface_debug_print("hdc2080: check interrupt mode %s.\n", interrupt_mode == HDC2080_INTERRUPT_MODE_COMPARATOR ? "ok" : "error");
777
778 /* hdc2080_set_humidity_high_threshold/hdc2080_get_humidity_high_threshold test */
779 hdc2080_interface_debug_print("hdc2080: hdc2080_set_humidity_high_threshold/hdc2080_get_humidity_high_threshold test.\n");
780
781 reg = rand() % 256;
782 res = hdc2080_set_humidity_high_threshold(&gs_handle,reg);
783 if (res != 0)
784 {
785 hdc2080_interface_debug_print("hdc2080: set humidity high threshold failed.\n");
786 (void)hdc2080_deinit(&gs_handle);
787
788 return 1;
789 }
790 hdc2080_interface_debug_print("hdc2080: set humidity high threshold 0x%02X.\n", reg);
791 res = hdc2080_get_humidity_high_threshold(&gs_handle, &reg_check);
792 if (res != 0)
793 {
794 hdc2080_interface_debug_print("hdc2080: get humidity high threshold failed.\n");
795 (void)hdc2080_deinit(&gs_handle);
796
797 return 1;
798 }
799
800 /* output */
801 hdc2080_interface_debug_print("hdc2080: check humidity high threshold %s.\n", reg_check == reg ? "ok" : "error");
802
803 /* hdc2080_set_humidity_low_threshold/hdc2080_get_humidity_low_threshold test */
804 hdc2080_interface_debug_print("hdc2080: hdc2080_set_humidity_low_threshold/hdc2080_get_humidity_low_threshold test.\n");
805
806 reg = rand() % 256;
807 res = hdc2080_set_humidity_low_threshold(&gs_handle, reg);
808 if (res != 0)
809 {
810 hdc2080_interface_debug_print("hdc2080: set humidity low threshold failed.\n");
811 (void)hdc2080_deinit(&gs_handle);
812
813 return 1;
814 }
815 hdc2080_interface_debug_print("hdc2080: set humidity low threshold 0x%02X.\n", reg);
816 res = hdc2080_get_humidity_low_threshold(&gs_handle, &reg_check);
817 if (res != 0)
818 {
819 hdc2080_interface_debug_print("hdc2080: get humidity low threshold failed.\n");
820 (void)hdc2080_deinit(&gs_handle);
821
822 return 1;
823 }
824
825 /* output */
826 hdc2080_interface_debug_print("hdc2080: check humidity low threshold %s.\n", reg_check == reg ? "ok" : "error");
827
828 /* hdc2080_set_temperature_high_threshold/hdc2080_get_temperature_high_threshold test */
829 hdc2080_interface_debug_print("hdc2080: hdc2080_set_temperature_high_threshold/hdc2080_get_temperature_high_threshold test.\n");
830
831 reg = rand() % 256;
832 res = hdc2080_set_temperature_high_threshold(&gs_handle, reg);
833 if (res != 0)
834 {
835 hdc2080_interface_debug_print("hdc2080: set temperature high threshold failed.\n");
836 (void)hdc2080_deinit(&gs_handle);
837
838 return 1;
839 }
840 hdc2080_interface_debug_print("hdc2080: set temperature high threshold 0x%02X.\n", reg);
841 res = hdc2080_get_temperature_high_threshold(&gs_handle, &reg_check);
842 if (res != 0)
843 {
844 hdc2080_interface_debug_print("hdc2080: get temperature high threshold failed.\n");
845 (void)hdc2080_deinit(&gs_handle);
846
847 return 1;
848 }
849
850 /* output */
851 hdc2080_interface_debug_print("hdc2080: check temperature high threshold %s.\n", reg_check == reg ? "ok" : "error");
852
853 /* hdc2080_set_temperature_low_threshold/hdc2080_get_temperature_low_threshold test */
854 hdc2080_interface_debug_print("hdc2080: hdc2080_set_temperature_low_threshold/hdc2080_get_temperature_low_threshold test.\n");
855
856 reg = rand() % 256;
857 res = hdc2080_set_temperature_low_threshold(&gs_handle, reg);
858 if (res != 0)
859 {
860 hdc2080_interface_debug_print("hdc2080: set temperature low threshold failed.\n");
861 (void)hdc2080_deinit(&gs_handle);
862
863 return 1;
864 }
865 hdc2080_interface_debug_print("hdc2080: set temperature low threshold 0x%02X.\n", reg);
866 res = hdc2080_get_temperature_low_threshold(&gs_handle, &reg_check);
867 if (res != 0)
868 {
869 hdc2080_interface_debug_print("hdc2080: get temperature low threshold failed.\n");
870 (void)hdc2080_deinit(&gs_handle);
871
872 return 1;
873 }
874
875 /* output */
876 hdc2080_interface_debug_print("hdc2080: check temperature low threshold %s.\n", reg_check == reg ? "ok" : "error");
877
878 /* hdc2080_set_humidity_offset_adjustment/hdc2080_get_humidity_offset_adjustment test */
879 hdc2080_interface_debug_print("hdc2080: hdc2080_set_humidity_offset_adjustment/hdc2080_get_humidity_offset_adjustment test.\n");
880
881 offset = rand() % 128;
882 res = hdc2080_set_humidity_offset_adjustment(&gs_handle, offset);
883 if (res != 0)
884 {
885 hdc2080_interface_debug_print("hdc2080: set humidity offset adjustment failed.\n");
886 (void)hdc2080_deinit(&gs_handle);
887
888 return 1;
889 }
890 hdc2080_interface_debug_print("hdc2080: set humidity offset adjustment %d.\n", offset);
891 res = hdc2080_get_humidity_offset_adjustment(&gs_handle, &offset_check);
892 if (res != 0)
893 {
894 hdc2080_interface_debug_print("hdc2080: get humidity offset adjustment failed.\n");
895 (void)hdc2080_deinit(&gs_handle);
896
897 return 1;
898 }
899
900 /* output */
901 hdc2080_interface_debug_print("hdc2080: check humidity offset adjustment %s.\n", offset_check == offset ? "ok" : "error");
902
903 /* hdc2080_set_temperature_offset_adjustment/hdc2080_get_temperature_offset_adjustment test */
904 hdc2080_interface_debug_print("hdc2080: hdc2080_set_temperature_offset_adjustment/hdc2080_get_temperature_offset_adjustment test.\n");
905
906 offset = -(rand() % 128);
907 res = hdc2080_set_temperature_offset_adjustment(&gs_handle, offset);
908 if (res != 0)
909 {
910 hdc2080_interface_debug_print("hdc2080: set temperature offset adjustment failed.\n");
911 (void)hdc2080_deinit(&gs_handle);
912
913 return 1;
914 }
915 hdc2080_interface_debug_print("hdc2080: set temperature offset adjustment %d.\n", offset);
916 res = hdc2080_get_temperature_offset_adjustment(&gs_handle, &offset_check);
917 if (res != 0)
918 {
919 hdc2080_interface_debug_print("hdc2080: get temperature offset adjustment failed.\n");
920 (void)hdc2080_deinit(&gs_handle);
921
922 return 1;
923 }
924
925 /* output */
926 hdc2080_interface_debug_print("hdc2080: check temperature offset adjustment %s.\n", offset_check == offset ? "ok" : "error");
927
928 /* hdc2080_set_interrupt/hdc2080_get_interrupt test */
929 hdc2080_interface_debug_print("hdc2080: hdc2080_set_interrupt/hdc2080_get_interrupt test.\n");
930
931 /* enable data ready */
933 if (res != 0)
934 {
935 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
936 (void)hdc2080_deinit(&gs_handle);
937
938 return 1;
939 }
940 hdc2080_interface_debug_print("hdc2080: enable data ready.\n");
941 res = hdc2080_get_interrupt(&gs_handle, HDC2080_INTERRUPT_DRDY, &enable);
942 if (res != 0)
943 {
944 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
945 (void)hdc2080_deinit(&gs_handle);
946
947 return 1;
948 }
949
950 /* output */
951 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
952
953 /* disable data ready */
955 if (res != 0)
956 {
957 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
958 (void)hdc2080_deinit(&gs_handle);
959
960 return 1;
961 }
962 hdc2080_interface_debug_print("hdc2080: disable data ready.\n");
963 res = hdc2080_get_interrupt(&gs_handle, HDC2080_INTERRUPT_DRDY, &enable);
964 if (res != 0)
965 {
966 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
967 (void)hdc2080_deinit(&gs_handle);
968
969 return 1;
970 }
971
972 /* output */
973 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
974
975 /* enable temperature high threshold */
977 if (res != 0)
978 {
979 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
980 (void)hdc2080_deinit(&gs_handle);
981
982 return 1;
983 }
984 hdc2080_interface_debug_print("hdc2080: enable temperature high threshold.\n");
986 if (res != 0)
987 {
988 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
989 (void)hdc2080_deinit(&gs_handle);
990
991 return 1;
992 }
993
994 /* output */
995 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
996
997 /* disable temperature high threshold */
999 if (res != 0)
1000 {
1001 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1002 (void)hdc2080_deinit(&gs_handle);
1003
1004 return 1;
1005 }
1006 hdc2080_interface_debug_print("hdc2080: disable temperature high threshold.\n");
1008 if (res != 0)
1009 {
1010 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1011 (void)hdc2080_deinit(&gs_handle);
1012
1013 return 1;
1014 }
1015
1016 /* output */
1017 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
1018
1019 /* enable temperature low threshold */
1021 if (res != 0)
1022 {
1023 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1024 (void)hdc2080_deinit(&gs_handle);
1025
1026 return 1;
1027 }
1028 hdc2080_interface_debug_print("hdc2080: enable temperature low threshold.\n");
1030 if (res != 0)
1031 {
1032 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1033 (void)hdc2080_deinit(&gs_handle);
1034
1035 return 1;
1036 }
1037
1038 /* output */
1039 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
1040
1041 /* disable temperature low threshold */
1043 if (res != 0)
1044 {
1045 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1046 (void)hdc2080_deinit(&gs_handle);
1047
1048 return 1;
1049 }
1050 hdc2080_interface_debug_print("hdc2080: disable temperature low threshold.\n");
1052 if (res != 0)
1053 {
1054 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1055 (void)hdc2080_deinit(&gs_handle);
1056
1057 return 1;
1058 }
1059
1060 /* output */
1061 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
1062
1063 /* enable humidity high threshold */
1065 if (res != 0)
1066 {
1067 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1068 (void)hdc2080_deinit(&gs_handle);
1069
1070 return 1;
1071 }
1072 hdc2080_interface_debug_print("hdc2080: enable humidity high threshold.\n");
1074 if (res != 0)
1075 {
1076 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1077 (void)hdc2080_deinit(&gs_handle);
1078
1079 return 1;
1080 }
1081
1082 /* output */
1083 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
1084
1085 /* disable humidity high threshold */
1087 if (res != 0)
1088 {
1089 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1090 (void)hdc2080_deinit(&gs_handle);
1091
1092 return 1;
1093 }
1094 hdc2080_interface_debug_print("hdc2080: disable humidity high threshold.\n");
1096 if (res != 0)
1097 {
1098 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1099 (void)hdc2080_deinit(&gs_handle);
1100
1101 return 1;
1102 }
1103
1104 /* output */
1105 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
1106
1107 /* enable humidity low threshold */
1109 if (res != 0)
1110 {
1111 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1112 (void)hdc2080_deinit(&gs_handle);
1113
1114 return 1;
1115 }
1116 hdc2080_interface_debug_print("hdc2080: enable humidity low threshold.\n");
1118 if (res != 0)
1119 {
1120 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1121 (void)hdc2080_deinit(&gs_handle);
1122
1123 return 1;
1124 }
1125
1126 /* output */
1127 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_TRUE ? "ok" : "error");
1128
1129 /* disable humidity low threshold */
1131 if (res != 0)
1132 {
1133 hdc2080_interface_debug_print("hdc2080: set interrupt failed.\n");
1134 (void)hdc2080_deinit(&gs_handle);
1135
1136 return 1;
1137 }
1138 hdc2080_interface_debug_print("hdc2080: disable humidity low threshold.\n");
1140 if (res != 0)
1141 {
1142 hdc2080_interface_debug_print("hdc2080: get interrupt failed.\n");
1143 (void)hdc2080_deinit(&gs_handle);
1144
1145 return 1;
1146 }
1147
1148 /* output */
1149 hdc2080_interface_debug_print("hdc2080: check interrupt %s.\n", enable == HDC2080_BOOL_FALSE ? "ok" : "error");
1150
1151 /* hdc2080_set_humidity_max/hdc2080_get_humidity_max test */
1152 hdc2080_interface_debug_print("hdc2080: hdc2080_set_humidity_max/hdc2080_get_humidity_max test.\n");
1153
1154 reg = 0;
1155 res = hdc2080_set_humidity_max(&gs_handle, reg);
1156 if (res != 0)
1157 {
1158 hdc2080_interface_debug_print("hdc2080: set humidity max failed.\n");
1159 (void)hdc2080_deinit(&gs_handle);
1160
1161 return 1;
1162 }
1163 hdc2080_interface_debug_print("hdc2080: set humidity max 0x%02X.\n", reg);
1164 res = hdc2080_get_humidity_max(&gs_handle, &reg_check);
1165 if (res != 0)
1166 {
1167 hdc2080_interface_debug_print("hdc2080: get humidity max failed.\n");
1168 (void)hdc2080_deinit(&gs_handle);
1169
1170 return 1;
1171 }
1172
1173 /* output */
1174 hdc2080_interface_debug_print("hdc2080: check humidity max %s.\n", reg_check == reg ? "ok" : "error");
1175
1176 /* hdc2080_set_temperature_max/hdc2080_get_temperature_max test */
1177 hdc2080_interface_debug_print("hdc2080: hdc2080_set_temperature_max/hdc2080_get_temperature_max test.\n");
1178
1179 reg = 0;
1180 res = hdc2080_set_temperature_max(&gs_handle, reg);
1181 if (res != 0)
1182 {
1183 hdc2080_interface_debug_print("hdc2080: set temperature max failed.\n");
1184 (void)hdc2080_deinit(&gs_handle);
1185
1186 return 1;
1187 }
1188 hdc2080_interface_debug_print("hdc2080: set temperature max 0x%02X.\n", reg);
1189 res = hdc2080_get_temperature_max(&gs_handle, &reg_check);
1190 if (res != 0)
1191 {
1192 hdc2080_interface_debug_print("hdc2080: get temperature max failed.\n");
1193 (void)hdc2080_deinit(&gs_handle);
1194
1195 return 1;
1196 }
1197
1198 /* output */
1199 hdc2080_interface_debug_print("hdc2080: check temperature max %s.\n", reg_check == reg ? "ok" : "error");
1200
1201 /* hdc2080_get_interrupt_status test */
1202 hdc2080_interface_debug_print("hdc2080: hdc2080_get_interrupt_status test.\n");
1203
1204 /* get interrupt status */
1205 res = hdc2080_get_interrupt_status(&gs_handle, &reg);
1206 if (res != 0)
1207 {
1208 hdc2080_interface_debug_print("hdc2080: get interrupt status failed.\n");
1209 (void)hdc2080_deinit(&gs_handle);
1210
1211 return 1;
1212 }
1213
1214 /* output */
1215 hdc2080_interface_debug_print("hdc2080: status is 0x%02x.\n", reg);
1216
1217 /* hdc2080_humidity_convert_to_register/hdc2080_humidity_convert_to_data test */
1218 hdc2080_interface_debug_print("hdc2080: hdc2080_humidity_convert_to_register/hdc2080_humidity_convert_to_data test.\n");
1219
1220 f = (float)(rand() % 300) / 10.0f;
1221 res = hdc2080_humidity_convert_to_register(&gs_handle, f, &reg);
1222 if (res != 0)
1223 {
1224 hdc2080_interface_debug_print("hdc2080: humidity convert to register failed.\n");
1225 (void)hdc2080_deinit(&gs_handle);
1226
1227 return 1;
1228 }
1229 hdc2080_interface_debug_print("hdc2080: set humidity %0.2f.\n", f);
1230 res = hdc2080_humidity_convert_to_data(&gs_handle, reg, &f_check);
1231 if (res != 0)
1232 {
1233 hdc2080_interface_debug_print("hdc2080: humidity convert to data failed.\n");
1234 (void)hdc2080_deinit(&gs_handle);
1235
1236 return 1;
1237 }
1238
1239 /* output */
1240 hdc2080_interface_debug_print("hdc2080: check humidity %0.2f.\n", f_check);
1241
1242 /* hdc2080_temperature_convert_to_register/hdc2080_temperature_convert_to_data test */
1243 hdc2080_interface_debug_print("hdc2080: hdc2080_temperature_convert_to_register/hdc2080_temperature_convert_to_data test.\n");
1244
1245 f = (float)(rand() % 100) / 10.0f;
1246 res = hdc2080_temperature_convert_to_register(&gs_handle, f, &reg);
1247 if (res != 0)
1248 {
1249 hdc2080_interface_debug_print("hdc2080: temperature convert to register failed.\n");
1250 (void)hdc2080_deinit(&gs_handle);
1251
1252 return 1;
1253 }
1254 hdc2080_interface_debug_print("hdc2080: set temperature %0.2f.\n", f);
1255 res = hdc2080_temperature_convert_to_data(&gs_handle, reg, &f_check);
1256 if (res != 0)
1257 {
1258 hdc2080_interface_debug_print("hdc2080: temperature convert to data failed.\n");
1259 (void)hdc2080_deinit(&gs_handle);
1260
1261 return 1;
1262 }
1263
1264 /* output */
1265 hdc2080_interface_debug_print("hdc2080: check temperature %0.2f.\n", f_check);
1266
1267 /* hdc2080_humidity_offset_convert_to_register/hdc2080_humidity_offset_convert_to_data test */
1268 hdc2080_interface_debug_print("hdc2080: hdc2080_humidity_offset_convert_to_register/hdc2080_humidity_offset_convert_to_data test.\n");
1269
1270 f = (float)(rand() % 100) / 10.0f;
1271 res = hdc2080_humidity_offset_convert_to_register(&gs_handle, f, &offset);
1272 if (res != 0)
1273 {
1274 hdc2080_interface_debug_print("hdc2080: humidity offset convert to register failed.\n");
1275 (void)hdc2080_deinit(&gs_handle);
1276
1277 return 1;
1278 }
1279 hdc2080_interface_debug_print("hdc2080: set humidity offset %0.2f.\n", f);
1280 res = hdc2080_humidity_offset_convert_to_data(&gs_handle, offset, &f_check);
1281 if (res != 0)
1282 {
1283 hdc2080_interface_debug_print("hdc2080: humidity offset convert to data failed.\n");
1284 (void)hdc2080_deinit(&gs_handle);
1285
1286 return 1;
1287 }
1288
1289 /* output */
1290 hdc2080_interface_debug_print("hdc2080: check humidity offset %0.2f.\n", f_check);
1291
1292 /* hdc2080_temperature_offset_convert_to_register/hdc2080_temperature_offset_convert_to_data test */
1293 hdc2080_interface_debug_print("hdc2080: hdc2080_temperature_offset_convert_to_register/hdc2080_temperature_offset_convert_to_data test.\n");
1294
1295 f = (float)(rand() % 100) / 10.0f;
1296 res = hdc2080_temperature_offset_convert_to_register(&gs_handle, f, &offset);
1297 if (res != 0)
1298 {
1299 hdc2080_interface_debug_print("hdc2080: temperature offset convert to register failed.\n");
1300 (void)hdc2080_deinit(&gs_handle);
1301
1302 return 1;
1303 }
1304 hdc2080_interface_debug_print("hdc2080: set temperature offset %0.2f.\n", f);
1305 res = hdc2080_temperature_offset_convert_to_data(&gs_handle, offset, &f_check);
1306 if (res != 0)
1307 {
1308 hdc2080_interface_debug_print("hdc2080: temperature offset convert to data failed.\n");
1309 (void)hdc2080_deinit(&gs_handle);
1310
1311 return 1;
1312 }
1313
1314 /* output */
1315 hdc2080_interface_debug_print("hdc2080: check temperature offset %0.2f.\n", f_check);
1316
1317 /* finish register */
1318 hdc2080_interface_debug_print("hdc2080: finish register test.\n");
1319 (void)hdc2080_deinit(&gs_handle);
1320
1321 return 0;
1322}
driver hdc2080 register test header file
uint8_t hdc2080_set_measurement(hdc2080_handle_t *handle, hdc2080_bool_t enable)
enable or disable measurement
uint8_t hdc2080_init(hdc2080_handle_t *handle)
initialize the chip
uint8_t hdc2080_set_temperature_offset_adjustment(hdc2080_handle_t *handle, int8_t offset)
set temperature offset adjustment
uint8_t hdc2080_set_temperature_low_threshold(hdc2080_handle_t *handle, uint8_t threshold)
set temperature low threshold
uint8_t hdc2080_get_addr_pin(hdc2080_handle_t *handle, hdc2080_address_t *addr_pin)
get the iic address pin
uint8_t hdc2080_set_auto_measurement_mode(hdc2080_handle_t *handle, hdc2080_auto_measurement_mode_t mode)
set auto measurement mode
uint8_t hdc2080_get_temperature_low_threshold(hdc2080_handle_t *handle, uint8_t *threshold)
get temperature low threshold
struct hdc2080_handle_s hdc2080_handle_t
hdc2080 handle structure definition
uint8_t hdc2080_set_humidity_resolution(hdc2080_handle_t *handle, hdc2080_resolution_t resolution)
set humidity resolution
uint8_t hdc2080_get_humidity_low_threshold(hdc2080_handle_t *handle, uint8_t *threshold)
get humidity low threshold
uint8_t hdc2080_soft_reset(hdc2080_handle_t *handle)
soft reset
uint8_t hdc2080_deinit(hdc2080_handle_t *handle)
close the chip
uint8_t hdc2080_humidity_offset_convert_to_register(hdc2080_handle_t *handle, float percent, int8_t *reg)
convert the humidity offset to the register raw data
uint8_t hdc2080_set_temperature_resolution(hdc2080_handle_t *handle, hdc2080_resolution_t resolution)
set temperature resolution
uint8_t hdc2080_temperature_offset_convert_to_register(hdc2080_handle_t *handle, float deg, int8_t *reg)
convert the temperature offset to the register raw data
uint8_t hdc2080_temperature_convert_to_data(hdc2080_handle_t *handle, uint8_t reg, float *deg)
convert the register raw data to the temperature
uint8_t hdc2080_humidity_convert_to_data(hdc2080_handle_t *handle, uint8_t reg, float *percent)
convert the register raw data to the humidity
uint8_t hdc2080_set_interrupt_pin(hdc2080_handle_t *handle, hdc2080_bool_t enable)
enable or disable interrupt pin
uint8_t hdc2080_temperature_offset_convert_to_data(hdc2080_handle_t *handle, int8_t reg, float *deg)
convert the register raw data to the temperature offset
uint8_t hdc2080_get_interrupt_pin(hdc2080_handle_t *handle, hdc2080_bool_t *enable)
get interrupt pin status
uint8_t hdc2080_get_heater(hdc2080_handle_t *handle, hdc2080_bool_t *enable)
get heater status
uint8_t hdc2080_set_humidity_low_threshold(hdc2080_handle_t *handle, uint8_t threshold)
set humidity low threshold
uint8_t hdc2080_get_temperature_offset_adjustment(hdc2080_handle_t *handle, int8_t *offset)
get temperature offset adjustment
uint8_t hdc2080_get_humidity_max(hdc2080_handle_t *handle, uint8_t *max)
get humidity max
uint8_t hdc2080_set_addr_pin(hdc2080_handle_t *handle, hdc2080_address_t addr_pin)
set the iic address pin
hdc2080_bool_t
hdc2080 bool enumeration definition
uint8_t hdc2080_get_mode(hdc2080_handle_t *handle, hdc2080_mode_t *mode)
get the chip mode
uint8_t hdc2080_get_measurement(hdc2080_handle_t *handle, hdc2080_bool_t *enable)
get measurement status
hdc2080_resolution_t
hdc2080 resolution enumeration definition
uint8_t hdc2080_get_interrupt_polarity(hdc2080_handle_t *handle, hdc2080_interrupt_polarity_t *polarity)
get interrupt polarity
uint8_t hdc2080_set_mode(hdc2080_handle_t *handle, hdc2080_mode_t mode)
set the chip mode
uint8_t hdc2080_set_humidity_high_threshold(hdc2080_handle_t *handle, uint8_t threshold)
set humidity high threshold
hdc2080_auto_measurement_mode_t
hdc2080 auto measurement mode enumeration definition
hdc2080_interrupt_polarity_t
hdc2080 interrupt polarity enumeration definition
hdc2080_interrupt_mode_t
hdc2080 interrupt mode enumeration definition
uint8_t hdc2080_set_humidity_max(hdc2080_handle_t *handle, uint8_t max)
set humidity max
uint8_t hdc2080_get_humidity_offset_adjustment(hdc2080_handle_t *handle, int8_t *offset)
get humidity offset adjustment
uint8_t hdc2080_get_temperature_high_threshold(hdc2080_handle_t *handle, uint8_t *threshold)
get temperature high threshold
hdc2080_mode_t
hdc2080 mode enumeration definition
uint8_t hdc2080_get_auto_measurement_mode(hdc2080_handle_t *handle, hdc2080_auto_measurement_mode_t *mode)
get auto measurement mode
uint8_t hdc2080_set_interrupt_polarity(hdc2080_handle_t *handle, hdc2080_interrupt_polarity_t polarity)
set interrupt polarity
uint8_t hdc2080_get_interrupt_mode(hdc2080_handle_t *handle, hdc2080_interrupt_mode_t *mode)
get interrupt mode
uint8_t hdc2080_set_interrupt_mode(hdc2080_handle_t *handle, hdc2080_interrupt_mode_t mode)
set interrupt mode
struct hdc2080_info_s hdc2080_info_t
hdc2080 information structure definition
uint8_t hdc2080_set_humidity_offset_adjustment(hdc2080_handle_t *handle, int8_t offset)
set humidity offset adjustment
uint8_t hdc2080_set_heater(hdc2080_handle_t *handle, hdc2080_bool_t enable)
enable or disable heater
uint8_t hdc2080_humidity_convert_to_register(hdc2080_handle_t *handle, float percent, uint8_t *reg)
convert the humidity to the register raw data
uint8_t hdc2080_info(hdc2080_info_t *info)
get chip's information
uint8_t hdc2080_get_temperature_max(hdc2080_handle_t *handle, uint8_t *max)
get temperature max
uint8_t hdc2080_set_interrupt(hdc2080_handle_t *handle, hdc2080_interrupt_t interrupt, hdc2080_bool_t enable)
enable or disable interrupt
uint8_t hdc2080_set_temperature_max(hdc2080_handle_t *handle, uint8_t max)
set temperature max
uint8_t hdc2080_get_humidity_resolution(hdc2080_handle_t *handle, hdc2080_resolution_t *resolution)
get humidity resolution
uint8_t hdc2080_temperature_convert_to_register(hdc2080_handle_t *handle, float deg, uint8_t *reg)
convert the temperature to the register raw data
uint8_t hdc2080_get_interrupt_status(hdc2080_handle_t *handle, uint8_t *status)
get interrupt status
uint8_t hdc2080_set_temperature_high_threshold(hdc2080_handle_t *handle, uint8_t threshold)
set temperature high threshold
uint8_t hdc2080_get_humidity_high_threshold(hdc2080_handle_t *handle, uint8_t *threshold)
get humidity high threshold
uint8_t hdc2080_humidity_offset_convert_to_data(hdc2080_handle_t *handle, int8_t reg, float *percent)
convert the register raw data to the humidity offset
uint8_t hdc2080_get_temperature_resolution(hdc2080_handle_t *handle, hdc2080_resolution_t *resolution)
get temperature resolution
uint8_t hdc2080_get_interrupt(hdc2080_handle_t *handle, hdc2080_interrupt_t interrupt, hdc2080_bool_t *enable)
get interrupt status
hdc2080_address_t
hdc2080 address enumeration definition
@ HDC2080_BOOL_TRUE
@ HDC2080_BOOL_FALSE
@ HDC2080_RESOLUTION_9_BIT
@ HDC2080_RESOLUTION_11_BIT
@ HDC2080_RESOLUTION_14_BIT
@ HDC2080_AUTO_MEASUREMENT_MODE_1_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_120_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_60_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_5_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_2_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_5_HZ
@ HDC2080_AUTO_MEASUREMENT_MODE_DISABLED
@ HDC2080_AUTO_MEASUREMENT_MODE_1_DIV_10_HZ
@ HDC2080_INTERRUPT_POLARITY_LOW
@ HDC2080_INTERRUPT_POLARITY_HIGH
@ HDC2080_INTERRUPT_MODE_LEVEL
@ HDC2080_INTERRUPT_MODE_COMPARATOR
@ HDC2080_INTERRUPT_DRDY
@ HDC2080_INTERRUPT_HUMIDITY_HIGH_THRESHOLD
@ HDC2080_INTERRUPT_HUMIDITY_LOW_THRESHOLD
@ HDC2080_INTERRUPT_TEMPERATURE_LOW_THRESHOLD
@ HDC2080_INTERRUPT_TEMPERATURE_HIGH_THRESHOLD
@ HDC2080_MODE_TEMPERATURE
@ HDC2080_MODE_HUMIDITY_TEMPERATURE
@ HDC2080_ADDRESS_0
@ HDC2080_ADDRESS_1
uint8_t hdc2080_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void hdc2080_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t hdc2080_interface_iic_init(void)
interface iic bus init
uint8_t hdc2080_interface_iic_deinit(void)
interface iic bus deinit
uint8_t hdc2080_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void hdc2080_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t hdc2080_register_test(hdc2080_address_t addr_pin)
register test
uint32_t driver_version
char manufacturer_name[32]