LibDriver SYN6288E
Loading...
Searching...
No Matches
driver_syn6288e_register_test.c
Go to the documentation of this file.
1
36
38
39static syn6288e_handle_t gs_handle;
40
49{
50 uint8_t res;
51 uint8_t volume;
52 uint8_t speed;
53 char s[32];
55 syn6288e_mode_t mode;
56 syn6288e_info_t info;
57 syn6288e_type_t type;
58
59 /* link interface function */
68
69 /* get syn6288e information */
70 res = syn6288e_info(&info);
71 if (res != 0)
72 {
73 syn6288e_interface_debug_print("syn6288e: get info failed.\n");
74
75 return 1;
76 }
77 else
78 {
79 /* print chip information */
80 syn6288e_interface_debug_print("syn6288e: chip is %s.\n", info.chip_name);
81 syn6288e_interface_debug_print("syn6288e: manufacturer is %s.\n", info.manufacturer_name);
82 syn6288e_interface_debug_print("syn6288e: interface is %s.\n", info.interface);
83 syn6288e_interface_debug_print("syn6288e: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
84 syn6288e_interface_debug_print("syn6288e: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
85 syn6288e_interface_debug_print("syn6288e: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
86 syn6288e_interface_debug_print("syn6288e: max current is %0.2fmA.\n", info.max_current_ma);
87 syn6288e_interface_debug_print("syn6288e: max temperature is %0.1fC.\n", info.temperature_max);
88 syn6288e_interface_debug_print("syn6288e: min temperature is %0.1fC.\n", info.temperature_min);
89 }
90
91 /* syn6288e init */
92 res = syn6288e_init(&gs_handle);
93 if (res != 0)
94 {
95 syn6288e_interface_debug_print("syn6288e: init failed.\n");
96
97 return 1;
98 }
99
100 /* start register test */
101 syn6288e_interface_debug_print("syn6288e: start register test.\n");
102
103 /* syn6288e_set_baud_rate/syn6288e_get_baud_rate test */
104 syn6288e_interface_debug_print("syn6288e: syn6288e_set_baud_rate/syn6288e_get_baud_rate test.\n");
106 if (res != 0)
107 {
108 syn6288e_interface_debug_print("syn6288e: set baud rate failed.\n");
109 (void)syn6288e_deinit(&gs_handle);
110
111 return 1;
112 }
113
114 /* set 9600 bps */
115 syn6288e_interface_debug_print("syn6288e: set 9600 bps.\n");
116 res = syn6288e_get_baud_rate(&gs_handle, &rate);
117 if (res != 0)
118 {
119 syn6288e_interface_debug_print("syn6288e: get baud rate failed.\n");
120 (void)syn6288e_deinit(&gs_handle);
121
122 return 1;
123 }
124 syn6288e_interface_debug_print("syn6288e: check baud rate %s.\n", rate==SYN6288E_BAUD_RATE_9600_BPS?"ok":"error");
125
126 /* syn6288e_set_mode/syn6288e_get_mode test */
127 syn6288e_interface_debug_print("syn6288e: syn6288e_set_mode/syn6288e_get_mode test.\n");
129 if (res != 0)
130 {
131 syn6288e_interface_debug_print("syn6288e: set mode failed.\n");
132 (void)syn6288e_deinit(&gs_handle);
133
134 return 1;
135 }
136 syn6288e_interface_debug_print("syn6288e: set background_15 mode.\n");
137 res = syn6288e_get_mode(&gs_handle, &mode);
138 if (res != 0)
139 {
140 syn6288e_interface_debug_print("syn6288e: get mode failed.\n");
141 (void)syn6288e_deinit(&gs_handle);
142
143 return 1;
144 }
145 syn6288e_interface_debug_print("syn6288e: check mode %s.\n", mode==SYN6288E_MODE_BACKGROUND_15?"ok":"error");
146
147 /* syn6288e_set_text_type/syn6288e_get_text_type test */
148 syn6288e_interface_debug_print("syn6288e: syn6288e_set_text_type/syn6288e_get_text_type test.\n");
149
150 /* set GB2312 */
152 if (res != 0)
153 {
154 syn6288e_interface_debug_print("syn6288e: set text type failed.\n");
155 (void)syn6288e_deinit(&gs_handle);
156
157 return 1;
158 }
159 syn6288e_interface_debug_print("syn6288e: set gb2312 text type.\n");
160 res = syn6288e_get_text_type(&gs_handle, &type);
161 if (res != 0)
162 {
163 syn6288e_interface_debug_print("syn6288e: get text type failed.\n");
164 (void)syn6288e_deinit(&gs_handle);
165
166 return 1;
167 }
168 syn6288e_interface_debug_print("syn6288e: check text type %s.\n", type==SYN6288E_TYPE_GB2312?"ok":"error");
169
170 /* set GBK */
171 res = syn6288e_set_text_type(&gs_handle, SYN6288E_TYPE_GBK);
172 if (res != 0)
173 {
174 syn6288e_interface_debug_print("syn6288e: set text type failed.\n");
175 (void)syn6288e_deinit(&gs_handle);
176
177 return 1;
178 }
179 syn6288e_interface_debug_print("syn6288e: set gbk text type.\n");
180 res = syn6288e_get_text_type(&gs_handle, &type);
181 if (res != 0)
182 {
183 syn6288e_interface_debug_print("syn6288e: get text type failed.\n");
184 (void)syn6288e_deinit(&gs_handle);
185
186 return 1;
187 }
188 syn6288e_interface_debug_print("syn6288e: check text type %s.\n", type==SYN6288E_TYPE_GBK?"ok":"error");
189
190 /* set BIG5 */
192 if (res != 0)
193 {
194 syn6288e_interface_debug_print("syn6288e: set text type failed.\n");
195 (void)syn6288e_deinit(&gs_handle);
196
197 return 1;
198 }
199 syn6288e_interface_debug_print("syn6288e: set big5 text type.\n");
200 res = syn6288e_get_text_type(&gs_handle, &type);
201 if (res != 0)
202 {
203 syn6288e_interface_debug_print("syn6288e: get text type failed.\n");
204 (void)syn6288e_deinit(&gs_handle);
205
206 return 1;
207 }
208 syn6288e_interface_debug_print("syn6288e: check text type %s.\n", type==SYN6288E_TYPE_BIG5?"ok":"error");
209
210 /* set UNICODE */
212 if (res != 0)
213 {
214 syn6288e_interface_debug_print("syn6288e: set text type failed.\n");
215 (void)syn6288e_deinit(&gs_handle);
216
217 return 1;
218 }
219 syn6288e_interface_debug_print("syn6288e: set unicode text type.\n");
220 res = syn6288e_get_text_type(&gs_handle, &type);
221 if (res != 0)
222 {
223 syn6288e_interface_debug_print("syn6288e: get text type failed.\n");
224 (void)syn6288e_deinit(&gs_handle);
225
226 return 1;
227 }
228 syn6288e_interface_debug_print("syn6288e: check text type %s.\n", type==SYN6288E_TYPE_UNICODE?"ok":"error");
229
230 /* syn6288e_set_synthesis_volume/syn6288e_get_synthesis_volume test */
231 syn6288e_interface_debug_print("syn6288e: syn6288e_set_synthesis_volume/syn6288e_get_synthesis_volume test.\n");
232 res = syn6288e_set_synthesis_volume(&gs_handle, 6);
233 if (res != 0)
234 {
235 syn6288e_interface_debug_print("syn6288e: set synthesis volume failed.\n");
236 (void)syn6288e_deinit(&gs_handle);
237
238 return 1;
239 }
240 syn6288e_interface_debug_print("syn6288e: set synthesis volume 6.\n");
241 res = syn6288e_get_synthesis_volume(&gs_handle, (uint8_t *)&volume);
242 if (res != 0)
243 {
244 syn6288e_interface_debug_print("syn6288e: get synthesis volume failed.\n");
245 (void)syn6288e_deinit(&gs_handle);
246
247 return 1;
248 }
249 syn6288e_interface_debug_print("syn6288e: check synthesis volume %s.\n", volume==6?"ok":"error");
250
251 /* syn6288e_set_background_volume/syn6288e_get_background_volume test */
252 syn6288e_interface_debug_print("syn6288e: syn6288e_set_background_volume/syn6288e_get_background_volume test.\n");
253 res = syn6288e_set_background_volume(&gs_handle, 8);
254 if (res != 0)
255 {
256 syn6288e_interface_debug_print("syn6288e: set background volume failed.\n");
257 (void)syn6288e_deinit(&gs_handle);
258
259 return 1;
260 }
261 syn6288e_interface_debug_print("syn6288e: set background volume 8.\n");
262 res = syn6288e_get_background_volume(&gs_handle, (uint8_t *)&volume);
263 if (res != 0)
264 {
265 syn6288e_interface_debug_print("syn6288e: get background volume failed.\n");
266 (void)syn6288e_deinit(&gs_handle);
267
268 return 1;
269 }
270 syn6288e_interface_debug_print("syn6288e: check background volume %s.\n", volume==8?"ok":"error");
271
272 /* syn6288e_set_synthesis_speed/syn6288e_get_synthesis_speed test */
273 syn6288e_interface_debug_print("syn6288e: syn6288e_set_synthesis_speed/syn6288e_get_synthesis_speed test.\n");
274 res = syn6288e_set_synthesis_speed(&gs_handle, 3);
275 if (res != 0)
276 {
277 syn6288e_interface_debug_print("syn6288e: set synthesis speed failed.\n");
278 (void)syn6288e_deinit(&gs_handle);
279
280 return 1;
281 }
282 syn6288e_interface_debug_print("syn6288e: set synthesis speed 3.\n");
283 res = syn6288e_get_synthesis_speed(&gs_handle, (uint8_t *)&speed);
284 if (res != 0)
285 {
286 syn6288e_interface_debug_print("syn6288e: get synthesis speed failed.\n");
287 (void)syn6288e_deinit(&gs_handle);
288
289 return 1;
290 }
291 syn6288e_interface_debug_print("syn6288e: check synthesis speed %s.\n", speed==3?"ok":"error");
292
293 /* syn6288e_set_command test */
294 syn6288e_interface_debug_print("syn6288e: syn6288e_set_command test.\n");
295 memset(s, 0, sizeof(char) * 32);
296 strncpy(s, "[y1]", 32);
297 res = syn6288e_set_command(&gs_handle, s);
298 if (res != 0)
299 {
300 syn6288e_interface_debug_print("syn6288e: set command failed.\n");
301 (void)syn6288e_deinit(&gs_handle);
302
303 return 1;
304 }
305 syn6288e_interface_debug_print("syn6288e: check command %s.\n", res==0?"ok":"error");
306
307 /* finish register test */
308 syn6288e_interface_debug_print("syn6288e: finish register test.\n");
309 (void)syn6288e_deinit(&gs_handle);
310
311 return 0;
312}
driver syn6288e register test header file
uint8_t syn6288e_set_background_volume(syn6288e_handle_t *handle, uint8_t volume)
set the synthesis background volume
syn6288e_baud_rate_t
syn6288e baud rate enumeration definition
uint8_t syn6288e_set_baud_rate(syn6288e_handle_t *handle, syn6288e_baud_rate_t rate)
set the baud rate
uint8_t syn6288e_get_synthesis_speed(syn6288e_handle_t *handle, uint8_t *speed)
get the synthesis speed
uint8_t syn6288e_get_baud_rate(syn6288e_handle_t *handle, syn6288e_baud_rate_t *rate)
get the baud rate
uint8_t syn6288e_get_synthesis_volume(syn6288e_handle_t *handle, uint8_t *volume)
get the chip synthesis volume
uint8_t syn6288e_set_synthesis_speed(syn6288e_handle_t *handle, uint8_t speed)
set the synthesis speed
syn6288e_mode_t
syn6288e mode enumeration definition
uint8_t syn6288e_set_synthesis_volume(syn6288e_handle_t *handle, uint8_t volume)
set the chip synthesis volume
uint8_t syn6288e_get_background_volume(syn6288e_handle_t *handle, uint8_t *volume)
get the chip synthesis background volume
uint8_t syn6288e_get_mode(syn6288e_handle_t *handle, syn6288e_mode_t *mode)
get the chip mode
uint8_t syn6288e_set_mode(syn6288e_handle_t *handle, syn6288e_mode_t mode)
set the chip mode
@ SYN6288E_BAUD_RATE_9600_BPS
@ SYN6288E_MODE_BACKGROUND_15
syn6288e_type_t
syn6288e type enumeration definition
uint8_t syn6288e_init(syn6288e_handle_t *handle)
initialize the chip
uint8_t syn6288e_deinit(syn6288e_handle_t *handle)
close the chip
uint8_t syn6288e_info(syn6288e_info_t *info)
get chip's information
uint8_t syn6288e_set_text_type(syn6288e_handle_t *handle, syn6288e_type_t type)
set the chip text type
struct syn6288e_handle_s syn6288e_handle_t
syn6288e handle structure definition
uint8_t syn6288e_get_text_type(syn6288e_handle_t *handle, syn6288e_type_t *type)
get the chip text type
struct syn6288e_info_s syn6288e_info_t
syn6288e information structure definition
@ SYN6288E_TYPE_GBK
@ SYN6288E_TYPE_BIG5
@ SYN6288E_TYPE_UNICODE
@ SYN6288E_TYPE_GB2312
uint8_t syn6288e_set_command(syn6288e_handle_t *handle, char *command)
send the command to the chip
uint8_t syn6288e_interface_uart_init(void)
interface uart init
uint8_t syn6288e_interface_uart_flush(void)
interface uart flush
void syn6288e_interface_delay_ms(uint32_t ms)
interface delay ms
uint16_t syn6288e_interface_uart_read(uint8_t *buf, uint16_t len)
interface uart read
void syn6288e_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t syn6288e_interface_uart_write(uint8_t *buf, uint16_t len)
interface uart write
uint8_t syn6288e_interface_uart_deinit(void)
interface uart deinit
uint8_t syn6288e_register_test(void)
register test
char manufacturer_name[32]