LibDriver SYN6288
Loading...
Searching...
No Matches
driver_syn6288_register_test.c
Go to the documentation of this file.
1
37
39
40static syn6288_handle_t gs_handle;
41
50{
51 uint8_t res;
52 uint8_t volume;
53 uint8_t speed;
54 char s[32];
56 syn6288_mode_t mode;
57 syn6288_info_t info;
58 syn6288_type_t type;
59
60 /* link interface function */
69
70 /* get syn6288 information */
71 res = syn6288_info(&info);
72 if (res != 0)
73 {
74 syn6288_interface_debug_print("syn6288: get info failed.\n");
75
76 return 1;
77 }
78 else
79 {
80 /* print chip information */
81 syn6288_interface_debug_print("syn6288: chip is %s.\n", info.chip_name);
82 syn6288_interface_debug_print("syn6288: manufacturer is %s.\n", info.manufacturer_name);
83 syn6288_interface_debug_print("syn6288: interface is %s.\n", info.interface);
84 syn6288_interface_debug_print("syn6288: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
85 syn6288_interface_debug_print("syn6288: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
86 syn6288_interface_debug_print("syn6288: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
87 syn6288_interface_debug_print("syn6288: max current is %0.2fmA.\n", info.max_current_ma);
88 syn6288_interface_debug_print("syn6288: max temperature is %0.1fC.\n", info.temperature_max);
89 syn6288_interface_debug_print("syn6288: min temperature is %0.1fC.\n", info.temperature_min);
90 }
91
92 /* syn6288 init */
93 res = syn6288_init(&gs_handle);
94 if (res != 0)
95 {
96 syn6288_interface_debug_print("syn6288: init failed.\n");
97
98 return 1;
99 }
100
101 /* start register test */
102 syn6288_interface_debug_print("syn6288: start register test.\n");
103
104 /* syn6288_set_baud_rate/syn6288_get_baud_rate test */
105 syn6288_interface_debug_print("syn6288: syn6288_set_baud_rate/syn6288_get_baud_rate test.\n");
107 if (res != 0)
108 {
109 syn6288_interface_debug_print("syn6288: set baud rate failed.\n");
110 (void)syn6288_deinit(&gs_handle);
111
112 return 1;
113 }
114
115 /* set 9600 bps */
116 syn6288_interface_debug_print("syn6288: set 9600 bps.\n");
117 res = syn6288_get_baud_rate(&gs_handle, &rate);
118 if (res != 0)
119 {
120 syn6288_interface_debug_print("syn6288: get baud rate failed.\n");
121 (void)syn6288_deinit(&gs_handle);
122
123 return 1;
124 }
125 syn6288_interface_debug_print("syn6288: check baud rate %s.\n", rate==SYN6288_BAUD_RATE_9600_BPS?"ok":"error");
126
127 /* syn6288_set_mode/syn6288_get_mode test */
128 syn6288_interface_debug_print("syn6288: syn6288_set_mode/syn6288_get_mode test.\n");
130 if (res != 0)
131 {
132 syn6288_interface_debug_print("syn6288: set mode failed.\n");
133 (void)syn6288_deinit(&gs_handle);
134
135 return 1;
136 }
137 syn6288_interface_debug_print("syn6288: set background_15 mode.\n");
138 res = syn6288_get_mode(&gs_handle, &mode);
139 if (res != 0)
140 {
141 syn6288_interface_debug_print("syn6288: get mode failed.\n");
142 (void)syn6288_deinit(&gs_handle);
143
144 return 1;
145 }
146 syn6288_interface_debug_print("syn6288: check mode %s.\n", mode==SYN6288_MODE_BACKGROUND_15?"ok":"error");
147
148 /* syn6288_set_text_type/syn6288_get_text_type test */
149 syn6288_interface_debug_print("syn6288: syn6288_set_text_type/syn6288_get_text_type test.\n");
150
151 /* set GB2312 */
153 if (res != 0)
154 {
155 syn6288_interface_debug_print("syn6288: set text type failed.\n");
156 (void)syn6288_deinit(&gs_handle);
157
158 return 1;
159 }
160 syn6288_interface_debug_print("syn6288: set gb2312 text type.\n");
161 res = syn6288_get_text_type(&gs_handle, &type);
162 if (res != 0)
163 {
164 syn6288_interface_debug_print("syn6288: get text type failed.\n");
165 (void)syn6288_deinit(&gs_handle);
166
167 return 1;
168 }
169 syn6288_interface_debug_print("syn6288: check text type %s.\n", type==SYN6288_TYPE_GB2312?"ok":"error");
170
171 /* set GBK */
172 res = syn6288_set_text_type(&gs_handle, SYN6288_TYPE_GBK);
173 if (res != 0)
174 {
175 syn6288_interface_debug_print("syn6288: set text type failed.\n");
176 (void)syn6288_deinit(&gs_handle);
177
178 return 1;
179 }
180 syn6288_interface_debug_print("syn6288: set gbk text type.\n");
181 res = syn6288_get_text_type(&gs_handle, &type);
182 if (res != 0)
183 {
184 syn6288_interface_debug_print("syn6288: get text type failed.\n");
185 (void)syn6288_deinit(&gs_handle);
186
187 return 1;
188 }
189 syn6288_interface_debug_print("syn6288: check text type %s.\n", type==SYN6288_TYPE_GBK?"ok":"error");
190
191 /* set BIG5 */
192 res = syn6288_set_text_type(&gs_handle, SYN6288_TYPE_BIG5);
193 if (res != 0)
194 {
195 syn6288_interface_debug_print("syn6288: set text type failed.\n");
196 (void)syn6288_deinit(&gs_handle);
197
198 return 1;
199 }
200 syn6288_interface_debug_print("syn6288: set big5 text type.\n");
201 res = syn6288_get_text_type(&gs_handle, &type);
202 if (res != 0)
203 {
204 syn6288_interface_debug_print("syn6288: get text type failed.\n");
205 (void)syn6288_deinit(&gs_handle);
206
207 return 1;
208 }
209 syn6288_interface_debug_print("syn6288: check text type %s.\n", type==SYN6288_TYPE_BIG5?"ok":"error");
210
211 /* set UNICODE */
213 if (res != 0)
214 {
215 syn6288_interface_debug_print("syn6288: set text type failed.\n");
216 (void)syn6288_deinit(&gs_handle);
217
218 return 1;
219 }
220 syn6288_interface_debug_print("syn6288: set unicode text type.\n");
221 res = syn6288_get_text_type(&gs_handle, &type);
222 if (res != 0)
223 {
224 syn6288_interface_debug_print("syn6288: get text type failed.\n");
225 (void)syn6288_deinit(&gs_handle);
226
227 return 1;
228 }
229 syn6288_interface_debug_print("syn6288: check text type %s.\n", type==SYN6288_TYPE_UNICODE?"ok":"error");
230
231 /* syn6288_set_synthesis_volume/syn6288_get_synthesis_volume test */
232 syn6288_interface_debug_print("syn6288: syn6288_set_synthesis_volume/syn6288_get_synthesis_volume test.\n");
233 res = syn6288_set_synthesis_volume(&gs_handle, 6);
234 if (res != 0)
235 {
236 syn6288_interface_debug_print("syn6288: set synthesis volume failed.\n");
237 (void)syn6288_deinit(&gs_handle);
238
239 return 1;
240 }
241 syn6288_interface_debug_print("syn6288: set synthesis volume 6.\n");
242 res = syn6288_get_synthesis_volume(&gs_handle, (uint8_t *)&volume);
243 if (res != 0)
244 {
245 syn6288_interface_debug_print("syn6288: get synthesis volume failed.\n");
246 (void)syn6288_deinit(&gs_handle);
247
248 return 1;
249 }
250 syn6288_interface_debug_print("syn6288: check synthesis volume %s.\n", volume==6?"ok":"error");
251
252 /* syn6288_set_background_volume/syn6288_get_background_volume test */
253 syn6288_interface_debug_print("syn6288: syn6288_set_background_volume/syn6288_get_background_volume test.\n");
254 res = syn6288_set_background_volume(&gs_handle, 8);
255 if (res != 0)
256 {
257 syn6288_interface_debug_print("syn6288: set background volume failed.\n");
258 (void)syn6288_deinit(&gs_handle);
259
260 return 1;
261 }
262 syn6288_interface_debug_print("syn6288: set background volume 8.\n");
263 res = syn6288_get_background_volume(&gs_handle, (uint8_t *)&volume);
264 if (res != 0)
265 {
266 syn6288_interface_debug_print("syn6288: get background volume failed.\n");
267 (void)syn6288_deinit(&gs_handle);
268
269 return 1;
270 }
271 syn6288_interface_debug_print("syn6288: check background volume %s.\n", volume==8?"ok":"error");
272
273 /* syn6288_set_synthesis_speed/syn6288_get_synthesis_speed test */
274 syn6288_interface_debug_print("syn6288: syn6288_set_synthesis_speed/syn6288_get_synthesis_speed test.\n");
275 res = syn6288_set_synthesis_speed(&gs_handle, 3);
276 if (res != 0)
277 {
278 syn6288_interface_debug_print("syn6288: set synthesis speed failed.\n");
279 (void)syn6288_deinit(&gs_handle);
280
281 return 1;
282 }
283 syn6288_interface_debug_print("syn6288: set synthesis speed 3.\n");
284 res = syn6288_get_synthesis_speed(&gs_handle, (uint8_t *)&speed);
285 if (res != 0)
286 {
287 syn6288_interface_debug_print("syn6288: get synthesis speed failed.\n");
288 (void)syn6288_deinit(&gs_handle);
289
290 return 1;
291 }
292 syn6288_interface_debug_print("syn6288: check synthesis speed %s.\n", speed==3?"ok":"error");
293
294 /* syn6288_set_command test */
295 syn6288_interface_debug_print("syn6288: syn6288_set_command test.\n");
296 memset(s, 0, sizeof(char) * 32);
297 strncpy(s, "[y1]", 32);
298 res = syn6288_set_command(&gs_handle, s);
299 if (res != 0)
300 {
301 syn6288_interface_debug_print("syn6288: set command failed.\n");
302 (void)syn6288_deinit(&gs_handle);
303
304 return 1;
305 }
306 syn6288_interface_debug_print("syn6288: check command %s.\n", res==0?"ok":"error");
307
308 /* finish register test */
309 syn6288_interface_debug_print("syn6288: finish register test.\n");
310 (void)syn6288_deinit(&gs_handle);
311
312 return 0;
313}
driver syn6288 register test header file
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_15
@ SYN6288_BAUD_RATE_9600_BPS
uint8_t syn6288_init(syn6288_handle_t *handle)
initialize the chip
syn6288_type_t
syn6288 type enumeration definition
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_deinit(syn6288_handle_t *handle)
close the chip
struct syn6288_handle_s syn6288_handle_t
syn6288 handle structure definition
uint8_t syn6288_info(syn6288_info_t *info)
get chip's information
struct syn6288_info_s syn6288_info_t
syn6288 information structure definition
@ SYN6288_TYPE_GB2312
@ SYN6288_TYPE_UNICODE
@ SYN6288_TYPE_GBK
@ SYN6288_TYPE_BIG5
uint8_t syn6288_set_command(syn6288_handle_t *handle, char *command)
send the command to the chip
void syn6288_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t syn6288_interface_uart_flush(void)
interface uart flush
uint8_t syn6288_interface_uart_write(uint8_t *buf, uint16_t len)
interface uart write
uint16_t syn6288_interface_uart_read(uint8_t *buf, uint16_t len)
interface uart read
uint8_t syn6288_interface_uart_deinit(void)
interface uart deinit
void syn6288_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t syn6288_interface_uart_init(void)
interface uart init
uint8_t syn6288_register_test(void)
register test
uint32_t driver_version
char manufacturer_name[32]