LibDriver SYN6988  1.0.0
SYN6988 full-featured driver
driver_syn6988_synthesis_test.c
Go to the documentation of this file.
1 
38 
39 static syn6988_handle_t gs_handle;
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 */
135  res = syn6988_set_text_type(&gs_handle, SYN6988_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 */
325  res = syn6988_set_text_type(&gs_handle, SYN6988_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
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
@ 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
syn6988 handle structure definition
syn6988 information structure definition
float supply_voltage_max_v
uint32_t driver_version
char interface[16]
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]