LibDriver LD3320
Loading...
Searching...
No Matches
driver_ld3320_asr.c
Go to the documentation of this file.
1
36
37#include "driver_ld3320_asr.h"
38
39static ld3320_handle_t gs_handle;
40
49{
50 if (ld3320_irq_handler(&gs_handle) != 0)
51 {
52 return 1;
53 }
54 else
55 {
56 return 0;
57 }
58}
59
68uint8_t ld3320_asr_init(void (*receive_callback)(uint8_t type, uint8_t index, char *text))
69{
70 uint8_t res;
71
72 /* link driver */
84 DRIVER_LD3320_LINK_DEBUG_RECEIVE_CALLBACK(&gs_handle, receive_callback);
88
89 /* init chip */
90 res = ld3320_init(&gs_handle);
91 if (res != 0)
92 {
93 ld3320_interface_debug_print("ld3320: init failed.\n");
94
95 return 1;
96 }
97
98 /* set asr mode */
99 res = ld3320_set_mode(&gs_handle, LD3320_MODE_ASR);
100 if (res != 0)
101 {
102 ld3320_interface_debug_print("ld3320: set mode failed.\n");
103 (void)ld3320_deinit(&gs_handle);
104
105 return 1;
106 }
107
108 /* set default mic gain */
110 if (res != 0)
111 {
112 ld3320_interface_debug_print("ld3320: set mic gain failed.\n");
113 (void)ld3320_deinit(&gs_handle);
114
115 return 1;
116 }
117
118 /* set default vad */
119 res = ld3320_set_vad(&gs_handle, LD3320_ASR_DEFAULT_VAD);
120 if (res != 0)
121 {
122 ld3320_interface_debug_print("ld3320: set vad failed.\n");
123 (void)ld3320_deinit(&gs_handle);
124
125 return 1;
126 }
127
128 return 0;
129}
130
140uint8_t ld3320_asr_set_keys(char (*text)[50], uint8_t len)
141{
142 uint8_t res;
143
144 res = ld3320_set_key_words(&gs_handle, text, len);
145 if (res != 0)
146 {
147 return 1;
148 }
149 else
150 {
151 return 0;
152 }
153}
154
162uint8_t ld3320_asr_start(void)
163{
164 uint8_t res;
165
166 /* start */
167 res = ld3320_start(&gs_handle);
168 if (res != 0)
169 {
170 return 1;
171 }
172 else
173 {
174 return 0;
175 }
176}
177
185uint8_t ld3320_asr_stop(void)
186{
187 uint8_t res;
188
189 /* stop */
190 res = ld3320_stop(&gs_handle);
191 if (res != 0)
192 {
193 return 1;
194 }
195 else
196 {
197 return 0;
198 }
199}
200
208uint8_t ld3320_asr_deinit(void)
209{
210 uint8_t res;
211
212 /* asr deinit */
213 res = ld3320_deinit(&gs_handle);
214 if (res != 0)
215 {
216 return 1;
217 }
218 else
219 {
220 return 0;
221 }
222}
driver ld3320 asr header file
uint8_t ld3320_set_vad(ld3320_handle_t *handle, ld3320_vad_t vad)
set the vad
uint8_t ld3320_deinit(ld3320_handle_t *handle)
deinit the chip
uint8_t ld3320_stop(ld3320_handle_t *handle)
stop the process
uint8_t ld3320_init(ld3320_handle_t *handle)
initialize the chip
uint8_t ld3320_set_key_words(ld3320_handle_t *handle, char text[50][50], uint8_t len)
set the key words
struct ld3320_handle_s ld3320_handle_t
ld3320 handle structure definition
uint8_t ld3320_start(ld3320_handle_t *handle)
start the process
uint8_t ld3320_irq_handler(ld3320_handle_t *handle)
irq handler
uint8_t ld3320_set_mode(ld3320_handle_t *handle, ld3320_mode_t mode)
set the chip mode
uint8_t ld3320_set_mic_gain(ld3320_handle_t *handle, ld3320_mic_gain_t gain)
set the microphone gain
@ LD3320_MODE_ASR
uint8_t ld3320_asr_set_keys(char(*text)[50], uint8_t len)
asr example set keys
uint8_t ld3320_asr_irq_handler(void)
asr irq
uint8_t ld3320_asr_stop(void)
asr example stop
uint8_t ld3320_asr_start(void)
asr example start
#define LD3320_ASR_DEFAULT_VAD
uint8_t ld3320_asr_init(void(*receive_callback)(uint8_t type, uint8_t index, char *text))
asr example init
uint8_t ld3320_asr_deinit(void)
asr example deinit
#define LD3320_ASR_DEFAULT_MIC_GAIN
ld3320 asr example default definition
uint8_t ld3320_interface_mp3_read(uint32_t addr, uint16_t size, uint8_t *buffer)
interface mp3 read
uint8_t ld3320_interface_reset_gpio_init(void)
interface reset gpio init
uint8_t ld3320_interface_spi_write_cmd(uint8_t *buf, uint16_t len)
interface spi bus write
void ld3320_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t ld3320_interface_reset_gpio_deinit(void)
interface reset gpio deinit
uint8_t ld3320_interface_spi_init(void)
interface spi bus init
uint8_t ld3320_interface_reset_gpio_write(uint8_t data)
interface reset gpio write
uint8_t ld3320_interface_spi_read_address16(uint16_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t ld3320_interface_mp3_deinit(void)
interface mp3 deinit
uint8_t ld3320_interface_spi_deinit(void)
interface spi bus deinit
uint8_t ld3320_interface_mp3_init(char *name, uint32_t *size)
interface mp3 init
void ld3320_interface_delay_us(uint32_t us)
interface delay us
void ld3320_interface_debug_print(const char *const fmt,...)
interface print format data