LibDriver RX8025T
Loading...
Searching...
No Matches
driver_rx8025t_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static rx8025t_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint8_t data;
53 uint8_t data_check;
54 uint16_t counter;
55 uint16_t counter_check;
56 rx8025t_info_t info;
57 rx8025t_time_t time_in;
58 rx8025t_time_t time_out;
59 rx8025t_bool_t enable;
60 rx8025t_alarm_t alarm;
65
66 /* link functions */
75
76 /* get rx8025t info */
77 res = rx8025t_info(&info);
78 if (res != 0)
79 {
80 rx8025t_interface_debug_print("rx8025t: get info failed.\n");
81
82 return 1;
83 }
84 else
85 {
86 /* print rx8025t info */
87 rx8025t_interface_debug_print("rx8025t: chip is %s.\n", info.chip_name);
88 rx8025t_interface_debug_print("rx8025t: manufacturer is %s.\n", info.manufacturer_name);
89 rx8025t_interface_debug_print("rx8025t: interface is %s.\n", info.interface);
90 rx8025t_interface_debug_print("rx8025t: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
91 rx8025t_interface_debug_print("rx8025t: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
92 rx8025t_interface_debug_print("rx8025t: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
93 rx8025t_interface_debug_print("rx8025t: max current is %0.2fmA.\n", info.max_current_ma);
94 rx8025t_interface_debug_print("rx8025t: max temperature is %0.1fC.\n", info.temperature_max);
95 rx8025t_interface_debug_print("rx8025t: min temperature is %0.1fC.\n", info.temperature_min);
96 }
97
98 /* start register test */
99 rx8025t_interface_debug_print("rx8025t: start register test.\n");
100
101 /* init rx8025t */
102 res = rx8025t_init(&gs_handle);
103 if (res != 0)
104 {
105 rx8025t_interface_debug_print("rx8025t: init failed.\n");
106
107 return 1;
108 }
109
110 /* rx8025t_start/rx8025t_stop test */
111 rx8025t_interface_debug_print("rx8025t: rx8025t_start/rx8025t_stop test.\n");
112
113 /* stop */
114 res = rx8025t_stop(&gs_handle);
115 if (res != 0)
116 {
117 rx8025t_interface_debug_print("rx8025t: stop failed.\n");
118 (void)rx8025t_deinit(&gs_handle);
119
120 return 1;
121 }
122 rx8025t_interface_debug_print("rx8025t: stop.\n");
123
124 /* output */
125 rx8025t_interface_debug_print("rx8025t: check stop %s.\n", (res == 0) ? "ok" : "error");
126
127 /* start */
128 res = rx8025t_start(&gs_handle);
129 if (res != 0)
130 {
131 rx8025t_interface_debug_print("rx8025t: start failed.\n");
132 (void)rx8025t_deinit(&gs_handle);
133
134 return 1;
135 }
136 rx8025t_interface_debug_print("rx8025t: start.\n");
137
138 /* output */
139 rx8025t_interface_debug_print("rx8025t: check start %s.\n", (res == 0) ? "ok" : "error");
140
141 /* rx8025t_set_time/rx8025t_get_time test */
142 rx8025t_interface_debug_print("rx8025t: rx8025t_set_time/rx8025t_get_time test.\n");
143
144 time_in.year = rand() % 100 + 2000;
145 time_in.month = rand() % 12 + 1;
146 time_in.date = rand() % 20 + 1;
147 time_in.week = rand() % 7 + 1;
148 time_in.hour = rand() % 24;
149 time_in.minute = rand() % 60;
150 time_in.second = rand() % 60;
151 res = rx8025t_set_time(&gs_handle, &time_in);
152 if (res != 0)
153 {
154 rx8025t_interface_debug_print("rx8025t: set time failed.\n");
155 (void)rx8025t_deinit(&gs_handle);
156
157 return 1;
158 }
159 rx8025t_interface_debug_print("rx8025t: set time %04d-%02d-%02d %02d:%02d:%02d %d.\n",
160 time_in.year, time_in.month, time_in.date,
161 time_in.hour, time_in.minute, time_in.second, time_in.week
162 );
163 res = rx8025t_get_time(&gs_handle, &time_out);
164 if (res != 0)
165 {
166 rx8025t_interface_debug_print("rx8025t: get time failed.\n");
167 (void)rx8025t_deinit(&gs_handle);
168
169 return 1;
170 }
171 rx8025t_interface_debug_print("rx8025t: check time %s.\n", (memcmp((uint8_t *)&time_in, (uint8_t *)&time_out, sizeof(rx8025t_time_t)) == 0) ? "ok" : "error");
172
173 /* rx8025t_set_temperature_compensation_interval/rx8025t_get_temperature_compensation_interval test */
174 rx8025t_interface_debug_print("rx8025t: rx8025t_set_temperature_compensation_interval/rx8025t_get_temperature_compensation_interval test.\n");
175
176 /* set temperature compensation interval 0.5s */
178 if (res != 0)
179 {
180 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval failed.\n");
181 (void)rx8025t_deinit(&gs_handle);
182
183 return 1;
184 }
185 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval 0.5s.\n");
186 res = rx8025t_get_temperature_compensation_interval(&gs_handle, &interval);
187 if (res != 0)
188 {
189 rx8025t_interface_debug_print("rx8025t: get temperature compensation interval failed.\n");
190 (void)rx8025t_deinit(&gs_handle);
191
192 return 1;
193 }
194 rx8025t_interface_debug_print("rx8025t: check temperature compensation interval %s.\n",
195 (interval == RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_0P5_SECOND) ? "ok" : "error");
196
197 /* set temperature compensation interval 2.0s */
199 if (res != 0)
200 {
201 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval failed.\n");
202 (void)rx8025t_deinit(&gs_handle);
203
204 return 1;
205 }
206 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval 2.0s.\n");
207 res = rx8025t_get_temperature_compensation_interval(&gs_handle, &interval);
208 if (res != 0)
209 {
210 rx8025t_interface_debug_print("rx8025t: get temperature compensation interval failed.\n");
211 (void)rx8025t_deinit(&gs_handle);
212
213 return 1;
214 }
215 rx8025t_interface_debug_print("rx8025t: check temperature compensation interval %s.\n",
216 (interval == RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_2P0_SECOND) ? "ok" : "error");
217
218 /* set temperature compensation interval 10s */
220 if (res != 0)
221 {
222 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval failed.\n");
223 (void)rx8025t_deinit(&gs_handle);
224
225 return 1;
226 }
227 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval 10s.\n");
228 res = rx8025t_get_temperature_compensation_interval(&gs_handle, &interval);
229 if (res != 0)
230 {
231 rx8025t_interface_debug_print("rx8025t: get temperature compensation interval failed.\n");
232 (void)rx8025t_deinit(&gs_handle);
233
234 return 1;
235 }
236 rx8025t_interface_debug_print("rx8025t: check temperature compensation interval %s.\n",
237 (interval == RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_10_SECOND) ? "ok" : "error");
238
239 /* set temperature compensation interval 30s */
241 if (res != 0)
242 {
243 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval failed.\n");
244 (void)rx8025t_deinit(&gs_handle);
245
246 return 1;
247 }
248 rx8025t_interface_debug_print("rx8025t: set temperature compensation interval 30s.\n");
249 res = rx8025t_get_temperature_compensation_interval(&gs_handle, &interval);
250 if (res != 0)
251 {
252 rx8025t_interface_debug_print("rx8025t: get temperature compensation interval failed.\n");
253 (void)rx8025t_deinit(&gs_handle);
254
255 return 1;
256 }
257 rx8025t_interface_debug_print("rx8025t: check temperature compensation interval %s.\n",
258 (interval == RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_30_SECOND) ? "ok" : "error");
259
260 /* rx8025t_set_update_interrupt/rx8025t_get_update_interrupt test */
261 rx8025t_interface_debug_print("rx8025t: rx8025t_set_update_interrupt/rx8025t_get_update_interrupt test.\n");
262
263 /* enable update interrupt */
265 if (res != 0)
266 {
267 rx8025t_interface_debug_print("rx8025t: set update interrupt failed.\n");
268 (void)rx8025t_deinit(&gs_handle);
269
270 return 1;
271 }
272 rx8025t_interface_debug_print("rx8025t: enable update interrupt.\n");
273 res = rx8025t_get_update_interrupt(&gs_handle, &enable);
274 if (res != 0)
275 {
276 rx8025t_interface_debug_print("rx8025t: get update interrupt failed.\n");
277 (void)rx8025t_deinit(&gs_handle);
278
279 return 1;
280 }
281 rx8025t_interface_debug_print("rx8025t: check update interrupt %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
282
283 /* disable update interrupt */
285 if (res != 0)
286 {
287 rx8025t_interface_debug_print("rx8025t: set update interrupt failed.\n");
288 (void)rx8025t_deinit(&gs_handle);
289
290 return 1;
291 }
292 rx8025t_interface_debug_print("rx8025t: disable update interrupt.\n");
293 res = rx8025t_get_update_interrupt(&gs_handle, &enable);
294 if (res != 0)
295 {
296 rx8025t_interface_debug_print("rx8025t: get update interrupt failed.\n");
297 (void)rx8025t_deinit(&gs_handle);
298
299 return 1;
300 }
301 rx8025t_interface_debug_print("rx8025t: check update interrupt %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
302
303 /* rx8025t_set_timer_interrupt/rx8025t_get_timer_interrupt test */
304 rx8025t_interface_debug_print("rx8025t: rx8025t_set_timer_interrupt/rx8025t_get_timer_interrupt test.\n");
305
306 /* enable timer interrupt */
308 if (res != 0)
309 {
310 rx8025t_interface_debug_print("rx8025t: set timer interrupt failed.\n");
311 (void)rx8025t_deinit(&gs_handle);
312
313 return 1;
314 }
315 rx8025t_interface_debug_print("rx8025t: enable timer interrupt.\n");
316 res = rx8025t_get_timer_interrupt(&gs_handle, &enable);
317 if (res != 0)
318 {
319 rx8025t_interface_debug_print("rx8025t: get timer interrupt failed.\n");
320 (void)rx8025t_deinit(&gs_handle);
321
322 return 1;
323 }
324 rx8025t_interface_debug_print("rx8025t: check timer interrupt %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
325
326 /* disable timer interrupt */
328 if (res != 0)
329 {
330 rx8025t_interface_debug_print("rx8025t: set timer interrupt failed.\n");
331 (void)rx8025t_deinit(&gs_handle);
332
333 return 1;
334 }
335 rx8025t_interface_debug_print("rx8025t: disable timer interrupt.\n");
336 res = rx8025t_get_timer_interrupt(&gs_handle, &enable);
337 if (res != 0)
338 {
339 rx8025t_interface_debug_print("rx8025t: get timer interrupt failed.\n");
340 (void)rx8025t_deinit(&gs_handle);
341
342 return 1;
343 }
344 rx8025t_interface_debug_print("rx8025t: check timer interrupt %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
345
346 /* rx8025t_set_alarm_interrupt/rx8025t_get_alarm_interrupt test */
347 rx8025t_interface_debug_print("rx8025t: rx8025t_set_alarm_interrupt/rx8025t_get_alarm_interrupt test.\n");
348
349 /* enable alarm interrupt */
351 if (res != 0)
352 {
353 rx8025t_interface_debug_print("rx8025t: set alarm interrupt failed.\n");
354 (void)rx8025t_deinit(&gs_handle);
355
356 return 1;
357 }
358 rx8025t_interface_debug_print("rx8025t: enable alarm interrupt.\n");
359 res = rx8025t_get_alarm_interrupt(&gs_handle, &enable);
360 if (res != 0)
361 {
362 rx8025t_interface_debug_print("rx8025t: get alarm interrupt failed.\n");
363 (void)rx8025t_deinit(&gs_handle);
364
365 return 1;
366 }
367 rx8025t_interface_debug_print("rx8025t: check alarm interrupt %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
368
369 /* disable alarm interrupt */
371 if (res != 0)
372 {
373 rx8025t_interface_debug_print("rx8025t: set alarm interrupt failed.\n");
374 (void)rx8025t_deinit(&gs_handle);
375
376 return 1;
377 }
378 rx8025t_interface_debug_print("rx8025t: disable alarm interrupt.\n");
379 res = rx8025t_get_alarm_interrupt(&gs_handle, &enable);
380 if (res != 0)
381 {
382 rx8025t_interface_debug_print("rx8025t: get alarm interrupt failed.\n");
383 (void)rx8025t_deinit(&gs_handle);
384
385 return 1;
386 }
387 rx8025t_interface_debug_print("rx8025t: check alarm interrupt %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
388
389 /* rx8025t_set_test/rx8025t_get_test test */
390 rx8025t_interface_debug_print("rx8025t: rx8025t_set_test/rx8025t_get_test test.\n");
391
392 /* enable test */
393 res = rx8025t_set_test(&gs_handle, RX8025T_BOOL_TRUE);
394 if (res != 0)
395 {
396 rx8025t_interface_debug_print("rx8025t: set test failed.\n");
397 (void)rx8025t_deinit(&gs_handle);
398
399 return 1;
400 }
401 rx8025t_interface_debug_print("rx8025t: enable test.\n");
402 res = rx8025t_get_test(&gs_handle, &enable);
403 if (res != 0)
404 {
405 rx8025t_interface_debug_print("rx8025t: get test failed.\n");
406 (void)rx8025t_deinit(&gs_handle);
407
408 return 1;
409 }
410 rx8025t_interface_debug_print("rx8025t: check test %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
411
412 /* disable test */
413 res = rx8025t_set_test(&gs_handle, RX8025T_BOOL_FALSE);
414 if (res != 0)
415 {
416 rx8025t_interface_debug_print("rx8025t: set test failed.\n");
417 (void)rx8025t_deinit(&gs_handle);
418
419 return 1;
420 }
421 rx8025t_interface_debug_print("rx8025t: disable test.\n");
422 res = rx8025t_get_test(&gs_handle, &enable);
423 if (res != 0)
424 {
425 rx8025t_interface_debug_print("rx8025t: get test failed.\n");
426 (void)rx8025t_deinit(&gs_handle);
427
428 return 1;
429 }
430 rx8025t_interface_debug_print("rx8025t: check test %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
431
432 /* rx8025t_set_test/rx8025t_get_test test */
433 rx8025t_interface_debug_print("rx8025t: rx8025t_set_test/rx8025t_get_test test.\n");
434
435 /* set alarm week */
437 if (res != 0)
438 {
439 rx8025t_interface_debug_print("rx8025t: set alarm day week failed.\n");
440 (void)rx8025t_deinit(&gs_handle);
441
442 return 1;
443 }
444 rx8025t_interface_debug_print("rx8025t: set alarm week.\n");
445 res = rx8025t_get_alarm_day_week(&gs_handle, &alarm);
446 if (res != 0)
447 {
448 rx8025t_interface_debug_print("rx8025t: get alarm day week failed.\n");
449 (void)rx8025t_deinit(&gs_handle);
450
451 return 1;
452 }
453 rx8025t_interface_debug_print("rx8025t: check alarm day week %s.\n", (alarm == RX8025T_ALARM_WEEK) ? "ok" : "error");
454
455 /* set alarm day */
457 if (res != 0)
458 {
459 rx8025t_interface_debug_print("rx8025t: set alarm day week failed.\n");
460 (void)rx8025t_deinit(&gs_handle);
461
462 return 1;
463 }
464 rx8025t_interface_debug_print("rx8025t: set alarm day.\n");
465 res = rx8025t_get_alarm_day_week(&gs_handle, &alarm);
466 if (res != 0)
467 {
468 rx8025t_interface_debug_print("rx8025t: get alarm day week failed.\n");
469 (void)rx8025t_deinit(&gs_handle);
470
471 return 1;
472 }
473 rx8025t_interface_debug_print("rx8025t: check alarm day week %s.\n", (alarm == RX8025T_ALARM_DAY) ? "ok" : "error");
474
475 /* rx8025t_set_update_select/rx8025t_get_update_select test */
476 rx8025t_interface_debug_print("rx8025t: rx8025t_set_update_select/rx8025t_get_update_select test.\n");
477
478 /* set update select second */
480 if (res != 0)
481 {
482 rx8025t_interface_debug_print("rx8025t: set update select failed.\n");
483 (void)rx8025t_deinit(&gs_handle);
484
485 return 1;
486 }
487 rx8025t_interface_debug_print("rx8025t: set update select second.\n");
488 res = rx8025t_get_update_select(&gs_handle, &select);
489 if (res != 0)
490 {
491 rx8025t_interface_debug_print("rx8025t: get update select failed.\n");
492 (void)rx8025t_deinit(&gs_handle);
493
494 return 1;
495 }
496 rx8025t_interface_debug_print("rx8025t: check update select %s.\n", (select == RX8025T_UPDATE_SELECT_SECOND) ? "ok" : "error");
497
498 /* set update select minute */
500 if (res != 0)
501 {
502 rx8025t_interface_debug_print("rx8025t: set update select failed.\n");
503 (void)rx8025t_deinit(&gs_handle);
504
505 return 1;
506 }
507 rx8025t_interface_debug_print("rx8025t: set update select minute.\n");
508 res = rx8025t_get_update_select(&gs_handle, &select);
509 if (res != 0)
510 {
511 rx8025t_interface_debug_print("rx8025t: get update select failed.\n");
512 (void)rx8025t_deinit(&gs_handle);
513
514 return 1;
515 }
516 rx8025t_interface_debug_print("rx8025t: check update select %s.\n", (select == RX8025T_UPDATE_SELECT_MINUTE) ? "ok" : "error");
517
518 /* rx8025t_set_timer/rx8025t_get_timer test */
519 rx8025t_interface_debug_print("rx8025t: rx8025t_set_timer/rx8025t_get_timer test.\n");
520
521 /* enable timer */
522 res = rx8025t_set_timer(&gs_handle, RX8025T_BOOL_TRUE);
523 if (res != 0)
524 {
525 rx8025t_interface_debug_print("rx8025t: set timer failed.\n");
526 (void)rx8025t_deinit(&gs_handle);
527
528 return 1;
529 }
530 rx8025t_interface_debug_print("rx8025t: enable timer.\n");
531 res = rx8025t_get_timer(&gs_handle, &enable);
532 if (res != 0)
533 {
534 rx8025t_interface_debug_print("rx8025t: get timer failed.\n");
535 (void)rx8025t_deinit(&gs_handle);
536
537 return 1;
538 }
539 rx8025t_interface_debug_print("rx8025t: check timer %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
540
541 /* disable timer */
542 res = rx8025t_set_timer(&gs_handle, RX8025T_BOOL_FALSE);
543 if (res != 0)
544 {
545 rx8025t_interface_debug_print("rx8025t: set timer failed.\n");
546 (void)rx8025t_deinit(&gs_handle);
547
548 return 1;
549 }
550 rx8025t_interface_debug_print("rx8025t: disable timer.\n");
551 res = rx8025t_get_timer(&gs_handle, &enable);
552 if (res != 0)
553 {
554 rx8025t_interface_debug_print("rx8025t: get timer failed.\n");
555 (void)rx8025t_deinit(&gs_handle);
556
557 return 1;
558 }
559 rx8025t_interface_debug_print("rx8025t: check timer %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
560
561 /* rx8025t_set_square_wave_frequency/rx8025t_get_square_wave_frequency test */
562 rx8025t_interface_debug_print("rx8025t: rx8025t_set_square_wave_frequency/rx8025t_get_square_wave_frequency test.\n");
563
564 /* set square wave frequency 1hz */
566 if (res != 0)
567 {
568 rx8025t_interface_debug_print("rx8025t: set square wave frequency failed.\n");
569 (void)rx8025t_deinit(&gs_handle);
570
571 return 1;
572 }
573 rx8025t_interface_debug_print("rx8025t: set square wave frequency 1hz.\n");
574 res = rx8025t_get_square_wave_frequency(&gs_handle, &freq);
575 if (res != 0)
576 {
577 rx8025t_interface_debug_print("rx8025t: get square wave frequency failed.\n");
578 (void)rx8025t_deinit(&gs_handle);
579
580 return 1;
581 }
582 rx8025t_interface_debug_print("rx8025t: check square wave frequency %s.\n", (freq == RX8025T_SQUARE_WAVE_FREQUENCY_1_HZ) ? "ok" : "error");
583
584 /* set square wave frequency 1024hz */
586 if (res != 0)
587 {
588 rx8025t_interface_debug_print("rx8025t: set square wave frequency failed.\n");
589 (void)rx8025t_deinit(&gs_handle);
590
591 return 1;
592 }
593 rx8025t_interface_debug_print("rx8025t: set square wave frequency 1024hz.\n");
594 res = rx8025t_get_square_wave_frequency(&gs_handle, &freq);
595 if (res != 0)
596 {
597 rx8025t_interface_debug_print("rx8025t: get square wave frequency failed.\n");
598 (void)rx8025t_deinit(&gs_handle);
599
600 return 1;
601 }
602 rx8025t_interface_debug_print("rx8025t: check square wave frequency %s.\n", (freq == RX8025T_SQUARE_WAVE_FREQUENCY_1024_HZ) ? "ok" : "error");
603
604 /* set square wave frequency 32768Hz */
606 if (res != 0)
607 {
608 rx8025t_interface_debug_print("rx8025t: set square wave frequency failed.\n");
609 (void)rx8025t_deinit(&gs_handle);
610
611 return 1;
612 }
613 rx8025t_interface_debug_print("rx8025t: set square wave frequency 32768Hz.\n");
614 res = rx8025t_get_square_wave_frequency(&gs_handle, &freq);
615 if (res != 0)
616 {
617 rx8025t_interface_debug_print("rx8025t: get square wave frequency failed.\n");
618 (void)rx8025t_deinit(&gs_handle);
619
620 return 1;
621 }
622 rx8025t_interface_debug_print("rx8025t: check square wave frequency %s.\n", (freq == RX8025T_SQUARE_WAVE_FREQUENCY_32768_HZ) ? "ok" : "error");
623
624 /* rx8025t_set_timer_clock/rx8025t_get_timer_clock test */
625 rx8025t_interface_debug_print("rx8025t: rx8025t_set_timer_clock/rx8025t_get_timer_clock test.\n");
626
627 /* set timer clock 4096hz */
629 if (res != 0)
630 {
631 rx8025t_interface_debug_print("rx8025t: set timer clock failed.\n");
632 (void)rx8025t_deinit(&gs_handle);
633
634 return 1;
635 }
636 rx8025t_interface_debug_print("rx8025t: set timer clock 4096hz.\n");
637 res = rx8025t_get_timer_clock(&gs_handle, &clk);
638 if (res != 0)
639 {
640 rx8025t_interface_debug_print("rx8025t: get timer clock failed.\n");
641 (void)rx8025t_deinit(&gs_handle);
642
643 return 1;
644 }
645 rx8025t_interface_debug_print("rx8025t: check timer clock %s.\n", (clk == RX8025T_TIMER_CLOCK_4096_HZ) ? "ok" : "error");
646
647 /* set timer clock 64hz */
649 if (res != 0)
650 {
651 rx8025t_interface_debug_print("rx8025t: set timer clock failed.\n");
652 (void)rx8025t_deinit(&gs_handle);
653
654 return 1;
655 }
656 rx8025t_interface_debug_print("rx8025t: set timer clock 64hz.\n");
657 res = rx8025t_get_timer_clock(&gs_handle, &clk);
658 if (res != 0)
659 {
660 rx8025t_interface_debug_print("rx8025t: get timer clock failed.\n");
661 (void)rx8025t_deinit(&gs_handle);
662
663 return 1;
664 }
665 rx8025t_interface_debug_print("rx8025t: check timer clock %s.\n", (clk == RX8025T_TIMER_CLOCK_64_HZ) ? "ok" : "error");
666
667 /* set timer clock 1hz */
669 if (res != 0)
670 {
671 rx8025t_interface_debug_print("rx8025t: set timer clock failed.\n");
672 (void)rx8025t_deinit(&gs_handle);
673
674 return 1;
675 }
676 rx8025t_interface_debug_print("rx8025t: set timer clock 1hz.\n");
677 res = rx8025t_get_timer_clock(&gs_handle, &clk);
678 if (res != 0)
679 {
680 rx8025t_interface_debug_print("rx8025t: get timer clock failed.\n");
681 (void)rx8025t_deinit(&gs_handle);
682
683 return 1;
684 }
685 rx8025t_interface_debug_print("rx8025t: check timer clock %s.\n", (clk == RX8025T_TIMER_CLOCK_1_HZ) ? "ok" : "error");
686
687 /* set timer clock 1 minute */
689 if (res != 0)
690 {
691 rx8025t_interface_debug_print("rx8025t: set timer clock failed.\n");
692 (void)rx8025t_deinit(&gs_handle);
693
694 return 1;
695 }
696 rx8025t_interface_debug_print("rx8025t: set timer clock 1 minute.\n");
697 res = rx8025t_get_timer_clock(&gs_handle, &clk);
698 if (res != 0)
699 {
700 rx8025t_interface_debug_print("rx8025t: get timer clock failed.\n");
701 (void)rx8025t_deinit(&gs_handle);
702
703 return 1;
704 }
705 rx8025t_interface_debug_print("rx8025t: check timer clock %s.\n", (clk == RX8025T_TIMER_CLOCK_MINUTE) ? "ok" : "error");
706
707 /* rx8025t_set_timer_counter/rx8025t_get_timer_counter test */
708 rx8025t_interface_debug_print("rx8025t: rx8025t_set_timer_counter/rx8025t_get_timer_counter test.\n");
709
710 counter = rand() % 0x0FFFU;
711 res = rx8025t_set_timer_counter(&gs_handle, counter);
712 if (res != 0)
713 {
714 rx8025t_interface_debug_print("rx8025t: set timer counter failed.\n");
715 (void)rx8025t_deinit(&gs_handle);
716
717 return 1;
718 }
719 rx8025t_interface_debug_print("rx8025t: set timer counter %d.\n", counter);
720 res = rx8025t_get_timer_counter(&gs_handle, &counter_check);
721 if (res != 0)
722 {
723 rx8025t_interface_debug_print("rx8025t: get timer counter failed.\n");
724 (void)rx8025t_deinit(&gs_handle);
725
726 return 1;
727 }
728 rx8025t_interface_debug_print("rx8025t: check timer counter %s.\n", (counter == counter_check) ? "ok" : "error");
729
730 /* rx8025t_set_ram/rx8025t_get_ram test */
731 rx8025t_interface_debug_print("rx8025t: rx8025t_set_ram/rx8025t_get_ram test.\n");
732
733 data = rand() % 0xFFU;
734 res = rx8025t_set_ram(&gs_handle, data);
735 if (res != 0)
736 {
737 rx8025t_interface_debug_print("rx8025t: set ram failed.\n");
738 (void)rx8025t_deinit(&gs_handle);
739
740 return 1;
741 }
742 rx8025t_interface_debug_print("rx8025t: set ram %d.\n", data);
743 res = rx8025t_get_ram(&gs_handle, &data_check);
744 if (res != 0)
745 {
746 rx8025t_interface_debug_print("rx8025t: get ram failed.\n");
747 (void)rx8025t_deinit(&gs_handle);
748
749 return 1;
750 }
751 rx8025t_interface_debug_print("rx8025t: check ram %s.\n", (data == data_check) ? "ok" : "error");
752
753 /* rx8025t_set_minute_alarm/rx8025t_get_minute_alarm test */
754 rx8025t_interface_debug_print("rx8025t: rx8025t_set_minute_alarm/rx8025t_get_minute_alarm test.\n");
755
756 data = rand() % 60;
757 res = rx8025t_set_minute_alarm(&gs_handle, data);
758 if (res != 0)
759 {
760 rx8025t_interface_debug_print("rx8025t: set minute alarm failed.\n");
761 (void)rx8025t_deinit(&gs_handle);
762
763 return 1;
764 }
765 rx8025t_interface_debug_print("rx8025t: set minute alarm %d.\n", data);
766 res = rx8025t_get_minute_alarm(&gs_handle, &data_check);
767 if (res != 0)
768 {
769 rx8025t_interface_debug_print("rx8025t: get minute alarm failed.\n");
770 (void)rx8025t_deinit(&gs_handle);
771
772 return 1;
773 }
774 rx8025t_interface_debug_print("rx8025t: check minute alarm %s.\n", (data == data_check) ? "ok" : "error");
775
776 /* rx8025t_set_hour_alarm/rx8025t_get_hour_alarm test */
777 rx8025t_interface_debug_print("rx8025t: rx8025t_set_hour_alarm/rx8025t_get_hour_alarm test.\n");
778
779 data = rand() % 24;
780 res = rx8025t_set_hour_alarm(&gs_handle, data);
781 if (res != 0)
782 {
783 rx8025t_interface_debug_print("rx8025t: set hour alarm failed.\n");
784 (void)rx8025t_deinit(&gs_handle);
785
786 return 1;
787 }
788 rx8025t_interface_debug_print("rx8025t: set hour alarm %d.\n", data);
789 res = rx8025t_get_hour_alarm(&gs_handle, &data_check);
790 if (res != 0)
791 {
792 rx8025t_interface_debug_print("rx8025t: get hour alarm failed.\n");
793 (void)rx8025t_deinit(&gs_handle);
794
795 return 1;
796 }
797 rx8025t_interface_debug_print("rx8025t: check hour alarm %s.\n", (data == data_check) ? "ok" : "error");
798
799 /* rx8025t_set_date_alarm/rx8025t_get_date_alarm test */
800 rx8025t_interface_debug_print("rx8025t: rx8025t_set_date_alarm/rx8025t_get_date_alarm test.\n");
801
802 data = rand() % 20 + 1;
803 res = rx8025t_set_date_alarm(&gs_handle, data);
804 if (res != 0)
805 {
806 rx8025t_interface_debug_print("rx8025t: set date alarm failed.\n");
807 (void)rx8025t_deinit(&gs_handle);
808
809 return 1;
810 }
811 rx8025t_interface_debug_print("rx8025t: set date alarm %d.\n", data);
812 res = rx8025t_get_date_alarm(&gs_handle, &data_check);
813 if (res != 0)
814 {
815 rx8025t_interface_debug_print("rx8025t: get date alarm failed.\n");
816 (void)rx8025t_deinit(&gs_handle);
817
818 return 1;
819 }
820 rx8025t_interface_debug_print("rx8025t: check date alarm %s.\n", (data == data_check) ? "ok" : "error");
821
822 /* rx8025t_set_week_alarm/rx8025t_get_week_alarm test */
823 rx8025t_interface_debug_print("rx8025t: rx8025t_set_week_alarm/rx8025t_get_week_alarm test.\n");
824
825 data = rand() % 7 + 1;
826 res = rx8025t_set_week_alarm(&gs_handle, data);
827 if (res != 0)
828 {
829 rx8025t_interface_debug_print("rx8025t: set week alarm failed.\n");
830 (void)rx8025t_deinit(&gs_handle);
831
832 return 1;
833 }
834 rx8025t_interface_debug_print("rx8025t: set week alarm %d.\n", data);
835 res = rx8025t_get_week_alarm(&gs_handle, &data_check);
836 if (res != 0)
837 {
838 rx8025t_interface_debug_print("rx8025t: get week alarm failed.\n");
839 (void)rx8025t_deinit(&gs_handle);
840
841 return 1;
842 }
843 rx8025t_interface_debug_print("rx8025t: check week alarm %s.\n", (data == data_check) ? "ok" : "error");
844
845 /* rx8025t_clear_flag test */
846 rx8025t_interface_debug_print("rx8025t: rx8025t_clear_flag test.\n");
847
848 /* clear flag */
849 res = rx8025t_clear_flag(&gs_handle);
850 if (res != 0)
851 {
852 rx8025t_interface_debug_print("rx8025t: clear flag failed.\n");
853 (void)rx8025t_deinit(&gs_handle);
854
855 return 1;
856 }
857 rx8025t_interface_debug_print("rx8025t: check clear flag %s.\n", (res == 0) ? "ok" : "error");
858
859 /* rx8025t_get_flag test */
860 rx8025t_interface_debug_print("rx8025t: rx8025t_get_flag test.\n");
861
862 /* get flag */
863 res = rx8025t_get_flag(&gs_handle, &data_check);
864 if (res != 0)
865 {
866 rx8025t_interface_debug_print("rx8025t: get flag failed.\n");
867 (void)rx8025t_deinit(&gs_handle);
868
869 return 1;
870 }
871 rx8025t_interface_debug_print("rx8025t: flag is 0x%02X.\n", data_check);
872
873 /* rx8025t_set_minute_alarm_mask/rx8025t_get_minute_alarm_mask test */
874 rx8025t_interface_debug_print("rx8025t: rx8025t_set_minute_alarm_mask/rx8025t_get_minute_alarm_mask test.\n");
875
876 /* enable minute alarm mask */
878 if (res != 0)
879 {
880 rx8025t_interface_debug_print("rx8025t: set minute alarm mask failed.\n");
881 (void)rx8025t_deinit(&gs_handle);
882
883 return 1;
884 }
885 rx8025t_interface_debug_print("rx8025t: enable minute alarm mask.\n");
886 res = rx8025t_get_minute_alarm_mask(&gs_handle, &enable);
887 if (res != 0)
888 {
889 rx8025t_interface_debug_print("rx8025t: get minute alarm mask failed.\n");
890 (void)rx8025t_deinit(&gs_handle);
891
892 return 1;
893 }
894 rx8025t_interface_debug_print("rx8025t: check minute alarm mask %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
895
896 /* disable minute alarm mask */
898 if (res != 0)
899 {
900 rx8025t_interface_debug_print("rx8025t: set minute alarm mask failed.\n");
901 (void)rx8025t_deinit(&gs_handle);
902
903 return 1;
904 }
905 rx8025t_interface_debug_print("rx8025t: disable minute alarm mask.\n");
906 res = rx8025t_get_minute_alarm_mask(&gs_handle, &enable);
907 if (res != 0)
908 {
909 rx8025t_interface_debug_print("rx8025t: get minute alarm mask failed.\n");
910 (void)rx8025t_deinit(&gs_handle);
911
912 return 1;
913 }
914 rx8025t_interface_debug_print("rx8025t: check minute alarm mask %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
915
916 /* rx8025t_set_hour_alarm_mask/rx8025t_get_hour_alarm_mask test */
917 rx8025t_interface_debug_print("rx8025t: rx8025t_set_hour_alarm_mask/rx8025t_get_hour_alarm_mask test.\n");
918
919 /* enable hour alarm mask */
921 if (res != 0)
922 {
923 rx8025t_interface_debug_print("rx8025t: set hour alarm mask failed.\n");
924 (void)rx8025t_deinit(&gs_handle);
925
926 return 1;
927 }
928 rx8025t_interface_debug_print("rx8025t: enable hour alarm mask.\n");
929 res = rx8025t_get_hour_alarm_mask(&gs_handle, &enable);
930 if (res != 0)
931 {
932 rx8025t_interface_debug_print("rx8025t: get hour alarm mask failed.\n");
933 (void)rx8025t_deinit(&gs_handle);
934
935 return 1;
936 }
937 rx8025t_interface_debug_print("rx8025t: check hour alarm mask %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
938
939 /* disable hour alarm mask */
941 if (res != 0)
942 {
943 rx8025t_interface_debug_print("rx8025t: set hour alarm mask failed.\n");
944 (void)rx8025t_deinit(&gs_handle);
945
946 return 1;
947 }
948 rx8025t_interface_debug_print("rx8025t: disable hour alarm mask.\n");
949 res = rx8025t_get_hour_alarm_mask(&gs_handle, &enable);
950 if (res != 0)
951 {
952 rx8025t_interface_debug_print("rx8025t: get hour alarm mask failed.\n");
953 (void)rx8025t_deinit(&gs_handle);
954
955 return 1;
956 }
957 rx8025t_interface_debug_print("rx8025t: check hour alarm mask %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
958
959 /* rx8025t_set_week_day_alarm_mask/rx8025t_get_week_day_alarm_mask test */
960 rx8025t_interface_debug_print("rx8025t: rx8025t_set_week_day_alarm_mask/rx8025t_get_week_day_alarm_mask test.\n");
961
962 /* enable week day alarm mask */
964 if (res != 0)
965 {
966 rx8025t_interface_debug_print("rx8025t: set week day alarm mask failed.\n");
967 (void)rx8025t_deinit(&gs_handle);
968
969 return 1;
970 }
971 rx8025t_interface_debug_print("rx8025t: enable week day alarm mask.\n");
972 res = rx8025t_get_week_day_alarm_mask(&gs_handle, &enable);
973 if (res != 0)
974 {
975 rx8025t_interface_debug_print("rx8025t: get week day alarm mask failed.\n");
976 (void)rx8025t_deinit(&gs_handle);
977
978 return 1;
979 }
980 rx8025t_interface_debug_print("rx8025t: check week day alarm mask %s.\n", (enable == RX8025T_BOOL_TRUE) ? "ok" : "error");
981
982 /* disable week day alarm mask */
984 if (res != 0)
985 {
986 rx8025t_interface_debug_print("rx8025t: set week day alarm mask failed.\n");
987 (void)rx8025t_deinit(&gs_handle);
988
989 return 1;
990 }
991 rx8025t_interface_debug_print("rx8025t: disable week day alarm mask.\n");
992 res = rx8025t_get_week_day_alarm_mask(&gs_handle, &enable);
993 if (res != 0)
994 {
995 rx8025t_interface_debug_print("rx8025t: get week day alarm mask failed.\n");
996 (void)rx8025t_deinit(&gs_handle);
997
998 return 1;
999 }
1000 rx8025t_interface_debug_print("rx8025t: check week day alarm mask %s.\n", (enable == RX8025T_BOOL_FALSE) ? "ok" : "error");
1001
1002 /* finish register test */
1003 rx8025t_interface_debug_print("rx8025t: finish register test.\n");
1004 (void)rx8025t_deinit(&gs_handle);
1005
1006 return 0;
1007}
driver rx8025t register test header file
uint8_t rx8025t_get_square_wave_frequency(rx8025t_handle_t *handle, rx8025t_square_wave_frequency_t *freq)
get square wave frequency
uint8_t rx8025t_set_time(rx8025t_handle_t *handle, rx8025t_time_t *t)
set the current time
uint8_t rx8025t_get_flag(rx8025t_handle_t *handle, uint8_t *flag)
get flag
uint8_t rx8025t_set_update_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable update interrupt
uint8_t rx8025t_set_timer_counter(rx8025t_handle_t *handle, uint16_t counter)
set timer counter
uint8_t rx8025t_stop(rx8025t_handle_t *handle)
stop
uint8_t rx8025t_info(rx8025t_info_t *info)
get chip's information
uint8_t rx8025t_get_temperature_compensation_interval(rx8025t_handle_t *handle, rx8025t_temperature_compensation_interval_t *interval)
get the temperature compensation interval
uint8_t rx8025t_set_minute_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable minute alarm mask
rx8025t_update_select_t
rx8025t update select enumeration definition
uint8_t rx8025t_get_update_select(rx8025t_handle_t *handle, rx8025t_update_select_t *select)
get update select
uint8_t rx8025t_get_minute_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get minute alarm mask status
uint8_t rx8025t_get_update_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get update interrupt status
uint8_t rx8025t_set_ram(rx8025t_handle_t *handle, uint8_t data)
set ram
uint8_t rx8025t_set_timer_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable timer interrupt
rx8025t_square_wave_frequency_t
rx8025t square wave frequency enumeration definition
uint8_t rx8025t_set_hour_alarm(rx8025t_handle_t *handle, uint8_t hour)
set hour alarm
uint8_t rx8025t_set_alarm_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable alarm interrupt
uint8_t rx8025t_start(rx8025t_handle_t *handle)
start
uint8_t rx8025t_init(rx8025t_handle_t *handle)
initialize the chip
uint8_t rx8025t_get_test(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get test status
uint8_t rx8025t_clear_flag(rx8025t_handle_t *handle)
clear flag
rx8025t_alarm_t
rx8025t alarm enumeration definition
uint8_t rx8025t_get_alarm_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get alarm interrupt status
uint8_t rx8025t_get_date_alarm(rx8025t_handle_t *handle, uint8_t *date)
get date alarm
uint8_t rx8025t_get_hour_alarm(rx8025t_handle_t *handle, uint8_t *hour)
get hour alarm
uint8_t rx8025t_set_update_select(rx8025t_handle_t *handle, rx8025t_update_select_t select)
set update select
uint8_t rx8025t_get_ram(rx8025t_handle_t *handle, uint8_t *data)
get ram
struct rx8025t_time_s rx8025t_time_t
rx8025t time structure definition
uint8_t rx8025t_get_timer_interrupt(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get timer interrupt status
uint8_t rx8025t_set_week_alarm(rx8025t_handle_t *handle, uint8_t week)
set week alarm
uint8_t rx8025t_get_timer(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get timer status
uint8_t rx8025t_get_timer_counter(rx8025t_handle_t *handle, uint16_t *counter)
get timer counter
uint8_t rx8025t_set_test(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable test
uint8_t rx8025t_get_alarm_day_week(rx8025t_handle_t *handle, rx8025t_alarm_t *alarm)
get alarm day week
uint8_t rx8025t_set_hour_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable hour alarm mask
rx8025t_timer_clock_t
rx8025t timer clock enumeration definition
uint8_t rx8025t_set_timer_clock(rx8025t_handle_t *handle, rx8025t_timer_clock_t clk)
set timer clock
uint8_t rx8025t_get_time(rx8025t_handle_t *handle, rx8025t_time_t *t)
get the current time
uint8_t rx8025t_get_week_alarm(rx8025t_handle_t *handle, uint8_t *week)
get week alarm
uint8_t rx8025t_get_hour_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get hour alarm mask status
uint8_t rx8025t_set_square_wave_frequency(rx8025t_handle_t *handle, rx8025t_square_wave_frequency_t freq)
set square wave frequency
uint8_t rx8025t_set_week_day_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable week day alarm mask
uint8_t rx8025t_set_temperature_compensation_interval(rx8025t_handle_t *handle, rx8025t_temperature_compensation_interval_t interval)
set the temperature compensation interval
uint8_t rx8025t_set_alarm_day_week(rx8025t_handle_t *handle, rx8025t_alarm_t alarm)
set alarm day week
uint8_t rx8025t_get_timer_clock(rx8025t_handle_t *handle, rx8025t_timer_clock_t *clk)
get timer clock
rx8025t_bool_t
rx8025t bool enumeration definition
uint8_t rx8025t_set_minute_alarm(rx8025t_handle_t *handle, uint8_t minute)
set minute alarm
uint8_t rx8025t_set_timer(rx8025t_handle_t *handle, rx8025t_bool_t enable)
enable or disable timer
rx8025t_temperature_compensation_interval_t
rx8025t temperature compensation interval enumeration definition
uint8_t rx8025t_get_minute_alarm(rx8025t_handle_t *handle, uint8_t *minute)
get minute alarm
uint8_t rx8025t_get_week_day_alarm_mask(rx8025t_handle_t *handle, rx8025t_bool_t *enable)
get week day alarm mask status
struct rx8025t_handle_s rx8025t_handle_t
rx8025t handle structure definition
uint8_t rx8025t_set_date_alarm(rx8025t_handle_t *handle, uint8_t date)
set date alarm
uint8_t rx8025t_deinit(rx8025t_handle_t *handle)
close the chip
struct rx8025t_info_s rx8025t_info_t
rx8025t information structure definition
@ RX8025T_UPDATE_SELECT_SECOND
@ RX8025T_UPDATE_SELECT_MINUTE
@ RX8025T_SQUARE_WAVE_FREQUENCY_32768_HZ
@ RX8025T_SQUARE_WAVE_FREQUENCY_1_HZ
@ RX8025T_SQUARE_WAVE_FREQUENCY_1024_HZ
@ RX8025T_ALARM_WEEK
@ RX8025T_ALARM_DAY
@ RX8025T_TIMER_CLOCK_64_HZ
@ RX8025T_TIMER_CLOCK_MINUTE
@ RX8025T_TIMER_CLOCK_4096_HZ
@ RX8025T_TIMER_CLOCK_1_HZ
@ RX8025T_BOOL_TRUE
@ RX8025T_BOOL_FALSE
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_10_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_0P5_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_30_SECOND
@ RX8025T_TEMPERATURE_COMPENSATION_INTERVAL_2P0_SECOND
uint8_t rx8025t_interface_iic_init(void)
interface iic bus init
uint8_t rx8025t_interface_iic_deinit(void)
interface iic bus deinit
uint8_t rx8025t_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void rx8025t_interface_debug_print(const char *const fmt,...)
interface print format data
void rx8025t_interface_receive_callback(uint8_t type)
interface receive callback
uint8_t rx8025t_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
void rx8025t_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t rx8025t_register_test(void)
register test
uint32_t driver_version
char manufacturer_name[32]