LibDriver SYN6288  2.0.0
SYN6288 full-featured driver
driver_syn6288.h
Go to the documentation of this file.
1 
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
46 extern "C"{
47 #endif
48 
63 typedef enum
64 {
91 
95 typedef enum
96 {
106 
110 typedef enum
111 {
128 
132 typedef enum
133 {
139 
143 typedef enum
144 {
148 
161 typedef enum
162 {
180 
181 
185 typedef enum
186 {
191 
204 typedef 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 
226 typedef struct syn6288_info_s
227 {
228  char chip_name[32];
229  char manufacturer_name[32];
230  char interface[8];
236  uint32_t driver_version;
238 
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 
333 uint8_t syn6288_info(syn6288_info_t *info);
334 
345 uint8_t syn6288_init(syn6288_handle_t *handle);
346 
357 uint8_t syn6288_deinit(syn6288_handle_t *handle);
358 
370 uint8_t syn6288_synthesis_text(syn6288_handle_t *handle, char *text);
371 
384 
397 
410 
422 uint8_t syn6288_get_status(syn6288_handle_t *handle, syn6288_status_t *status);
423 
434 uint8_t syn6288_stop(syn6288_handle_t *handle);
435 
446 uint8_t syn6288_pause(syn6288_handle_t *handle);
447 
458 uint8_t syn6288_resume(syn6288_handle_t *handle);
459 
470 uint8_t syn6288_power_down(syn6288_handle_t *handle);
471 
483 
495 
519 
531 
542 uint8_t syn6288_set_mode(syn6288_handle_t *handle, syn6288_mode_t mode);
543 
554 uint8_t syn6288_get_mode(syn6288_handle_t *handle, syn6288_mode_t *mode);
555 
567 uint8_t syn6288_set_synthesis_volume(syn6288_handle_t *handle, uint8_t volume);
568 
579 uint8_t syn6288_get_synthesis_volume(syn6288_handle_t *handle, uint8_t *volume);
580 
592 uint8_t syn6288_set_background_volume(syn6288_handle_t *handle, uint8_t volume);
593 
604 uint8_t syn6288_get_background_volume(syn6288_handle_t *handle, uint8_t *volume);
605 
617 uint8_t syn6288_set_synthesis_speed(syn6288_handle_t *handle, uint8_t speed);
618 
629 uint8_t syn6288_get_synthesis_speed(syn6288_handle_t *handle, uint8_t *speed);
630 
653 uint8_t syn6288_set_command(syn6288_handle_t *handle, char *command);
654 
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 buf[256]
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,...)
uint8_t background_volume
uint16_t(* uart_read)(uint8_t *buf, uint16_t len)
uint8_t(* uart_init)(void)
syn6288 information structure definition
float supply_voltage_max_v
uint32_t driver_version
char manufacturer_name[32]
float supply_voltage_min_v
char chip_name[32]