LibDriver TEA5767
Loading...
Searching...
No Matches
driver_tea5767_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static tea5767_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint8_t output;
53 uint16_t pll;
54 uint16_t pll_check;
55 float mhz;
56 float mhz_check;
57 tea5767_info_t info;
58 tea5767_bool_t enable;
59 tea5767_mode_t mode;
60 tea5767_search_mode_t search_mode;
63 tea5767_channel_t channel;
64 tea5767_level_t level;
65 tea5767_band_t band;
66 tea5767_de_emphasis_t emphasis;
68 tea5767_reception_t reception;
69
70 /* link functions */
78
79 /* tea5767 info */
80 res = tea5767_info(&info);
81 if (res != 0)
82 {
83 tea5767_interface_debug_print("tea5767: get info failed.\n");
84
85 return 1;
86 }
87 else
88 {
89 /* print chip information */
90 tea5767_interface_debug_print("tea5767: chip is %s.\n", info.chip_name);
91 tea5767_interface_debug_print("tea5767: manufacturer is %s.\n", info.manufacturer_name);
92 tea5767_interface_debug_print("tea5767: interface is %s.\n", info.interface);
93 tea5767_interface_debug_print("tea5767: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
94 tea5767_interface_debug_print("tea5767: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
95 tea5767_interface_debug_print("tea5767: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
96 tea5767_interface_debug_print("tea5767: max current is %0.2fmA.\n", info.max_current_ma);
97 tea5767_interface_debug_print("tea5767: max temperature is %0.1fC.\n", info.temperature_max);
98 tea5767_interface_debug_print("tea5767: min temperature is %0.1fC.\n", info.temperature_min);
99 }
100
101 /* start register test */
102 tea5767_interface_debug_print("tea5767: start register test.\n");
103
104 /* tea5767 init */
105 res = tea5767_init(&gs_handle);
106 if (res != 0)
107 {
108 tea5767_interface_debug_print("tea5767: init failed.\n");
109
110 return 1;
111 }
112
113 /* tea5767_set_mute/tea5767_get_mute test */
114 tea5767_interface_debug_print("tea5767: tea5767_set_mute/tea5767_get_mute test.\n");
115
116 /* set mute */
117 res = tea5767_set_mute(&gs_handle, TEA5767_BOOL_TRUE);
118 if (res != 0)
119 {
120 tea5767_interface_debug_print("tea5767: set mute failed.\n");
121 (void)tea5767_deinit(&gs_handle);
122
123 return 1;
124 }
125
126 /* enable mute */
127 tea5767_interface_debug_print("tea5767: enable mute.\n");
128
129 /* get mute */
130 res = tea5767_get_mute(&gs_handle, &enable);
131 if (res != 0)
132 {
133 tea5767_interface_debug_print("tea5767: get mute failed.\n");
134 (void)tea5767_deinit(&gs_handle);
135
136 return 1;
137 }
138 tea5767_interface_debug_print("tea5767: check mute %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
139
140 /* set mute */
141 res = tea5767_set_mute(&gs_handle, TEA5767_BOOL_FALSE);
142 if (res != 0)
143 {
144 tea5767_interface_debug_print("tea5767: set mute failed.\n");
145 (void)tea5767_deinit(&gs_handle);
146
147 return 1;
148 }
149
150 /* disable mute */
151 tea5767_interface_debug_print("tea5767: disable mute.\n");
152
153 /* get mute */
154 res = tea5767_get_mute(&gs_handle, &enable);
155 if (res != 0)
156 {
157 tea5767_interface_debug_print("tea5767: get mute failed.\n");
158 (void)tea5767_deinit(&gs_handle);
159
160 return 1;
161 }
162 tea5767_interface_debug_print("tea5767: check mute %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
163
164 /* tea5767_set_mode/tea5767_get_mode test */
165 tea5767_interface_debug_print("tea5767: tea5767_set_mode/tea5767_get_mode test.\n");
166
167 /* set mode */
168 res = tea5767_set_mode(&gs_handle, TEA5767_MODE_SEARCH);
169 if (res != 0)
170 {
171 tea5767_interface_debug_print("tea5767: set mode failed.\n");
172 (void)tea5767_deinit(&gs_handle);
173
174 return 1;
175 }
176
177 /* set search mode */
178 tea5767_interface_debug_print("tea5767: set search mode.\n");
179
180 /* get mode */
181 res = tea5767_get_mode(&gs_handle, &mode);
182 if (res != 0)
183 {
184 tea5767_interface_debug_print("tea5767: get mode failed.\n");
185 (void)tea5767_deinit(&gs_handle);
186
187 return 1;
188 }
189 tea5767_interface_debug_print("tea5767: check mode %s.\n", (mode == TEA5767_MODE_SEARCH) ? "ok" : "error");
190
191 /* set mode */
192 res = tea5767_set_mode(&gs_handle, TEA5767_MODE_NORMAL);
193 if (res != 0)
194 {
195 tea5767_interface_debug_print("tea5767: set mode failed.\n");
196 (void)tea5767_deinit(&gs_handle);
197
198 return 1;
199 }
200
201 /* set normal mode */
202 tea5767_interface_debug_print("tea5767: set normal mode.\n");
203
204 /* get mode */
205 res = tea5767_get_mode(&gs_handle, &mode);
206 if (res != 0)
207 {
208 tea5767_interface_debug_print("tea5767: get mode failed.\n");
209 (void)tea5767_deinit(&gs_handle);
210
211 return 1;
212 }
213 tea5767_interface_debug_print("tea5767: check mode %s.\n", (mode == TEA5767_MODE_NORMAL) ? "ok" : "error");
214
215 /* tea5767_set_pll/tea5767_get_pll test */
216 tea5767_interface_debug_print("tea5767: tea5767_set_pll/tea5767_get_pll test.\n");
217
218 /* set pll */
219 pll = rand() % 0x3FF;
220 res = tea5767_set_pll(&gs_handle, pll);
221 if (res != 0)
222 {
223 tea5767_interface_debug_print("tea5767: set pll failed.\n");
224 (void)tea5767_deinit(&gs_handle);
225
226 return 1;
227 }
228
229 /* output */
230 tea5767_interface_debug_print("tea5767: set pll 0x%04X.\n", pll);
231
232 /* get pll */
233 res = tea5767_get_pll(&gs_handle, &pll_check);
234 if (res != 0)
235 {
236 tea5767_interface_debug_print("tea5767: get pll failed.\n");
237 (void)tea5767_deinit(&gs_handle);
238
239 return 1;
240 }
241 tea5767_interface_debug_print("tea5767: check pll %s.\n", (pll == pll_check) ? "ok" : "error");
242
243 /* tea5767_set_search_mode/tea5767_get_search_mode test */
244 tea5767_interface_debug_print("tea5767: tea5767_set_search_mode/tea5767_get_search_mode test.\n");
245
246 /* set search mode */
248 if (res != 0)
249 {
250 tea5767_interface_debug_print("tea5767: set search mode failed.\n");
251 (void)tea5767_deinit(&gs_handle);
252
253 return 1;
254 }
255
256 /* set search mode down */
257 tea5767_interface_debug_print("tea5767: set search mode down.\n");
258
259 /* get search mode */
260 res = tea5767_get_search_mode(&gs_handle, &search_mode);
261 if (res != 0)
262 {
263 tea5767_interface_debug_print("tea5767: get search mode failed.\n");
264 (void)tea5767_deinit(&gs_handle);
265
266 return 1;
267 }
268 tea5767_interface_debug_print("tea5767: check search mode %s.\n", (search_mode == TEA5767_SEARCH_MODE_DOWN) ? "ok" : "error");
269
270 /* set search mode */
272 if (res != 0)
273 {
274 tea5767_interface_debug_print("tea5767: set search mode failed.\n");
275 (void)tea5767_deinit(&gs_handle);
276
277 return 1;
278 }
279
280 /* set search mode up */
281 tea5767_interface_debug_print("tea5767: set search mode up.\n");
282
283 /* get search mode */
284 res = tea5767_get_search_mode(&gs_handle, &search_mode);
285 if (res != 0)
286 {
287 tea5767_interface_debug_print("tea5767: get search mode failed.\n");
288 (void)tea5767_deinit(&gs_handle);
289
290 return 1;
291 }
292 tea5767_interface_debug_print("tea5767: check search mode %s.\n", (search_mode == TEA5767_SEARCH_MODE_UP) ? "ok" : "error");
293
294 /* tea5767_set_search_stop_level/tea5767_get_search_stop_level test */
295 tea5767_interface_debug_print("tea5767: tea5767_set_search_stop_level/tea5767_get_search_stop_level test.\n");
296
297 /* set search stop level */
299 if (res != 0)
300 {
301 tea5767_interface_debug_print("tea5767: set search stop level failed.\n");
302 (void)tea5767_deinit(&gs_handle);
303
304 return 1;
305 }
306
307 /* set search stop level low */
308 tea5767_interface_debug_print("tea5767: set search stop level low.\n");
309
310 /* get search stop level */
311 res = tea5767_get_search_stop_level(&gs_handle, &stop_level);
312 if (res != 0)
313 {
314 tea5767_interface_debug_print("tea5767: get search stop level failed.\n");
315 (void)tea5767_deinit(&gs_handle);
316
317 return 1;
318 }
319 tea5767_interface_debug_print("tea5767: check search stop level %s.\n", (stop_level == TEA5767_SEARCH_STOP_LEVEL_LOW) ? "ok" : "error");
320
321 /* set search stop level */
323 if (res != 0)
324 {
325 tea5767_interface_debug_print("tea5767: set search stop level failed.\n");
326 (void)tea5767_deinit(&gs_handle);
327
328 return 1;
329 }
330
331 /* set search stop level mid */
332 tea5767_interface_debug_print("tea5767: set search stop level mid.\n");
333
334 /* get search stop level */
335 res = tea5767_get_search_stop_level(&gs_handle, &stop_level);
336 if (res != 0)
337 {
338 tea5767_interface_debug_print("tea5767: get search stop level failed.\n");
339 (void)tea5767_deinit(&gs_handle);
340
341 return 1;
342 }
343 tea5767_interface_debug_print("tea5767: check search stop level %s.\n", (stop_level == TEA5767_SEARCH_STOP_LEVEL_MID) ? "ok" : "error");
344
345 /* set search stop level */
347 if (res != 0)
348 {
349 tea5767_interface_debug_print("tea5767: set search stop level failed.\n");
350 (void)tea5767_deinit(&gs_handle);
351
352 return 1;
353 }
354
355 /* set search stop level high */
356 tea5767_interface_debug_print("tea5767: set search stop level high.\n");
357
358 /* get search stop level */
359 res = tea5767_get_search_stop_level(&gs_handle, &stop_level);
360 if (res != 0)
361 {
362 tea5767_interface_debug_print("tea5767: get search stop level failed.\n");
363 (void)tea5767_deinit(&gs_handle);
364
365 return 1;
366 }
367 tea5767_interface_debug_print("tea5767: check search stop level %s.\n", (stop_level == TEA5767_SEARCH_STOP_LEVEL_HIGH) ? "ok" : "error");
368
369 /* tea5767_set_side_injection/tea5767_get_side_injection test */
370 tea5767_interface_debug_print("tea5767: tea5767_set_side_injection/tea5767_get_side_injection test.\n");
371
372 /* set side injection */
374 if (res != 0)
375 {
376 tea5767_interface_debug_print("tea5767: set side injection failed.\n");
377 (void)tea5767_deinit(&gs_handle);
378
379 return 1;
380 }
381
382 /* set side injection low */
383 tea5767_interface_debug_print("tea5767: set side injection low.\n");
384
385 /* get side injection */
386 res = tea5767_get_side_injection(&gs_handle, &side);
387 if (res != 0)
388 {
389 tea5767_interface_debug_print("tea5767: get side injection failed.\n");
390 (void)tea5767_deinit(&gs_handle);
391
392 return 1;
393 }
394 tea5767_interface_debug_print("tea5767: check side injection %s.\n", (side == TEA5767_SIDE_INJECTION_LOW) ? "ok" : "error");
395
396 /* set side injection */
398 if (res != 0)
399 {
400 tea5767_interface_debug_print("tea5767: set side injection failed.\n");
401 (void)tea5767_deinit(&gs_handle);
402
403 return 1;
404 }
405
406 /* set side injection high */
407 tea5767_interface_debug_print("tea5767: set side injection high.\n");
408
409 /* get side injection */
410 res = tea5767_get_side_injection(&gs_handle, &side);
411 if (res != 0)
412 {
413 tea5767_interface_debug_print("tea5767: get side injection failed.\n");
414 (void)tea5767_deinit(&gs_handle);
415
416 return 1;
417 }
418 tea5767_interface_debug_print("tea5767: check side injection %s.\n", (side == TEA5767_SIDE_INJECTION_HIGH) ? "ok" : "error");
419
420 /* tea5767_set_channel/tea5767_get_channel test */
421 tea5767_interface_debug_print("tea5767: tea5767_set_channel/tea5767_get_channel test.\n");
422
423 /* set channel */
424 res = tea5767_set_channel(&gs_handle, TEA5767_CHANNEL_MONO);
425 if (res != 0)
426 {
427 tea5767_interface_debug_print("tea5767: set channel failed.\n");
428 (void)tea5767_deinit(&gs_handle);
429
430 return 1;
431 }
432
433 /* set channel mono */
434 tea5767_interface_debug_print("tea5767: set channel mono.\n");
435
436 /* get channel */
437 res = tea5767_get_channel(&gs_handle, &channel);
438 if (res != 0)
439 {
440 tea5767_interface_debug_print("tea5767: get channel failed.\n");
441 (void)tea5767_deinit(&gs_handle);
442
443 return 1;
444 }
445 tea5767_interface_debug_print("tea5767: check channel %s.\n", (channel == TEA5767_CHANNEL_MONO) ? "ok" : "error");
446
447 /* set channel */
449 if (res != 0)
450 {
451 tea5767_interface_debug_print("tea5767: set channel failed.\n");
452 (void)tea5767_deinit(&gs_handle);
453
454 return 1;
455 }
456
457 /* set channel stereo */
458 tea5767_interface_debug_print("tea5767: set channel stereo.\n");
459
460 /* get channel */
461 res = tea5767_get_channel(&gs_handle, &channel);
462 if (res != 0)
463 {
464 tea5767_interface_debug_print("tea5767: get channel failed.\n");
465 (void)tea5767_deinit(&gs_handle);
466
467 return 1;
468 }
469 tea5767_interface_debug_print("tea5767: check channel %s.\n", (channel == TEA5767_CHANNEL_STEREO) ? "ok" : "error");
470
471 /* tea5767_set_right_mute/tea5767_get_right_mute test */
472 tea5767_interface_debug_print("tea5767: tea5767_set_right_mute/tea5767_get_right_mute test.\n");
473
474 /* set right mute */
475 res = tea5767_set_right_mute(&gs_handle, TEA5767_BOOL_TRUE);
476 if (res != 0)
477 {
478 tea5767_interface_debug_print("tea5767: set right mute failed.\n");
479 (void)tea5767_deinit(&gs_handle);
480
481 return 1;
482 }
483
484 /* enable right mute */
485 tea5767_interface_debug_print("tea5767: enable right mute.\n");
486
487 /* get right mute */
488 res = tea5767_get_right_mute(&gs_handle, &enable);
489 if (res != 0)
490 {
491 tea5767_interface_debug_print("tea5767: get right mute failed.\n");
492 (void)tea5767_deinit(&gs_handle);
493
494 return 1;
495 }
496 tea5767_interface_debug_print("tea5767: check right mute %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
497
498 /* set right mute */
500 if (res != 0)
501 {
502 tea5767_interface_debug_print("tea5767: set right mute failed.\n");
503 (void)tea5767_deinit(&gs_handle);
504
505 return 1;
506 }
507
508 /* disable right mute */
509 tea5767_interface_debug_print("tea5767: disable right mute.\n");
510
511 /* get right mute */
512 res = tea5767_get_right_mute(&gs_handle, &enable);
513 if (res != 0)
514 {
515 tea5767_interface_debug_print("tea5767: get right mute failed.\n");
516 (void)tea5767_deinit(&gs_handle);
517
518 return 1;
519 }
520 tea5767_interface_debug_print("tea5767: check right mute %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
521
522 /* tea5767_set_left_mute/tea5767_get_left_mute test */
523 tea5767_interface_debug_print("tea5767: tea5767_set_left_mute/tea5767_get_left_mute test.\n");
524
525 /* set left mute */
526 res = tea5767_set_left_mute(&gs_handle, TEA5767_BOOL_TRUE);
527 if (res != 0)
528 {
529 tea5767_interface_debug_print("tea5767: set left mute failed.\n");
530 (void)tea5767_deinit(&gs_handle);
531
532 return 1;
533 }
534
535 /* enable left mute */
536 tea5767_interface_debug_print("tea5767: enable left mute.\n");
537
538 /* get left mute */
539 res = tea5767_get_left_mute(&gs_handle, &enable);
540 if (res != 0)
541 {
542 tea5767_interface_debug_print("tea5767: get left mute failed.\n");
543 (void)tea5767_deinit(&gs_handle);
544
545 return 1;
546 }
547 tea5767_interface_debug_print("tea5767: check left mute %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
548
549 /* set left mute */
550 res = tea5767_set_left_mute(&gs_handle, TEA5767_BOOL_FALSE);
551 if (res != 0)
552 {
553 tea5767_interface_debug_print("tea5767: set left mute failed.\n");
554 (void)tea5767_deinit(&gs_handle);
555
556 return 1;
557 }
558
559 /* disable left mute */
560 tea5767_interface_debug_print("tea5767: disable left mute.\n");
561
562 /* get left mute */
563 res = tea5767_get_left_mute(&gs_handle, &enable);
564 if (res != 0)
565 {
566 tea5767_interface_debug_print("tea5767: get left mute failed.\n");
567 (void)tea5767_deinit(&gs_handle);
568
569 return 1;
570 }
571 tea5767_interface_debug_print("tea5767: check left mute %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
572
573 /* tea5767_set_port1/tea5767_get_port1 test */
574 tea5767_interface_debug_print("tea5767: tea5767_set_port1/tea5767_get_port1 test.\n");
575
576 /* set port1 */
577 res = tea5767_set_port1(&gs_handle, TEA5767_LEVEL_HIGH);
578 if (res != 0)
579 {
580 tea5767_interface_debug_print("tea5767: set port1 failed.\n");
581 (void)tea5767_deinit(&gs_handle);
582
583 return 1;
584 }
585
586 /* set port1 high */
587 tea5767_interface_debug_print("tea5767: set port1 high.\n");
588
589 /* get port1 */
590 res = tea5767_get_port1(&gs_handle, &level);
591 if (res != 0)
592 {
593 tea5767_interface_debug_print("tea5767: get port1 failed.\n");
594 (void)tea5767_deinit(&gs_handle);
595
596 return 1;
597 }
598 tea5767_interface_debug_print("tea5767: check port1 %s.\n", (level == TEA5767_LEVEL_HIGH) ? "ok" : "error");
599
600 /* set port1 */
601 res = tea5767_set_port1(&gs_handle, TEA5767_LEVEL_LOW);
602 if (res != 0)
603 {
604 tea5767_interface_debug_print("tea5767: set port1 failed.\n");
605 (void)tea5767_deinit(&gs_handle);
606
607 return 1;
608 }
609
610 /* set port1 low */
611 tea5767_interface_debug_print("tea5767: set port1 low.\n");
612
613 /* get port1 */
614 res = tea5767_get_port1(&gs_handle, &level);
615 if (res != 0)
616 {
617 tea5767_interface_debug_print("tea5767: get port1 failed.\n");
618 (void)tea5767_deinit(&gs_handle);
619
620 return 1;
621 }
622 tea5767_interface_debug_print("tea5767: check port1 %s.\n", (level == TEA5767_LEVEL_LOW) ? "ok" : "error");
623
624 /* tea5767_set_port2/tea5767_get_port2 test */
625 tea5767_interface_debug_print("tea5767: tea5767_set_port2/tea5767_get_port2 test.\n");
626
627 /* set port2 */
628 res = tea5767_set_port2(&gs_handle, TEA5767_LEVEL_HIGH);
629 if (res != 0)
630 {
631 tea5767_interface_debug_print("tea5767: set port2 failed.\n");
632 (void)tea5767_deinit(&gs_handle);
633
634 return 1;
635 }
636
637 /* set port2 high */
638 tea5767_interface_debug_print("tea5767: set port2 high.\n");
639
640 /* get port2 */
641 res = tea5767_get_port2(&gs_handle, &level);
642 if (res != 0)
643 {
644 tea5767_interface_debug_print("tea5767: get port2 failed.\n");
645 (void)tea5767_deinit(&gs_handle);
646
647 return 1;
648 }
649 tea5767_interface_debug_print("tea5767: check port2 %s.\n", (level == TEA5767_LEVEL_HIGH) ? "ok" : "error");
650
651 /* set port2 */
652 res = tea5767_set_port2(&gs_handle, TEA5767_LEVEL_LOW);
653 if (res != 0)
654 {
655 tea5767_interface_debug_print("tea5767: set port2 failed.\n");
656 (void)tea5767_deinit(&gs_handle);
657
658 return 1;
659 }
660
661 /* set port2 low */
662 tea5767_interface_debug_print("tea5767: set port2 low.\n");
663
664 /* get port2 */
665 res = tea5767_get_port2(&gs_handle, &level);
666 if (res != 0)
667 {
668 tea5767_interface_debug_print("tea5767: get port2 failed.\n");
669 (void)tea5767_deinit(&gs_handle);
670
671 return 1;
672 }
673 tea5767_interface_debug_print("tea5767: check port2 %s.\n", (level == TEA5767_LEVEL_LOW) ? "ok" : "error");
674
675 /* tea5767_set_standby/tea5767_get_standby test */
676 tea5767_interface_debug_print("tea5767: tea5767_set_standby/tea5767_get_standby test.\n");
677
678 /* set standby */
679 res = tea5767_set_standby(&gs_handle, TEA5767_BOOL_FALSE);
680 if (res != 0)
681 {
682 tea5767_interface_debug_print("tea5767: set standby failed.\n");
683 (void)tea5767_deinit(&gs_handle);
684
685 return 1;
686 }
687
688 /* disable standby */
689 tea5767_interface_debug_print("tea5767: disable standby.\n");
690
691 /* get standby */
692 res = tea5767_get_standby(&gs_handle, &enable);
693 if (res != 0)
694 {
695 tea5767_interface_debug_print("tea5767: get standby failed.\n");
696 (void)tea5767_deinit(&gs_handle);
697
698 return 1;
699 }
700 tea5767_interface_debug_print("tea5767: check standby %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
701
702 /* set standby */
703 res = tea5767_set_standby(&gs_handle, TEA5767_BOOL_TRUE);
704 if (res != 0)
705 {
706 tea5767_interface_debug_print("tea5767: set standby failed.\n");
707 (void)tea5767_deinit(&gs_handle);
708
709 return 1;
710 }
711
712 /* enable standby */
713 tea5767_interface_debug_print("tea5767: enable standby.\n");
714
715 /* get standby */
716 res = tea5767_get_standby(&gs_handle, &enable);
717 if (res != 0)
718 {
719 tea5767_interface_debug_print("tea5767: get standby failed.\n");
720 (void)tea5767_deinit(&gs_handle);
721
722 return 1;
723 }
724 tea5767_interface_debug_print("tea5767: check standby %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
725
726 /* tea5767_set_band/tea5767_get_band test */
727 tea5767_interface_debug_print("tea5767: tea5767_set_band/tea5767_get_band test.\n");
728
729 /* set band */
730 res = tea5767_set_band(&gs_handle, TEA5767_BAND_US_EUROPE);
731 if (res != 0)
732 {
733 tea5767_interface_debug_print("tea5767: set band failed.\n");
734 (void)tea5767_deinit(&gs_handle);
735
736 return 1;
737 }
738
739 /* set us/europe fm band */
740 tea5767_interface_debug_print("tea5767: set us/europe fm band.\n");
741
742 /* get band */
743 res = tea5767_get_band(&gs_handle, &band);
744 if (res != 0)
745 {
746 tea5767_interface_debug_print("tea5767: get band failed.\n");
747 (void)tea5767_deinit(&gs_handle);
748
749 return 1;
750 }
751 tea5767_interface_debug_print("tea5767: check band %s.\n", (band == TEA5767_BAND_US_EUROPE) ? "ok" : "error");
752
753 /* set band */
754 res = tea5767_set_band(&gs_handle, TEA5767_BAND_JAPANESE);
755 if (res != 0)
756 {
757 tea5767_interface_debug_print("tea5767: set band failed.\n");
758 (void)tea5767_deinit(&gs_handle);
759
760 return 1;
761 }
762
763 /* set japanese fm band */
764 tea5767_interface_debug_print("tea5767: set japanese fm band.\n");
765
766 /* get band */
767 res = tea5767_get_band(&gs_handle, &band);
768 if (res != 0)
769 {
770 tea5767_interface_debug_print("tea5767: get band failed.\n");
771 (void)tea5767_deinit(&gs_handle);
772
773 return 1;
774 }
775 tea5767_interface_debug_print("tea5767: check band %s.\n", (band == TEA5767_BAND_JAPANESE) ? "ok" : "error");
776
777 /* tea5767_set_soft_mute/tea5767_get_soft_mute test */
778 tea5767_interface_debug_print("tea5767: tea5767_set_soft_mute/tea5767_get_soft_mute test.\n");
779
780 /* set soft mute */
781 res = tea5767_set_soft_mute(&gs_handle, TEA5767_BOOL_TRUE);
782 if (res != 0)
783 {
784 tea5767_interface_debug_print("tea5767: set soft mute failed.\n");
785 (void)tea5767_deinit(&gs_handle);
786
787 return 1;
788 }
789
790 /* enable soft mute */
791 tea5767_interface_debug_print("tea5767: enable soft mute.\n");
792
793 /* get soft mute */
794 res = tea5767_get_soft_mute(&gs_handle, &enable);
795 if (res != 0)
796 {
797 tea5767_interface_debug_print("tea5767: get soft mute failed.\n");
798 (void)tea5767_deinit(&gs_handle);
799
800 return 1;
801 }
802 tea5767_interface_debug_print("tea5767: check soft mute %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
803
804 /* set soft mute */
805 res = tea5767_set_soft_mute(&gs_handle, TEA5767_BOOL_FALSE);
806 if (res != 0)
807 {
808 tea5767_interface_debug_print("tea5767: set soft mute failed.\n");
809 (void)tea5767_deinit(&gs_handle);
810
811 return 1;
812 }
813
814 /* disable soft mute */
815 tea5767_interface_debug_print("tea5767: disable soft mute.\n");
816
817 /* get soft mute */
818 res = tea5767_get_soft_mute(&gs_handle, &enable);
819 if (res != 0)
820 {
821 tea5767_interface_debug_print("tea5767: get soft mute failed.\n");
822 (void)tea5767_deinit(&gs_handle);
823
824 return 1;
825 }
826 tea5767_interface_debug_print("tea5767: check soft mute %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
827
828 /* tea5767_set_high_cut_control/tea5767_get_high_cut_control test */
829 tea5767_interface_debug_print("tea5767: tea5767_set_high_cut_control/tea5767_get_high_cut_control test.\n");
830
831 /* set high cut control */
833 if (res != 0)
834 {
835 tea5767_interface_debug_print("tea5767: set high cut control failed.\n");
836 (void)tea5767_deinit(&gs_handle);
837
838 return 1;
839 }
840
841 /* disable high cut control */
842 tea5767_interface_debug_print("tea5767: disable high cut control.\n");
843
844 /* get high cut control */
845 res = tea5767_get_high_cut_control(&gs_handle, &enable);
846 if (res != 0)
847 {
848 tea5767_interface_debug_print("tea5767: get high cut control failed.\n");
849 (void)tea5767_deinit(&gs_handle);
850
851 return 1;
852 }
853 tea5767_interface_debug_print("tea5767: check high cut control %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
854
855 /* set high cut control */
857 if (res != 0)
858 {
859 tea5767_interface_debug_print("tea5767: set high cut control failed.\n");
860 (void)tea5767_deinit(&gs_handle);
861
862 return 1;
863 }
864
865 /* enable high cut control */
866 tea5767_interface_debug_print("tea5767: enable high cut control.\n");
867
868 /* get high cut control */
869 res = tea5767_get_high_cut_control(&gs_handle, &enable);
870 if (res != 0)
871 {
872 tea5767_interface_debug_print("tea5767: get high cut control failed.\n");
873 (void)tea5767_deinit(&gs_handle);
874
875 return 1;
876 }
877 tea5767_interface_debug_print("tea5767: check high cut control %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
878
879 /* tea5767_set_stereo_noise_cancelling/tea5767_get_stereo_noise_cancelling test */
880 tea5767_interface_debug_print("tea5767: tea5767_set_stereo_noise_cancelling/tea5767_get_stereo_noise_cancelling test.\n");
881
882 /* set stereo noise cancelling */
884 if (res != 0)
885 {
886 tea5767_interface_debug_print("tea5767: set stereo noise cancelling failed.\n");
887 (void)tea5767_deinit(&gs_handle);
888
889 return 1;
890 }
891
892 /* disable stereo noise cancelling */
893 tea5767_interface_debug_print("tea5767: disable stereo noise cancelling.\n");
894
895 /* get stereo noise cancelling */
896 res = tea5767_get_stereo_noise_cancelling(&gs_handle, &enable);
897 if (res != 0)
898 {
899 tea5767_interface_debug_print("tea5767: get stereo noise cancelling failed.\n");
900 (void)tea5767_deinit(&gs_handle);
901
902 return 1;
903 }
904 tea5767_interface_debug_print("tea5767: check stereo noise cancelling %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
905
906 /* set stereo noise cancelling */
908 if (res != 0)
909 {
910 tea5767_interface_debug_print("tea5767: set stereo noise cancelling failed.\n");
911 (void)tea5767_deinit(&gs_handle);
912
913 return 1;
914 }
915
916 /* enable stereo noise cancelling */
917 tea5767_interface_debug_print("tea5767: enable stereo noise cancelling.\n");
918
919 /* get stereo noise cancelling */
920 res = tea5767_get_stereo_noise_cancelling(&gs_handle, &enable);
921 if (res != 0)
922 {
923 tea5767_interface_debug_print("tea5767: get stereo noise cancelling failed.\n");
924 (void)tea5767_deinit(&gs_handle);
925
926 return 1;
927 }
928 tea5767_interface_debug_print("tea5767: check stereo noise cancelling %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
929
930 /* tea5767_set_port1_as_search_indicator/tea5767_get_port1_as_search_indicator test */
931 tea5767_interface_debug_print("tea5767: tea5767_set_port1_as_search_indicator/tea5767_get_port1_as_search_indicator test.\n");
932
933 /* set port1 as search indicator */
935 if (res != 0)
936 {
937 tea5767_interface_debug_print("tea5767: set port1 as search indicator failed.\n");
938 (void)tea5767_deinit(&gs_handle);
939
940 return 1;
941 }
942
943 /* enable port1 as search indicator */
944 tea5767_interface_debug_print("tea5767: enable port1 as search indicator.\n");
945
946 /* get port1 as search indicator */
947 res = tea5767_get_port1_as_search_indicator(&gs_handle, &enable);
948 if (res != 0)
949 {
950 tea5767_interface_debug_print("tea5767: get port1 as search indicator failed.\n");
951 (void)tea5767_deinit(&gs_handle);
952
953 return 1;
954 }
955 tea5767_interface_debug_print("tea5767: check port1 as search indicator %s.\n", (enable == TEA5767_BOOL_TRUE) ? "ok" : "error");
956
957 /* set port1 as search indicator */
959 if (res != 0)
960 {
961 tea5767_interface_debug_print("tea5767: set port1 as search indicator failed.\n");
962 (void)tea5767_deinit(&gs_handle);
963
964 return 1;
965 }
966
967 /* disable port1 as search indicator */
968 tea5767_interface_debug_print("tea5767: disable port1 as search indicator.\n");
969
970 /* get port1 as search indicator */
971 res = tea5767_get_port1_as_search_indicator(&gs_handle, &enable);
972 if (res != 0)
973 {
974 tea5767_interface_debug_print("tea5767: get port1 as search indicator failed.\n");
975 (void)tea5767_deinit(&gs_handle);
976
977 return 1;
978 }
979 tea5767_interface_debug_print("tea5767: check port1 as search indicator %s.\n", (enable == TEA5767_BOOL_FALSE) ? "ok" : "error");
980
981 /* tea5767_set_de_emphasis/tea5767_get_de_emphasis test */
982 tea5767_interface_debug_print("tea5767: tea5767_set_de_emphasis/tea5767_get_de_emphasis test.\n");
983
984 /* set de emphasis */
986 if (res != 0)
987 {
988 tea5767_interface_debug_print("tea5767: set de emphasis failed.\n");
989 (void)tea5767_deinit(&gs_handle);
990
991 return 1;
992 }
993
994 /* set de emphasis 50us */
995 tea5767_interface_debug_print("tea5767: set de emphasis 50us.\n");
996
997 /* get de emphasis */
998 res = tea5767_get_de_emphasis(&gs_handle, &emphasis);
999 if (res != 0)
1000 {
1001 tea5767_interface_debug_print("tea5767: get de emphasis failed.\n");
1002 (void)tea5767_deinit(&gs_handle);
1003
1004 return 1;
1005 }
1006 tea5767_interface_debug_print("tea5767: check de emphasis %s.\n", (emphasis == TEA5767_DE_EMPHASIS_50US) ? "ok" : "error");
1007
1008 /* set de emphasis */
1010 if (res != 0)
1011 {
1012 tea5767_interface_debug_print("tea5767: set de emphasis failed.\n");
1013 (void)tea5767_deinit(&gs_handle);
1014
1015 return 1;
1016 }
1017
1018 /* set de emphasis 75us */
1019 tea5767_interface_debug_print("tea5767: set de emphasis 75us.\n");
1020
1021 /* get de emphasis */
1022 res = tea5767_get_de_emphasis(&gs_handle, &emphasis);
1023 if (res != 0)
1024 {
1025 tea5767_interface_debug_print("tea5767: get de emphasis failed.\n");
1026 (void)tea5767_deinit(&gs_handle);
1027
1028 return 1;
1029 }
1030 tea5767_interface_debug_print("tea5767: check de emphasis %s.\n", (emphasis == TEA5767_DE_EMPHASIS_75US) ? "ok" : "error");
1031
1032 /* tea5767_set_clock/tea5767_get_clock test */
1033 tea5767_interface_debug_print("tea5767: tea5767_set_clock/tea5767_get_clock test.\n");
1034
1035 /* set clock */
1036 res = tea5767_set_clock(&gs_handle, TEA5767_CLOCK_13_MHZ);
1037 if (res != 0)
1038 {
1039 tea5767_interface_debug_print("tea5767: set clock failed.\n");
1040 (void)tea5767_deinit(&gs_handle);
1041
1042 return 1;
1043 }
1044
1045 /* set clock 13MHz */
1046 tea5767_interface_debug_print("tea5767: set clock 13MHz.\n");
1047
1048 /* get clock */
1049 res = tea5767_get_clock(&gs_handle, &clk);
1050 if (res != 0)
1051 {
1052 tea5767_interface_debug_print("tea5767: get clock failed.\n");
1053 (void)tea5767_deinit(&gs_handle);
1054
1055 return 1;
1056 }
1057 tea5767_interface_debug_print("tea5767: check clock %s.\n", (clk == TEA5767_CLOCK_13_MHZ) ? "ok" : "error");
1058
1059 /* set clock */
1060 res = tea5767_set_clock(&gs_handle, TEA5767_CLOCK_6P5_MHZ);
1061 if (res != 0)
1062 {
1063 tea5767_interface_debug_print("tea5767: set clock failed.\n");
1064 (void)tea5767_deinit(&gs_handle);
1065
1066 return 1;
1067 }
1068
1069 /* set clock 6.5MHz */
1070 tea5767_interface_debug_print("tea5767: set clock 6.5MHz.\n");
1071
1072 /* get clock */
1073 res = tea5767_get_clock(&gs_handle, &clk);
1074 if (res != 0)
1075 {
1076 tea5767_interface_debug_print("tea5767: get clock failed.\n");
1077 (void)tea5767_deinit(&gs_handle);
1078
1079 return 1;
1080 }
1081 tea5767_interface_debug_print("tea5767: check clock %s.\n", (clk == TEA5767_CLOCK_6P5_MHZ) ? "ok" : "error");
1082
1083 /* set clock */
1085 if (res != 0)
1086 {
1087 tea5767_interface_debug_print("tea5767: set clock failed.\n");
1088 (void)tea5767_deinit(&gs_handle);
1089
1090 return 1;
1091 }
1092
1093 /* set clock 32.768KHz */
1094 tea5767_interface_debug_print("tea5767: set clock 32.768KHz.\n");
1095
1096 /* get clock */
1097 res = tea5767_get_clock(&gs_handle, &clk);
1098 if (res != 0)
1099 {
1100 tea5767_interface_debug_print("tea5767: get clock failed.\n");
1101 (void)tea5767_deinit(&gs_handle);
1102
1103 return 1;
1104 }
1105 tea5767_interface_debug_print("tea5767: check clock %s.\n", (clk == TEA5767_CLOCK_32P768_KHZ) ? "ok" : "error");
1106
1107 /* write conf */
1108 res = tea5767_write_conf(&gs_handle);
1109 if (res != 0)
1110 {
1111 tea5767_interface_debug_print("tea5767: write conf failed.\n");
1112 (void)tea5767_deinit(&gs_handle);
1113
1114 return 1;
1115 }
1116
1117 /* read conf */
1118 res = tea5767_read_conf(&gs_handle);
1119 if (res != 0)
1120 {
1121 tea5767_interface_debug_print("tea5767: read conf failed.\n");
1122 (void)tea5767_deinit(&gs_handle);
1123
1124 return 1;
1125 }
1126
1127 /* tea5767_get_ready_flag test */
1128 tea5767_interface_debug_print("tea5767: tea5767_get_ready_flag test.\n");
1129
1130 /* get read flag */
1131 res = tea5767_get_ready_flag(&gs_handle, &enable);
1132 if (res != 0)
1133 {
1134 tea5767_interface_debug_print("tea5767: get read flag failed.\n");
1135 (void)tea5767_deinit(&gs_handle);
1136
1137 return 1;
1138 }
1139
1140 /* output */
1141 tea5767_interface_debug_print("tea5767: flag is 0x%02X.\n", enable);
1142
1143 /* tea5767_get_band_limit_flag test */
1144 tea5767_interface_debug_print("tea5767: tea5767_get_band_limit_flag test.\n");
1145
1146 /* get band limit flag */
1147 res = tea5767_get_band_limit_flag(&gs_handle, &enable);
1148 if (res != 0)
1149 {
1150 tea5767_interface_debug_print("tea5767: get band limit flag failed.\n");
1151 (void)tea5767_deinit(&gs_handle);
1152
1153 return 1;
1154 }
1155
1156 /* output */
1157 tea5767_interface_debug_print("tea5767: flag is 0x%02X.\n", enable);
1158
1159 /* tea5767_get_searched_pll test */
1160 tea5767_interface_debug_print("tea5767: tea5767_get_searched_pll test.\n");
1161
1162 /* get searched pll */
1163 res = tea5767_get_searched_pll(&gs_handle, &pll_check);
1164 if (res != 0)
1165 {
1166 tea5767_interface_debug_print("tea5767: get searched pll failed.\n");
1167 (void)tea5767_deinit(&gs_handle);
1168
1169 return 1;
1170 }
1171
1172 /* output */
1173 tea5767_interface_debug_print("tea5767: pll is 0x%04X.\n", pll_check);
1174
1175 /* tea5767_get_if test */
1176 tea5767_interface_debug_print("tea5767: tea5767_get_if test.\n");
1177
1178 /* get if */
1179 res = tea5767_get_if(&gs_handle, &output);
1180 if (res != 0)
1181 {
1182 tea5767_interface_debug_print("tea5767: get if failed.\n");
1183 (void)tea5767_deinit(&gs_handle);
1184
1185 return 1;
1186 }
1187
1188 /* output */
1189 tea5767_interface_debug_print("tea5767: if is 0x%02X.\n", output);
1190
1191 /* tea5767_get_reception test */
1192 tea5767_interface_debug_print("tea5767: tea5767_get_reception test.\n");
1193
1194 /* get reception */
1195 res = tea5767_get_reception(&gs_handle, &reception);
1196 if (res != 0)
1197 {
1198 tea5767_interface_debug_print("tea5767: get reception failed.\n");
1199 (void)tea5767_deinit(&gs_handle);
1200
1201 return 1;
1202 }
1203
1204 /* output */
1205 tea5767_interface_debug_print("tea5767: reception is 0x%02X.\n", reception);
1206
1207 /* tea5767_get_level_adc_output test */
1208 tea5767_interface_debug_print("tea5767: tea5767_get_level_adc_output test.\n");
1209
1210 /* get level adc output */
1211 res = tea5767_get_level_adc_output(&gs_handle, &output);
1212 if (res != 0)
1213 {
1214 tea5767_interface_debug_print("tea5767: get level adc output failed.\n");
1215 (void)tea5767_deinit(&gs_handle);
1216
1217 return 1;
1218 }
1219
1220 /* output */
1221 tea5767_interface_debug_print("tea5767: level adc output is 0x%02X.\n", output);
1222
1223 /* tea5767_frequency_convert_to_register/tea5767_frequency_convert_to_data test */
1224 tea5767_interface_debug_print("tea5767: tea5767_frequency_convert_to_register/tea5767_frequency_convert_to_data test.\n");
1225
1226 mhz = 88.0f + ((float)(rand() % 100) / 50.0f);
1227
1228 /* frequency convert to register */
1229 res = tea5767_frequency_convert_to_register(&gs_handle, mhz, &pll);
1230 if (res != 0)
1231 {
1232 tea5767_interface_debug_print("tea5767: frequency convert to register failed.\n");
1233 (void)tea5767_deinit(&gs_handle);
1234
1235 return 1;
1236 }
1237
1238 /* output */
1239 tea5767_interface_debug_print("tea5767: frequency is %0.1f.\n", mhz);
1240
1241 /* frequency convert to data */
1242 res = tea5767_frequency_convert_to_data(&gs_handle, pll, &mhz_check);
1243 if (res != 0)
1244 {
1245 tea5767_interface_debug_print("tea5767: frequency convert to data failed.\n");
1246 (void)tea5767_deinit(&gs_handle);
1247
1248 return 1;
1249 }
1250
1251 /* output */
1252 tea5767_interface_debug_print("tea5767: check frequency is %0.1f.\n", mhz_check);
1253
1254 /* finish register test */
1255 tea5767_interface_debug_print("tea5767: finish register test.\n");
1256 (void)tea5767_deinit(&gs_handle);
1257
1258 return 0;
1259}
driver tea5767 register test header file
uint8_t tea5767_get_ready_flag(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the ready flag
uint8_t tea5767_deinit(tea5767_handle_t *handle)
close the chip
uint8_t tea5767_get_reception(tea5767_handle_t *handle, tea5767_reception_t *reception)
get the reception
uint8_t tea5767_set_right_mute(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable right mute
uint8_t tea5767_set_pll(tea5767_handle_t *handle, uint16_t pll)
set the pll
uint8_t tea5767_get_right_mute(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the right mute status
uint8_t tea5767_get_band(tea5767_handle_t *handle, tea5767_band_t *band)
get the band
tea5767_mode_t
tea5767 mode enumeration definition
uint8_t tea5767_set_search_stop_level(tea5767_handle_t *handle, tea5767_search_stop_level_t level)
set the search stop level
uint8_t tea5767_write_conf(tea5767_handle_t *handle)
write the conf
uint8_t tea5767_get_pll(tea5767_handle_t *handle, uint16_t *pll)
get the pll
uint8_t tea5767_get_port1(tea5767_handle_t *handle, tea5767_level_t *level)
get the port1 level
uint8_t tea5767_get_side_injection(tea5767_handle_t *handle, tea5767_side_injection_t *side)
get the side injection
uint8_t tea5767_set_high_cut_control(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable high cut control
uint8_t tea5767_get_searched_pll(tea5767_handle_t *handle, uint16_t *pll)
get the searched pll
uint8_t tea5767_get_search_mode(tea5767_handle_t *handle, tea5767_search_mode_t *mode)
get the search mode
tea5767_channel_t
tea5767 channel enumeration definition
uint8_t tea5767_set_search_mode(tea5767_handle_t *handle, tea5767_search_mode_t mode)
set the search mode
uint8_t tea5767_set_side_injection(tea5767_handle_t *handle, tea5767_side_injection_t side)
set the side injection
uint8_t tea5767_get_search_stop_level(tea5767_handle_t *handle, tea5767_search_stop_level_t *level)
get the search stop level
uint8_t tea5767_get_mode(tea5767_handle_t *handle, tea5767_mode_t *mode)
get the chip mode
uint8_t tea5767_set_mode(tea5767_handle_t *handle, tea5767_mode_t mode)
set the chip mode
tea5767_de_emphasis_t
tea5767 de-emphasis enumeration definition
tea5767_clock_t
tea5767 clock enumeration definition
tea5767_reception_t
tea5767 reception enumeration definition
uint8_t tea5767_get_clock(tea5767_handle_t *handle, tea5767_clock_t *clk)
get the clock
tea5767_side_injection_t
tea5767 side injection enumeration definition
uint8_t tea5767_get_port1_as_search_indicator(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the port1 as search indicator status
uint8_t tea5767_get_channel(tea5767_handle_t *handle, tea5767_channel_t *channel)
get the sound channel
tea5767_search_stop_level_t
tea5767 search stop level enumeration definition
uint8_t tea5767_set_port1_as_search_indicator(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable port1 as search indicator
uint8_t tea5767_get_de_emphasis(tea5767_handle_t *handle, tea5767_de_emphasis_t *emphasis)
get the de emphasis status
uint8_t tea5767_get_if(tea5767_handle_t *handle, uint8_t *if_out)
get the if
struct tea5767_info_s tea5767_info_t
tea5767 information structure definition
uint8_t tea5767_set_port1(tea5767_handle_t *handle, tea5767_level_t level)
set the port1 level
tea5767_bool_t
tea5767 bool enumeration definition
uint8_t tea5767_get_level_adc_output(tea5767_handle_t *handle, uint8_t *output)
get the level adc output
uint8_t tea5767_get_soft_mute(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the soft mute status
uint8_t tea5767_set_mute(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable the mute
uint8_t tea5767_set_de_emphasis(tea5767_handle_t *handle, tea5767_de_emphasis_t emphasis)
set the de emphasis
uint8_t tea5767_frequency_convert_to_register(tea5767_handle_t *handle, float mhz, uint16_t *pll)
convert the frequency to the register raw data
uint8_t tea5767_get_band_limit_flag(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the band limit flag
uint8_t tea5767_set_soft_mute(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable soft mute
struct tea5767_handle_s tea5767_handle_t
tea5767 handle structure definition
uint8_t tea5767_init(tea5767_handle_t *handle)
initialize the chip
uint8_t tea5767_set_channel(tea5767_handle_t *handle, tea5767_channel_t channel)
set the sound channel
uint8_t tea5767_set_clock(tea5767_handle_t *handle, tea5767_clock_t clk)
set the clock
tea5767_level_t
tea5767 level enumeration definition
uint8_t tea5767_get_left_mute(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the left mute status
uint8_t tea5767_get_high_cut_control(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the high cut control status
uint8_t tea5767_get_mute(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the mute status
uint8_t tea5767_get_stereo_noise_cancelling(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the stereo noise cancelling status
uint8_t tea5767_get_standby(tea5767_handle_t *handle, tea5767_bool_t *enable)
get the standby status
tea5767_search_mode_t
tea5767 search mode enumeration definition
uint8_t tea5767_set_stereo_noise_cancelling(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable stereo noise cancelling
uint8_t tea5767_read_conf(tea5767_handle_t *handle)
read the conf
uint8_t tea5767_get_port2(tea5767_handle_t *handle, tea5767_level_t *level)
get the port2 level
tea5767_band_t
tea5767 band enumeration definition
uint8_t tea5767_info(tea5767_info_t *info)
get chip's information
uint8_t tea5767_frequency_convert_to_data(tea5767_handle_t *handle, uint16_t pll, float *mhz)
convert the register raw data to the frequency
uint8_t tea5767_set_band(tea5767_handle_t *handle, tea5767_band_t band)
set the band
uint8_t tea5767_set_left_mute(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable left mute
uint8_t tea5767_set_port2(tea5767_handle_t *handle, tea5767_level_t level)
set the port2 level
uint8_t tea5767_set_standby(tea5767_handle_t *handle, tea5767_bool_t enable)
enable or disable standby
@ TEA5767_MODE_SEARCH
@ TEA5767_MODE_NORMAL
@ TEA5767_CHANNEL_STEREO
@ TEA5767_CHANNEL_MONO
@ TEA5767_DE_EMPHASIS_75US
@ TEA5767_DE_EMPHASIS_50US
@ TEA5767_CLOCK_6P5_MHZ
@ TEA5767_CLOCK_32P768_KHZ
@ TEA5767_CLOCK_13_MHZ
@ TEA5767_SIDE_INJECTION_LOW
@ TEA5767_SIDE_INJECTION_HIGH
@ TEA5767_SEARCH_STOP_LEVEL_HIGH
@ TEA5767_SEARCH_STOP_LEVEL_LOW
@ TEA5767_SEARCH_STOP_LEVEL_MID
@ TEA5767_BOOL_TRUE
@ TEA5767_BOOL_FALSE
@ TEA5767_LEVEL_HIGH
@ TEA5767_LEVEL_LOW
@ TEA5767_SEARCH_MODE_UP
@ TEA5767_SEARCH_MODE_DOWN
@ TEA5767_BAND_JAPANESE
@ TEA5767_BAND_US_EUROPE
uint8_t tea5767_interface_iic_init(void)
interface iic bus init
void tea5767_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t tea5767_interface_iic_deinit(void)
interface iic bus deinit
uint8_t tea5767_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
uint8_t tea5767_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
void tea5767_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t tea5767_register_test(void)
register test
uint32_t driver_version
char manufacturer_name[32]