LibDriver SYN6988
Loading...
Searching...
No Matches
driver_syn6988_synthesis_test.c
Go to the documentation of this file.
1
36
38
39static syn6988_handle_t gs_handle;
40
50{
51 uint8_t res;
52 syn6988_info_t info;
53 syn6988_status_t status;
54 char s[32];
55 uint8_t gb2312_text[] = {0xD3, 0xEE, 0xD2, 0xF4, 0xCC, 0xEC, 0xCF, 0xC2, 0x00};
56 uint8_t gbk_text[] = {0xD3, 0xEE, 0xD2, 0xF4, 0xCC, 0xEC, 0xCF, 0xC2, 0x00};
57 uint8_t big5_text[] = {0xA6, 0x74, 0xAD, 0xB5, 0xA4, 0xD1, 0xA4, 0x55, 0x00};
58 uint8_t unicode_little_text[] = {0x87, 0x5B, 0xF3, 0x97, 0x29, 0x59, 0x0B, 0x4E, 0x00};
59 uint8_t unicode_big_text[] = {0x5B, 0x87, 0x97, 0xF3, 0x59, 0x29, 0x4E, 0x0B, 0x00};
60 char english_text[] = "welcome to use LibDriver.\n";
61
62 /* link interface function */
77
78 /* get syn6988 information */
79 res = syn6988_info(&info);
80 if (res != 0)
81 {
82 syn6988_interface_debug_print("syn6988: get info failed.\n");
83
84 return 1;
85 }
86 else
87 {
88 /* print chip information */
89 syn6988_interface_debug_print("syn6988: chip is %s.\n", info.chip_name);
90 syn6988_interface_debug_print("syn6988: manufacturer is %s.\n", info.manufacturer_name);
91 syn6988_interface_debug_print("syn6988: interface is %s.\n", info.interface);
92 syn6988_interface_debug_print("syn6988: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
93 syn6988_interface_debug_print("syn6988: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
94 syn6988_interface_debug_print("syn6988: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
95 syn6988_interface_debug_print("syn6988: max current is %0.2fmA.\n", info.max_current_ma);
96 syn6988_interface_debug_print("syn6988: max temperature is %0.1fC.\n", info.temperature_max);
97 syn6988_interface_debug_print("syn6988: min temperature is %0.1fC.\n", info.temperature_min);
98 }
99
100 /* set interface */
101 res = syn6988_set_interface(&gs_handle, interface);
102 if (res != 0)
103 {
104 syn6988_interface_debug_print("syn6988: set interface failed.\n");
105
106 return 1;
107 }
108
109 /* syn6988 init */
110 res = syn6988_init(&gs_handle);
111 if (res != 0)
112 {
113 syn6988_interface_debug_print("syn6988: init failed.\n");
114
115 return 1;
116 }
117
118 /* set synthesis language auto */
120 if (res != 0)
121 {
122 syn6988_interface_debug_print("syn6988: set synthesis language failed.\n");
123 (void)syn6988_deinit(&gs_handle);
124
125 return 1;
126 }
127
128 /* synthesis text test */
129 syn6988_interface_debug_print("syn6988: synthesis text test.\n");
130
131 /* gb2312 synthesis text */
132 syn6988_interface_debug_print("syn6988: gb2312 synthesis text.\n");
133
134 /* set text type gb2312 */
136 if (res != 0)
137 {
138 syn6988_interface_debug_print("syn6988: set text type failed.\n");
139 (void)syn6988_deinit(&gs_handle);
140
141 return 1;
142 }
143
144 /* synthesis text */
145 res = syn6988_synthesis_text(&gs_handle, (char const *)gb2312_text);
146 if (res != 0)
147 {
148 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
149 (void)syn6988_deinit(&gs_handle);
150
151 return 1;
152 }
153
154 /* wait for finished */
155 status = SYN6988_STATUS_BUSY;
156 while (status == SYN6988_STATUS_BUSY)
157 {
159 res = syn6988_get_status(&gs_handle, &status);
160 if (res != 0)
161 {
162 syn6988_interface_debug_print("syn6988: get status failed.\n");
163 (void)syn6988_deinit(&gs_handle);
164
165 return 1;
166 }
167 }
168
169 /* gbk synthesis text */
170 syn6988_interface_debug_print("syn6988: gbk synthesis text.\n");
171
172 /* set text type gbk */
173 res = syn6988_set_text_type(&gs_handle, SYN6988_TYPE_GBK);
174 if (res != 0)
175 {
176 syn6988_interface_debug_print("syn6988: set text type failed.\n");
177 (void)syn6988_deinit(&gs_handle);
178
179 return 1;
180 }
181
182 /* synthesis text */
183 res = syn6988_synthesis_text(&gs_handle, (char const *)gbk_text);
184 if (res != 0)
185 {
186 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
187 (void)syn6988_deinit(&gs_handle);
188
189 return 1;
190 }
191
192 /* wait for finished */
193 status = SYN6988_STATUS_BUSY;
194 while (status == SYN6988_STATUS_BUSY)
195 {
197 res = syn6988_get_status(&gs_handle, &status);
198 if (res != 0)
199 {
200 syn6988_interface_debug_print("syn6988: get status failed.\n");
201 (void)syn6988_deinit(&gs_handle);
202
203 return 1;
204 }
205 }
206
207 /* big5 synthesis text */
208 syn6988_interface_debug_print("syn6988: big5 synthesis text.\n");
209
210 /* set text type big5 */
211 res = syn6988_set_text_type(&gs_handle, SYN6988_TYPE_BIG5);
212 if (res != 0)
213 {
214 syn6988_interface_debug_print("syn6988: set text type failed.\n");
215 (void)syn6988_deinit(&gs_handle);
216
217 return 1;
218 }
219
220 /* synthesis text */
221 res = syn6988_synthesis_text(&gs_handle, (char const *)big5_text);
222 if (res != 0)
223 {
224 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
225 (void)syn6988_deinit(&gs_handle);
226
227 return 1;
228 }
229
230 /* wait for finished */
231 status = SYN6988_STATUS_BUSY;
232 while (status == SYN6988_STATUS_BUSY)
233 {
235 res = syn6988_get_status(&gs_handle, &status);
236 if (res != 0)
237 {
238 syn6988_interface_debug_print("syn6988: get status failed.\n");
239 (void)syn6988_deinit(&gs_handle);
240
241 return 1;
242 }
243 }
244
245 /* unicode little endian synthesis text */
246 syn6988_interface_debug_print("syn6988: unicode little endian synthesis text.\n");
247
248 /* set text type unicode little endian */
250 if (res != 0)
251 {
252 syn6988_interface_debug_print("syn6988: set text type failed.\n");
253 (void)syn6988_deinit(&gs_handle);
254
255 return 1;
256 }
257
258 /* synthesis text */
259 res = syn6988_synthesis_text(&gs_handle, (char const *)unicode_little_text);
260 if (res != 0)
261 {
262 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
263 (void)syn6988_deinit(&gs_handle);
264
265 return 1;
266 }
267
268 /* wait for finished */
269 status = SYN6988_STATUS_BUSY;
270 while (status == SYN6988_STATUS_BUSY)
271 {
273 res = syn6988_get_status(&gs_handle, &status);
274 if (res != 0)
275 {
276 syn6988_interface_debug_print("syn6988: get status failed.\n");
277 (void)syn6988_deinit(&gs_handle);
278
279 return 1;
280 }
281 }
282
283 /* unicode big endian synthesis text */
284 syn6988_interface_debug_print("syn6988: unicode big endian synthesis text.\n");
285
286 /* set text type unicode big endian */
288 if (res != 0)
289 {
290 syn6988_interface_debug_print("syn6988: set text type failed.\n");
291 (void)syn6988_deinit(&gs_handle);
292
293 return 1;
294 }
295
296 /* synthesis text */
297 res = syn6988_synthesis_text(&gs_handle, (char const *)unicode_big_text);
298 if (res != 0)
299 {
300 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
301 (void)syn6988_deinit(&gs_handle);
302
303 return 1;
304 }
305
306 /* wait for finished */
307 status = SYN6988_STATUS_BUSY;
308 while (status == SYN6988_STATUS_BUSY)
309 {
311 res = syn6988_get_status(&gs_handle, &status);
312 if (res != 0)
313 {
314 syn6988_interface_debug_print("syn6988: get status failed.\n");
315 (void)syn6988_deinit(&gs_handle);
316
317 return 1;
318 }
319 }
320
321 /* sound synthesis text */
322 syn6988_interface_debug_print("syn6988: sound synthesis text.\n");
323
324 /* set text type gb2312 */
326 if (res != 0)
327 {
328 syn6988_interface_debug_print("syn6988: set text type failed.\n");
329 (void)syn6988_deinit(&gs_handle);
330
331 return 1;
332 }
333
334 /* sound text */
335 res = syn6988_synthesis_text(&gs_handle, (char const *)SYN6988_SOUND_202);
336 if (res != 0)
337 {
338 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
339 (void)syn6988_deinit(&gs_handle);
340
341 return 1;
342 }
343
344 /* wait for finished */
345 status = SYN6988_STATUS_BUSY;
346 while (status == SYN6988_STATUS_BUSY)
347 {
349 res = syn6988_get_status(&gs_handle, &status);
350 if (res != 0)
351 {
352 syn6988_interface_debug_print("syn6988: get status failed.\n");
353 (void)syn6988_deinit(&gs_handle);
354
355 return 1;
356 }
357 }
358
359 if (interface == SYN6988_INTERFACE_UART)
360 {
361 /* synthesis control test */
362 syn6988_interface_debug_print("syn6988: synthesis control test.\n");
363 res = syn6988_synthesis_text(&gs_handle, (char *)gb2312_text);
364 if (res != 0)
365 {
366 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
367 (void)syn6988_deinit(&gs_handle);
368
369 return 1;
370 }
372 res = syn6988_pause(&gs_handle);
373 if (res != 0)
374 {
375 syn6988_interface_debug_print("syn6988: pause failed.\n");
376 (void)syn6988_deinit(&gs_handle);
377
378 return 1;
379 }
380 syn6988_interface_debug_print("syn6988: synthesis control pause.\n");
382 res = syn6988_resume(&gs_handle);
383 if (res != 0)
384 {
385 syn6988_interface_debug_print("syn6988: resume failed.\n");
386 (void)syn6988_deinit(&gs_handle);
387
388 return 1;
389 }
390 syn6988_interface_debug_print("syn6988: synthesis control resume.\n");
391 status = SYN6988_STATUS_BUSY;
392 while (status == SYN6988_STATUS_BUSY)
393 {
395 res = syn6988_get_status(&gs_handle, &status);
396 if (res != 0)
397 {
398 syn6988_interface_debug_print("syn6988: get status failed.\n");
399 (void)syn6988_deinit(&gs_handle);
400
401 return 1;
402 }
403 }
404 res = syn6988_synthesis_text(&gs_handle, (char *)gb2312_text);
405 if (res != 0)
406 {
407 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
408 (void)syn6988_deinit(&gs_handle);
409
410 return 1;
411 }
413 res = syn6988_stop(&gs_handle);
414 if (res != 0)
415 {
416 syn6988_interface_debug_print("syn6988: stop failed.\n");
417 (void)syn6988_deinit(&gs_handle);
418
419 return 1;
420 }
421 syn6988_interface_debug_print("syn6988: synthesis control stop.\n");
423 }
424
425 /* synthesis volume test */
426 syn6988_interface_debug_print("syn6988: synthesis volume test.\n");
427 res = syn6988_set_synthesis_volume(&gs_handle, 5);
428 if (res != 0)
429 {
430 syn6988_interface_debug_print("syn6988: set synthesis volume failed.\n");
431 (void)syn6988_deinit(&gs_handle);
432
433 return 1;
434 }
435 syn6988_interface_debug_print("syn6988: set synthesis volume 5.\n");
436 res = syn6988_synthesis_text(&gs_handle, (char *)gb2312_text);
437 if (res != 0)
438 {
439 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
440 (void)syn6988_deinit(&gs_handle);
441
442 return 1;
443 }
444 status = SYN6988_STATUS_BUSY;
445 while (status == SYN6988_STATUS_BUSY)
446 {
448 res = syn6988_get_status(&gs_handle, &status);
449 if (res != 0)
450 {
451 syn6988_interface_debug_print("syn6988: get status failed.\n");
452 (void)syn6988_deinit(&gs_handle);
453
454 return 1;
455 }
456 }
457 res = syn6988_set_synthesis_volume(&gs_handle, 10);
458 if (res != 0)
459 {
460 syn6988_interface_debug_print("syn6988: set synthesis volume failed.\n");
461 (void)syn6988_deinit(&gs_handle);
462
463 return 1;
464 }
465
466 /* synthesis speed test */
467 syn6988_interface_debug_print("syn6988: synthesis speed test.\n");
468 res = syn6988_set_synthesis_speed(&gs_handle, 10);
469 if (res != 0)
470 {
471 syn6988_interface_debug_print("syn6988: set synthesis speed failed.\n");
472 (void)syn6988_deinit(&gs_handle);
473
474 return 1;
475 }
476 syn6988_interface_debug_print("syn6988: set synthesis speed 10.\n");
477 res = syn6988_synthesis_text(&gs_handle, (char *)gb2312_text);
478 if (res != 0)
479 {
480 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
481 (void)syn6988_deinit(&gs_handle);
482
483 return 1;
484 }
485 status = SYN6988_STATUS_BUSY;
486 while (status == SYN6988_STATUS_BUSY)
487 {
489 res = syn6988_get_status(&gs_handle, &status);
490 if (res != 0)
491 {
492 syn6988_interface_debug_print("syn6988: get status failed.\n");
493 (void)syn6988_deinit(&gs_handle);
494
495 return 1;
496 }
497 }
498 res = syn6988_set_synthesis_speed(&gs_handle, 5);
499 if (res != 0)
500 {
501 syn6988_interface_debug_print("syn6988: set synthesis speed failed.\n");
502 (void)syn6988_deinit(&gs_handle);
503
504 return 1;
505 }
506
507 /* synthesis language test */
508 syn6988_interface_debug_print("syn6988: synthesis language test.\n");
510 if (res != 0)
511 {
512 syn6988_interface_debug_print("syn6988: set synthesis language failed.\n");
513 (void)syn6988_deinit(&gs_handle);
514
515 return 1;
516 }
517 syn6988_interface_debug_print("syn6988: set synthesis language english.\n");
518 res = syn6988_synthesis_text(&gs_handle, (char *)english_text);
519 if (res != 0)
520 {
521 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
522 (void)syn6988_deinit(&gs_handle);
523
524 return 1;
525 }
526 status = SYN6988_STATUS_BUSY;
527 while (status == SYN6988_STATUS_BUSY)
528 {
530 res = syn6988_get_status(&gs_handle, &status);
531 if (res != 0)
532 {
533 syn6988_interface_debug_print("syn6988: get status failed.\n");
534 (void)syn6988_deinit(&gs_handle);
535
536 return 1;
537 }
538 }
539
540 /* set synthesis language chinese */
542 if (res != 0)
543 {
544 syn6988_interface_debug_print("syn6988: set synthesis language failed.\n");
545 (void)syn6988_deinit(&gs_handle);
546
547 return 1;
548 }
549 syn6988_interface_debug_print("syn6988: set synthesis language chinese.\n");
550 res = syn6988_synthesis_text(&gs_handle, (char *)gb2312_text);
551 if (res != 0)
552 {
553 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
554 (void)syn6988_deinit(&gs_handle);
555
556 return 1;
557 }
558 status = SYN6988_STATUS_BUSY;
559 while (status == SYN6988_STATUS_BUSY)
560 {
562 res = syn6988_get_status(&gs_handle, &status);
563 if (res != 0)
564 {
565 syn6988_interface_debug_print("syn6988: get status failed.\n");
566 (void)syn6988_deinit(&gs_handle);
567
568 return 1;
569 }
570 }
571
572 /* set synthesis language auto */
574 if (res != 0)
575 {
576 syn6988_interface_debug_print("syn6988: set synthesis language failed.\n");
577 (void)syn6988_deinit(&gs_handle);
578
579 return 1;
580 }
581 syn6988_interface_debug_print("syn6988: set synthesis language auto.\n");
582 res = syn6988_synthesis_text(&gs_handle, (char *)english_text);
583 if (res != 0)
584 {
585 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
586 (void)syn6988_deinit(&gs_handle);
587
588 return 1;
589 }
590 status = SYN6988_STATUS_BUSY;
591 while (status == SYN6988_STATUS_BUSY)
592 {
594 res = syn6988_get_status(&gs_handle, &status);
595 if (res != 0)
596 {
597 syn6988_interface_debug_print("syn6988: get status failed.\n");
598 (void)syn6988_deinit(&gs_handle);
599
600 return 1;
601 }
602 }
603
604 /* command test */
605 syn6988_interface_debug_print("syn6988: command test.\n");
606 syn6988_interface_debug_print("syn6988: set command 0.\n");
607 memset(s, 0, sizeof(char) * 32);
608 strncpy(s, "[b0]", 32);
609 res = syn6988_synthesis_text(&gs_handle, s);
610 if (res != 0)
611 {
612 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
613 (void)syn6988_deinit(&gs_handle);
614
615 return 1;
616 }
617 memset(s, 0, sizeof(char) * 32);
618 strncpy(s, "abc,def,ghi", 32);
619 res = syn6988_synthesis_text(&gs_handle, s);
620 if (res != 0)
621 {
622 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
623 (void)syn6988_deinit(&gs_handle);
624
625 return 1;
626 }
627 status = SYN6988_STATUS_BUSY;
628 while (status == SYN6988_STATUS_BUSY)
629 {
631 res = syn6988_get_status(&gs_handle, &status);
632 if (res != 0)
633 {
634 syn6988_interface_debug_print("syn6988: get status failed.\n");
635 (void)syn6988_deinit(&gs_handle);
636
637 return 1;
638 }
639 }
640 syn6988_interface_debug_print("syn6988: set command 1.\n");
641 memset(s, 0, sizeof(char) * 32);
642 strncpy(s, "[b1]", 32);
643 res = syn6988_synthesis_text(&gs_handle, s);
644 if (res != 0)
645 {
646 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
647 (void)syn6988_deinit(&gs_handle);
648
649 return 1;
650 }
651 memset(s, 0, sizeof(char) * 32);
652 strncpy(s, "abc,def,ghi", 32);
653 res = syn6988_synthesis_text(&gs_handle, s);
654 if (res != 0)
655 {
656 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
657 (void)syn6988_deinit(&gs_handle);
658
659 return 1;
660 }
661 status = SYN6988_STATUS_BUSY;
662 while (status == SYN6988_STATUS_BUSY)
663 {
665 res = syn6988_get_status(&gs_handle, &status);
666 if (res != 0)
667 {
668 syn6988_interface_debug_print("syn6988: get status failed.\n");
669 (void)syn6988_deinit(&gs_handle);
670
671 return 1;
672 }
673 }
674 memset(s, 0, sizeof(char) * 32);
675 strncpy(s, "[b0]", 32);
676 res = syn6988_synthesis_text(&gs_handle, s);
677 if (res != 0)
678 {
679 syn6988_interface_debug_print("syn6988: synthesis text failed.\n");
680 (void)syn6988_deinit(&gs_handle);
681
682 return 1;
683 }
684
685 if (interface == SYN6988_INTERFACE_UART)
686 {
687 /* syn6988 standby test */
688 syn6988_interface_debug_print("syn6988: syn6988 standby test.\n");
689
690 /* standby */
691 res = syn6988_standby(&gs_handle);
692 if (res != 0)
693 {
694 syn6988_interface_debug_print("syn6988: standby failed.\n");
695 (void)syn6988_deinit(&gs_handle);
696
697 return 1;
698 }
699
700 /* standby ok */
701 syn6988_interface_debug_print("syn6988: standby ok.\n");
702
703 /* syn6988 wake up test */
704 syn6988_interface_debug_print("syn6988: syn6988 wake up test.\n");
705
706 /* wake up */
707 res = syn6988_wake_up(&gs_handle);
708 if (res != 0)
709 {
710 syn6988_interface_debug_print("syn6988: wake up failed.\n");
711 (void)syn6988_deinit(&gs_handle);
712
713 return 1;
714 }
715
716 /* wake up ok */
717 syn6988_interface_debug_print("syn6988: wake up ok.\n");
718 }
719
720 /* finish synthesis test */
721 syn6988_interface_debug_print("syn6988: finish synthesis test.\n");
722 (void)syn6988_deinit(&gs_handle);
723
724 return 0;
725}
driver syn6988 synthesis test header file
uint8_t syn6988_stop(syn6988_handle_t *handle)
stop the chip
uint8_t syn6988_synthesis_text(syn6988_handle_t *handle, const char *const fmt,...)
synthesis the test
uint8_t syn6988_init(syn6988_handle_t *handle)
initialize the chip
syn6988_status_t
syn6988 status enumeration definition
uint8_t syn6988_set_interface(syn6988_handle_t *handle, syn6988_interface_t interface)
set the chip interface
syn6988_interface_t
syn6988 interface enumeration definition
uint8_t syn6988_set_synthesis_language(syn6988_handle_t *handle, syn6988_language_t language)
set synthesis language
#define SYN6988_SOUND_202
struct syn6988_handle_s syn6988_handle_t
syn6988 handle structure definition
uint8_t syn6988_wake_up(syn6988_handle_t *handle)
wake up the chip
uint8_t syn6988_pause(syn6988_handle_t *handle)
pause the chip
uint8_t syn6988_info(syn6988_info_t *info)
get chip's information
uint8_t syn6988_deinit(syn6988_handle_t *handle)
close the chip
uint8_t syn6988_standby(syn6988_handle_t *handle)
set the chip to standby mode
uint8_t syn6988_get_status(syn6988_handle_t *handle, syn6988_status_t *status)
get the current status
uint8_t syn6988_set_synthesis_speed(syn6988_handle_t *handle, uint8_t speed)
set the synthesis speed
uint8_t syn6988_resume(syn6988_handle_t *handle)
resume the chip
uint8_t syn6988_set_synthesis_volume(syn6988_handle_t *handle, uint8_t volume)
set the chip synthesis volume
uint8_t syn6988_set_text_type(syn6988_handle_t *handle, syn6988_type_t type)
set the chip text type
struct syn6988_info_s syn6988_info_t
syn6988 information structure definition
@ SYN6988_TYPE_UNICODE_BIG
@ SYN6988_TYPE_BIG5
@ SYN6988_TYPE_GBK
@ SYN6988_TYPE_UNICODE_LITTLE
@ SYN6988_TYPE_GB2312
@ SYN6988_STATUS_BUSY
@ SYN6988_INTERFACE_UART
@ SYN6988_LANGUAGE_AUTO
@ SYN6988_LANGUAGE_ENGLISH
@ SYN6988_LANGUAGE_CHINESE
uint8_t syn6988_interface_spi_init(void)
interface spi init
uint8_t syn6988_interface_gpio_ready_read(uint8_t *value)
interface gpio ready read
uint8_t syn6988_interface_uart_init(void)
interface uart init
uint8_t syn6988_interface_gpio_ready_init(void)
interface gpio ready init
uint8_t syn6988_interface_spi_deinit(void)
interface spi deinit
uint8_t syn6988_interface_uart_flush(void)
interface uart flush
void syn6988_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t syn6988_interface_gpio_ready_deinit(void)
interface gpio ready deinit
uint16_t syn6988_interface_uart_read(uint8_t *buf, uint16_t len)
interface uart read
void syn6988_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t syn6988_interface_uart_write(uint8_t *buf, uint16_t len)
interface uart write
uint8_t syn6988_interface_uart_deinit(void)
interface uart deinit
uint8_t syn6988_interface_spi_transmit(uint8_t *tx, uint8_t *rx, uint16_t len)
interface spi transmit
uint8_t syn6988_synthesis_test(syn6988_interface_t interface)
synthesis test
uint32_t driver_version
char manufacturer_name[32]