LibDriver SYN6288  2.0.0
SYN6288 full-featured driver
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
driver_syn6288.h File Reference

driver syn6288 header file More...

#include <stdio.h>
#include <stdint.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  syn6288_handle_s
 syn6288 handle structure definition More...
 
struct  syn6288_info_s
 syn6288 information structure definition More...
 

Macros

#define DRIVER_SYN6288_LINK_INIT(HANDLE, STRUCTURE)   memset(HANDLE, 0, sizeof(STRUCTURE))
 initialize syn6288_handle_t structure More...
 
#define DRIVER_SYN6288_LINK_UART_INIT(HANDLE, FUC)   (HANDLE)->uart_init = FUC
 link uart_init function More...
 
#define DRIVER_SYN6288_LINK_UART_DEINIT(HANDLE, FUC)   (HANDLE)->uart_deinit = FUC
 link uart_deinit function More...
 
#define DRIVER_SYN6288_LINK_UART_READ(HANDLE, FUC)   (HANDLE)->uart_read = FUC
 link uart_read function More...
 
#define DRIVER_SYN6288_LINK_UART_WRITE(HANDLE, FUC)   (HANDLE)->uart_write = FUC
 link uart_write function More...
 
#define DRIVER_SYN6288_LINK_UART_FLUSH(HANDLE, FUC)   (HANDLE)->uart_flush = FUC
 link uart_flush function More...
 
#define DRIVER_SYN6288_LINK_DELAY_MS(HANDLE, FUC)   (HANDLE)->delay_ms = FUC
 link delay_ms function More...
 
#define DRIVER_SYN6288_LINK_DEBUG_PRINT(HANDLE, FUC)   (HANDLE)->debug_print = FUC
 link debug_print function More...
 

Typedefs

typedef struct syn6288_handle_s syn6288_handle_t
 syn6288 handle structure definition More...
 
typedef struct syn6288_info_s syn6288_info_t
 syn6288 information structure definition More...
 

Enumerations

enum  syn6288_sound_t {
  SYN6288_SOUND_A = 'a' , SYN6288_SOUND_B = 'b' , SYN6288_SOUND_C = 'c' , SYN6288_SOUND_D = 'd' ,
  SYN6288_SOUND_E = 'e' , SYN6288_SOUND_F = 'f' , SYN6288_SOUND_G = 'g' , SYN6288_SOUND_H = 'h' ,
  SYN6288_SOUND_I = 'i' , SYN6288_SOUND_J = 'j' , SYN6288_SOUND_K = 'k' , SYN6288_SOUND_L = 'l' ,
  SYN6288_SOUND_M = 'm' , SYN6288_SOUND_N = 'n' , SYN6288_SOUND_O = 'o' , SYN6288_SOUND_P = 'p' ,
  SYN6288_SOUND_Q = 'q' , SYN6288_SOUND_R = 'r' , SYN6288_SOUND_S = 's' , SYN6288_SOUND_T = 't' ,
  SYN6288_SOUND_U = 'u' , SYN6288_SOUND_V = 'v' , SYN6288_SOUND_W = 'w' , SYN6288_SOUND_X = 'x' ,
  SYN6288_SOUND_Y = 'y'
}
 syn6288 sound enumeration definition More...
 
enum  syn6288_message_t {
  SYN6288_MESSAGE_A = 'a' , SYN6288_MESSAGE_B = 'b' , SYN6288_MESSAGE_C = 'c' , SYN6288_MESSAGE_D = 'd' ,
  SYN6288_MESSAGE_E = 'e' , SYN6288_MESSAGE_F = 'f' , SYN6288_MESSAGE_G = 'g' , SYN6288_MESSAGE_H = 'h'
}
 syn6288 message enumeration definition More...
 
enum  syn6288_ring_t {
  SYN6288_RING_A = 'a' , SYN6288_RING_B = 'b' , SYN6288_RING_C = 'c' , SYN6288_RING_D = 'd' ,
  SYN6288_RING_E = 'e' , SYN6288_RING_F = 'f' , SYN6288_RING_G = 'g' , SYN6288_RING_H = 'h' ,
  SYN6288_RING_I = 'i' , SYN6288_RING_J = 'j' , SYN6288_RING_K = 'k' , SYN6288_RING_L = 'l' ,
  SYN6288_RING_M = 'm' , SYN6288_RING_N = 'n' , SYN6288_RING_O = 'o'
}
 syn6288 ring enumeration definition More...
 
enum  syn6288_type_t { SYN6288_TYPE_GB2312 = 0x00 , SYN6288_TYPE_GBK = 0x01 , SYN6288_TYPE_BIG5 = 0x02 , SYN6288_TYPE_UNICODE = 0x03 }
 syn6288 type enumeration definition More...
 
enum  syn6288_status_t { SYN6288_STATUS_OK = 0x00 , SYN6288_STATUS_BUSY = 0x01 }
 syn6288 status enumeration definition More...
 
