LibDriver SYN6288
Loading...
Searching...
No Matches
driver_syn6288.h
Go to the documentation of this file.
1
37
38#ifndef DRIVER_SYN6288_H
39#define DRIVER_SYN6288_H
40
41#include <stdio.h>
42#include <stdint.h>
43#include <string.h>
44
45#ifdef __cplusplus
46extern "C"{
47#endif
48
54
59
91
106
128
139
143typedef enum
144{
148
152
157
180
181
191
195
200
204typedef struct syn6288_handle_s
205{
206 uint8_t (*uart_init)(void);
207 uint8_t (*uart_deinit)(void);
208 uint16_t (*uart_read)(uint8_t *buf, uint16_t len);
209 uint8_t (*uart_flush)(void);
210 uint8_t (*uart_write)(uint8_t *buf, uint16_t len);
211 void (*delay_ms)(uint32_t ms);
212 void (*debug_print)(const char *const fmt, ...);
213 uint8_t type;
214 uint8_t mode;
215 uint8_t rate;
216 uint8_t volume;
218 uint8_t speed;
219 uint8_t inited;
220 uint8_t buf[256];
222
238
242
249
256#define DRIVER_SYN6288_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
257
264#define DRIVER_SYN6288_LINK_UART_INIT(HANDLE, FUC) (HANDLE)->uart_init = FUC
265
272#define DRIVER_SYN6288_LINK_UART_DEINIT(HANDLE, FUC) (HANDLE)->uart_deinit = FUC
273
280#define DRIVER_SYN6288_LINK_UART_READ(HANDLE, FUC) (HANDLE)->uart_read = FUC
281
288#define DRIVER_SYN6288_LINK_UART_WRITE(HANDLE, FUC) (HANDLE)->uart_write = FUC
289
296#define DRIVER_SYN6288_LINK_UART_FLUSH(HANDLE, FUC) (HANDLE)->uart_flush = FUC
297
304#define DRIVER_SYN6288_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
305
312#define DRIVER_SYN6288_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
313
317
324
333uint8_t syn6288_info(syn6288_info_t *info);
334
345uint8_t syn6288_init(syn6288_handle_t *handle);
346
357uint8_t syn6288_deinit(syn6288_handle_t *handle);
358
370uint8_t syn6288_synthesis_text(syn6288_handle_t *handle, char *text);
371
384
397
410
423
434uint8_t syn6288_stop(syn6288_handle_t *handle);
435
446uint8_t syn6288_pause(syn6288_handle_t *handle);
447
458uint8_t syn6288_resume(syn6288_handle_t *handle);
459
470uint8_t syn6288_power_down(syn6288_handle_t *handle);
471
483
495
499
506
519
531
543
554uint8_t syn6288_get_mode(syn6288_handle_t *handle, syn6288_mode_t *mode);
555
567uint8_t syn6288_set_synthesis_volume(syn6288_handle_t *handle, uint8_t volume);
568
579uint8_t syn6288_get_synthesis_volume(syn6288_handle_t *handle, uint8_t *volume);
580
592uint8_t syn6288_set_background_volume(syn6288_handle_t *handle, uint8_t volume);
593
604uint8_t syn6288_get_background_volume(syn6288_handle_t *handle, uint8_t *volume);
605
617uint8_t syn6288_set_synthesis_speed(syn6288_handle_t *handle, uint8_t speed);
618
629uint8_t syn6288_get_synthesis_speed(syn6288_handle_t *handle, uint8_t *speed);
630
634
641
653uint8_t syn6288_set_command(syn6288_handle_t *handle, char *command);
654
658
662
663#ifdef __cplusplus
664}
665#endif
666
667#endif
uint8_t syn6288_get_mode(syn6288_handle_t *handle, syn6288_mode_t *mode)
get the chip mode
uint8_t syn6288_set_background_volume(syn6288_handle_t *handle, uint8_t volume)
set the synthesis background volume
syn6288_mode_t
syn6288 mode enumeration definition
uint8_t syn6288_set_baud_rate(syn6288_handle_t *handle, syn6288_baud_rate_t rate)
set the baud rate
syn6288_baud_rate_t
syn6288 baud rate enumeration definition
uint8_t syn6288_get_background_volume(syn6288_handle_t *handle, uint8_t *volume)
get the chip synthesis background volume
uint8_t syn6288_get_synthesis_volume(syn6288_handle_t *handle, uint8_t *volume)
get the chip synthesis volume
uint8_t syn6288_set_synthesis_volume(syn6288_handle_t *handle, uint8_t volume)
set the chip synthesis volume
uint8_t syn6288_get_baud_rate(syn6288_handle_t *handle, syn6288_baud_rate_t *rate)
get the baud rate
uint8_t syn6288_set_synthesis_speed(syn6288_handle_t *handle, uint8_t speed)
set the synthesis speed
uint8_t syn6288_get_synthesis_speed(syn6288_handle_t *handle, uint8_t *speed)
get the synthesis speed
uint8_t syn6288_set_mode(syn6288_handle_t *handle, syn6288_mode_t mode)
set the chip mode
@ SYN6288_MODE_BACKGROUND_3
@ SYN6288_MODE_BACKGROUND_9
@ SYN6288_MODE_BACKGROUND_11
@ SYN6288_MODE_BACKGROUND_4
@ SYN6288_MODE_BACKGROUND_6
@ SYN6288_MODE_BACKGROUND_7
@ SYN6288_MODE_BACKGROUND_13
@ SYN6288_MODE_BACKGROUND_1
@ SYN6288_MODE_BACKGROUND_12
@ SYN6288_MODE_BACKGROUND_2
@ SYN6288_MODE_BACKGROUND_10
@ SYN6288_MODE_BACKGROUND_14
@ SYN6288_MODE_COMMON
@ SYN6288_MODE_BACKGROUND_8
@ SYN6288_MODE_BACKGROUND_15
@ SYN6288_MODE_BACKGROUND_5
@ SYN6288_BAUD_RATE_38400_BPS
@ SYN6288_BAUD_RATE_9600_BPS
@ SYN6288_BAUD_RATE_19200_BPS
uint8_t syn6288_init(syn6288_handle_t *handle)
initialize the chip
syn6288_type_t
syn6288 type enumeration definition
uint8_t syn6288_power_down(syn6288_handle_t *handle)
power down the chip
uint8_t syn6288_synthesis_sound(syn6288_handle_t *handle, syn6288_sound_t sound)
synthesis the sound
uint8_t syn6288_stop(syn6288_handle_t *handle)
stop the chip
syn6288_ring_t
syn6288 ring enumeration definition
syn6288_status_t
syn6288 status enumeration definition
syn6288_sound_t
syn6288 sound enumeration definition
uint8_t syn6288_get_status(syn6288_handle_t *handle, syn6288_status_t *status)
get the current status
uint8_t syn6288_get_text_type(syn6288_handle_t *handle, syn6288_type_t *type)
get the chip text type
uint8_t syn6288_set_text_type(syn6288_handle_t *handle, syn6288_type_t type)
set the chip text type
uint8_t syn6288_synthesis_message(syn6288_handle_t *handle, syn6288_message_t message)
synthesis the message
uint8_t syn6288_deinit(syn6288_handle_t *handle)
close the chip
uint8_t syn6288_synthesis_text(syn6288_handle_t *handle, char *text)
synthesis the test
struct syn6288_handle_s syn6288_handle_t
syn6288 handle structure definition
uint8_t syn6288_resume(syn6288_handle_t *handle)
resume the chip
syn6288_message_t
syn6288 message enumeration definition
uint8_t syn6288_synthesis_ring(syn6288_handle_t *handle, syn6288_ring_t ring)
synthesis the ring
uint8_t syn6288_info(syn6288_info_t *info)
get chip's information
struct syn6288_info_s syn6288_info_t
syn6288 information structure definition
uint8_t syn6288_pause(syn6288_handle_t *handle)
pause the chip
@ SYN6288_TYPE_GB2312
@ SYN6288_TYPE_UNICODE
@ SYN6288_TYPE_GBK
@ SYN6288_TYPE_BIG5
@ SYN6288_RING_L
@ SYN6288_RING_I
@ SYN6288_RING_N
@ SYN6288_RING_H
@ SYN6288_RING_F
@ SYN6288_RING_O
@ SYN6288_RING_A
@ SYN6288_RING_D
@ SYN6288_RING_B
@ SYN6288_RING_C
@ SYN6288_RING_J
@ SYN6288_RING_M
@ SYN6288_RING_E
@ SYN6288_RING_K
@ SYN6288_RING_G
@ SYN6288_STATUS_BUSY
@ SYN6288_STATUS_OK
@ SYN6288_SOUND_T
@ SYN6288_SOUND_N
@ SYN6288_SOUND_E
@ SYN6288_SOUND_O
@ SYN6288_SOUND_I
@ SYN6288_SOUND_M
@ SYN6288_SOUND_X
@ SYN6288_SOUND_P
@ SYN6288_SOUND_V
@ SYN6288_SOUND_Y
@ SYN6288_SOUND_L
@ SYN6288_SOUND_S
@ SYN6288_SOUND_D
@ SYN6288_SOUND_G
@ SYN6288_SOUND_F
@ SYN6288_SOUND_A
@ SYN6288_SOUND_Q
@ SYN6288_SOUND_H
@ SYN6288_SOUND_R
@ SYN6288_SOUND_K
@ SYN6288_SOUND_C
@ SYN6288_SOUND_U
@ SYN6288_SOUND_W
@ SYN6288_SOUND_J
@ SYN6288_SOUND_B
@ SYN6288_MESSAGE_A
@ SYN6288_MESSAGE_B
@ SYN6288_MESSAGE_H
@ SYN6288_MESSAGE_E
@ SYN6288_MESSAGE_F
@ SYN6288_MESSAGE_D
@ SYN6288_MESSAGE_C
@ SYN6288_MESSAGE_G
uint8_t syn6288_set_command(syn6288_handle_t *handle, char *command)
send the command to the chip
syn6288 handle structure definition
uint8_t(* uart_flush)(void)
uint8_t(* uart_write)(uint8_t *buf, uint16_t len)
void(* delay_ms)(uint32_t ms)
uint8_t(* uart_deinit)(void)
void(* debug_print)(const char *const fmt,...)
uint16_t(* uart_read)(uint8_t *buf, uint16_t len)
uint8_t(* uart_init)(void)
syn6288 information structure definition
uint32_t driver_version
char manufacturer_name[32]