comparison src/aci2/aci/ati_audio.c @ 597:f18b29e27be5

First attempt at MCSI voice path automatic switching The function is implemented at the ACI level in both aci2 and aci3, successfully avoids triggering the DSP bug on the first call, but the shutdown of MCSI upon call completion is not working properly yet in either version.
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 27 Mar 2019 22:18:35 +0000
parents 96c1d047b3c6
children 8f50b202e81f
comparison
equal deleted inserted replaced
596:e4d46979846f 597:f18b29e27be5
166 166
167 return (ATI_CMPL); 167 return (ATI_CMPL);
168 } 168 }
169 169
170 #ifdef CONFIG_TARGET_FCDEV3B 170 #ifdef CONFIG_TARGET_FCDEV3B
171 extern UBYTE aci_digital_voice_autoswitch;
172
171 /* AT@VPATH - configure digital voice path */ 173 /* AT@VPATH - configure digital voice path */
172 GLOBAL T_ATI_RSLT atAtVPATH ( char *cl, UBYTE srcId ) 174 GLOBAL T_ATI_RSLT atAtVPATH ( char *cl, UBYTE srcId )
173 { 175 {
174 int vpath_int; 176 int vpath_int;
175 T_AUDIO_VOICE_PATH_SETTING vpath; 177 T_AUDIO_VOICE_PATH_SETTING vpath;
208 210
209 sprintf(g_sa, "%s%d", me, vpath); 211 sprintf(g_sa, "%s%d", me, vpath);
210 212
211 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); 213 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
212 214
215 return (ATI_CMPL);
216 }
217
218 /* AT@VSEL - configure digital voice path automatic operation */
219 GLOBAL T_ATI_RSLT atAtVSEL ( char *cl, UBYTE srcId )
220 {
221 int vsel_int;
222
223 TRACE_FUNCTION("atAtVSEL()");
224
225 cl = parse(cl, "D", &vsel_int);
226 if (!cl)
227 return (ATI_FAIL);
228 if (vsel_int != 0 && vsel_int != 1)
229 return (ATI_FAIL);
230 aci_digital_voice_autoswitch = vsel_int;
231 return (ATI_CMPL);
232 }
233
234 GLOBAL T_ATI_RSLT queatAtVSEL (char *cl, UBYTE srcId)
235 {
236 char *me="@VSEL: ";
237
238 TRACE_FUNCTION("queatAtVSEL()");
239
240 sprintf(g_sa, "%s%u", me, aci_digital_voice_autoswitch);
241 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
213 return (ATI_CMPL); 242 return (ATI_CMPL);
214 } 243 }
215 #endif 244 #endif
216 245
217 static char melody_E1_name[AUDIO_PATH_NAME_MAX_SIZE]; 246 static char melody_E1_name[AUDIO_PATH_NAME_MAX_SIZE];