enum  syn6288_mode_t {
  SYN6288_MODE_COMMON = (0x00) , SYN6288_MODE_BACKGROUND_1 = (1 << 3) , SYN6288_MODE_BACKGROUND_2 = (2 << 3) , SYN6288_MODE_BACKGROUND_3 = (3 << 3) ,
  SYN6288_MODE_BACKGROUND_4 = (4 << 3) , SYN6288_MODE_BACKGROUND_5 = (5 << 3) , SYN6288_MODE_BACKGROUND_6 = (6 << 3) , SYN6288_MODE_BACKGROUND_7 = (7 << 3) ,
  SYN6288_MODE_BACKGROUND_8 = (8 << 3) , SYN6288_MODE_BACKGROUND_9 = (9 << 3) , SYN6288_MODE_BACKGROUND_10 = (10 << 3) , SYN6288_MODE_BACKGROUND_11 = (11 << 3) ,
  SYN6288_MODE_BACKGROUND_12 = (12 << 3) , SYN6288_MODE_BACKGROUND_13 = (13 << 3) , SYN6288_MODE_BACKGROUND_14 = (14 << 3) , SYN6288_MODE_BACKGROUND_15 = (15 << 3)
}
 syn6288 mode enumeration definition More...
 
enum  syn6288_baud_rate_t { SYN6288_BAUD_RATE_9600_BPS = 0x00 , SYN6288_BAUD_RATE_19200_BPS = 0x01 , SYN6288_BAUD_RATE_38400_BPS = 0x02 }
 syn6288 baud rate enumeration definition More...
 

Functions

uint8_t syn6288_info (syn6288_info_t *info)
 get chip's information More...
 
uint8_t syn6288_init (syn6288_handle_t *handle)
 initialize the chip More...
 
uint8_t syn6288_deinit (syn6288_handle_t *handle)
 close the chip More...
 
uint8_t syn6288_synthesis_text (syn6288_handle_t *handle, char *text)
 synthesis the test More...
 
uint8_t syn6288_synthesis_sound (syn6288_handle_t *handle, syn6288_sound_t sound)
 synthesis the sound More...
 
uint8_t syn6288_synthesis_message (syn6288_handle_t *handle, syn6288_message_t message)
 synthesis the message More...
 
uint8_t syn6288_synthesis_ring (syn6288_handle_t *handle, syn6288_ring_t ring)
 synthesis the ring More...
 
uint8_t syn6288_get_status (syn6288_handle_t *handle, syn6288_status_t *status)
 get the current status More...
 
uint8_t syn6288_stop (syn6288_handle_t *handle)
 stop the chip More...
 
uint8_t syn6288_pause (syn6288_handle_t *handle)
 pause the chip More...
 
uint8_t syn6288_resume (syn6288_handle_t *handle)
 resume the chip More...
 
uint8_t syn6288_power_down (syn6288_handle_t *handle)
 power down the chip More...
 
uint8_t syn6288_set_text_type (syn6288_handle_t *handle, syn6288_type_t type)
 set the chip text type More...
 
uint8_t syn6288_get_text_type (syn6288_handle_t *handle, syn6288_type_t *type)
 get the chip text type More...
 
uint8_t syn6288_set_baud_rate (syn6288_handle_t *handle, syn6288_baud_rate_t rate)
 set the baud rate More...
 
uint8_t syn6288_get_baud_rate (syn6288_handle_t *handle, syn6288_baud_rate_t *rate)
 get the baud rate More...
 
uint8_t syn6288_set_mode (syn6288_handle_t *handle, syn6288_mode_t mode)
 set the chip mode More...
 
uint8_t syn6288_get_mode (syn6288_handle_t *handle, syn6288_mode_t *mode)
 get the chip mode More...
 
uint8_t syn6288_set_synthesis_volume (syn6288_handle_t *handle, uint8_t volume)
 set the chip synthesis volume More...
 
uint8_t syn6288_get_synthesis_volume (syn6288_handle_t *handle, uint8_t *volume)
 get the chip synthesis volume More...
 
uint8_t syn6288_set_background_volume (syn6288_handle_t *handle, uint8_t volume)
 set the synthesis background volume More...
 
uint8_t syn6288_get_background_volume (syn6288_handle_t *handle, uint8_t *volume)
 get the chip synthesis background volume More...
 
uint8_t syn6288_set_synthesis_speed (syn6288_handle_t *handle, uint8_t speed)
 set the synthesis speed More...
 
uint8_t syn6288_get_synthesis_speed (syn6288_handle_t *handle, uint8_t *speed)
 get the synthesis speed More...
 
uint8_t syn6288_set_command (syn6288_handle_t *handle, char *command)
 send the command to the chip More...
 

Detailed Description

driver syn6288 header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version
2.0.0
Author
Shifeng Li
Date
2021-03-17

history

Date Version Author Description
2021/03/17 2.0 Shifeng Li format the code
2020/12/01 1.0 Shifeng Li first upload

Definition in file driver_syn6288.h.