annotate src/aci2/aci/ati_audio.c @ 516:1ed9de6c90bd

src/g23m-gsm/sms/sms_for.c: bogus malloc removed The new error handling code that was not present in TCS211 blob version contains a malloc call that is bogus for 3 reasons: 1) The memory allocation in question is not needed in the first place; 2) libc malloc is used instead of one of the firmware's proper ways; 3) The memory allocation is made inside a function and then never freed, i.e., a memory leak. This bug was caught in gcc-built FreeCalypso fw projects (Citrine and Selenite) because our gcc environment does not allow any use of libc malloc (any reference to malloc produces a link failure), but this code from TCS3.2 is wrong even for Magnetite: if this code path is executed repeatedly over a long time, the many small allocations made by this malloc call without a subsequent free will eventually exhaust the malloc heap provided by the TMS470 environment, malloc will start returning NULL, and the bogus code will treat it as an error. Because the memory allocation in question is not needed at all, the fix entails simply removing it.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 22 Jul 2018 06:04:49 +0000
parents bc1654e1e80d
children 96c1d047b3c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This ATI module and the AT commands implemented therein are a FreeCalypso
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * addition. The purpose of these AT commands is to exercise the audio
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * capabilities of the firmware - by using these commands, you should be
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * able to emit sounds from the speaker or record voice from the microphone
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * without needing to be in a call, and without bringing up GSM at all.
245
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
7 *
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
8 * Our corrected implementation of the AT@AUL command (originally added
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
9 * by Openmoko) has been moved into this module as well.
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #ifndef ATI_AUDIO_C
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #define ATI_AUDIO_C
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 #include "aci_all.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #include <ctype.h>
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 #include <string.h>
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 #include "aci_cmh.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 #include "ati_cmd.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 #include "aci_cmd.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #include "aci_io.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 #include "aci_cmd.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 #include "l4_tim.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 #include "line_edit.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 #include "aci_lst.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #include "pcm.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 #include "audio.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 #include "aci.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 #include "rx.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 #include "pwr.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 #include "l4_tim.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 #ifdef GPRS
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #ifdef DTI
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 #include "dti.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 #include "dti_conn_mng.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 #include "dti_cntrl_mng.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 #endif /* DTI */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 #include "gaci.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 #include "gaci_cmh.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 #include "gaci_cmd.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 #endif /* GPRS */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 #include "aci_mem.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 #include "aci_prs.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 #include "ati_int.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 #ifndef _SIMULATION_
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 #include "ffs/ffs.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 #endif
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 #ifdef FF_ATI_BAT
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 #include "typedefs.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 #include "gdd.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 #include "bat.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 #include "ati_bat.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 #endif /*FF_ATI_BAT*/
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 #include "audio/audio_api.h"
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 #include "audio.h" /* Condat */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
264
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
69 #include "fc-target.cfg"
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
70 #include "armio.h"
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
71
410
bc1654e1e80d AT@SPKR command in aci2 enabled for the D-Sample target
Mychaela Falconia <falcon@freecalypso.org>
parents: 289
diff changeset
72 #if defined(CONFIG_TARGET_DSAMPLE) || defined(CONFIG_TARGET_FCDEV3B)
264
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
73 /* AT@SPKR - turn loudspeaker amplifier on or off */
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
74 GLOBAL T_ATI_RSLT atAtSPKR ( char *cl, UBYTE srcId )
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
75 {
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
76 int state;
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
77
287
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
78 TRACE_FUNCTION("atAtSPKR()");
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
79
264
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
80 cl = parse(cl, "D", &state);
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
81 if (!cl)
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
82 return (ATI_FAIL);
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
83 if (state)
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
84 AI_SetBit(1);
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
85 else
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
86 AI_ResetBit(1);
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
87 return (ATI_CMPL);
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
88 }
287
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
89
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
90 GLOBAL T_ATI_RSLT queatAtSPKR (char *cl, UBYTE srcId)
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
91 {
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
92 char *me="@SPKR: ";
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
93 int state;
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
94
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
95 TRACE_FUNCTION("queatAtSPKR()");
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
96
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
97 state = AI_ReadBit(1);
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
98 sprintf(g_sa, "%s%d", me, state);
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
99
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
100 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
101
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
102 return (ATI_CMPL);
d85305a74518 aci2 AT@SPKR command: added query operation
Mychaela Falconia <falcon@freecalypso.org>
parents: 264
diff changeset
103 }
264
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
104 #endif
3edeadec6804 aci2: AT@SPKR command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 245
diff changeset
105
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 /* AT@SND - emit sound through Condat API */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 GLOBAL T_ATI_RSLT atAtSND ( char *cl, UBYTE srcId )
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 {
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 UBYTE sound_id = TONES_KEYBEEP;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 cl = parse(cl, "x", &sound_id);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 audio_PlaySoundID(AUDIO_SPEAKER, sound_id, 0, AUDIO_PLAY_ONCE);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 return (ATI_CMPL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 }
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 static void audio_callback(void *event_from_audio)
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 {
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 /* do nothing at this time */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 }
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120
245
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
121 /*
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
122 * PURPOSE : @AUL command (Audio table load)
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
123 */
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
124
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
125 static char aul_name[AUDIO_MODE_FILENAME_MAX_SIZE];
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
126
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
127 GLOBAL T_ATI_RSLT atAtAUL (char *cl, UBYTE srcId)
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
128 {
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
129 T_AUDIO_MODE_LOAD aul_param;
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
130 T_RV_RETURN return_path;
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
131
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
132 TRACE_FUNCTION("atAtAUL()");
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
133
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
134 cl = parse(cl, "S", (LONG)(sizeof(aul_param.audio_mode_filename)),
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
135 aul_param.audio_mode_filename);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
136 if (!cl || !aul_param.audio_mode_filename[0])
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
137 return (ATI_FAIL);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
138
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
139 /* Openmoko backward compatibility */
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
140 if (isdigit(aul_param.audio_mode_filename[0]) &&
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
141 !aul_param.audio_mode_filename[1])
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
142 sprintf(aul_param.audio_mode_filename, "para%c",
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
143 aul_param.audio_mode_filename[0]);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
144
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
145 return_path.addr_id = NULL;
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
146 return_path.callback_func = audio_callback;
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
147 if (audio_mode_load(&aul_param, return_path) == AUDIO_OK) {
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
148 strcpy(aul_name, aul_param.audio_mode_filename);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
149 return (ATI_CMPL);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
150 } else
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
151 return (ATI_FAIL);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
152 }
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
153
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
154 GLOBAL T_ATI_RSLT queatAtAUL (char *cl, UBYTE srcId)
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
155 {
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
156 char *me="@AUL: ";
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
157
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
158 TRACE_FUNCTION("queatAtAUL()");
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
159
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
160 if (aul_name[0])
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
161 sprintf(g_sa, "%s/aud/%s.cfg", me, aul_name);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
162 else
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
163 sprintf(g_sa, "%s", me);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
164
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
165 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
166
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
167 return (ATI_CMPL);
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
168 }
3b8d291ed45a aci2: AT@AUL reimplemented in the new FreeCalypso way
Mychaela Falconia <falcon@freecalypso.org>
parents: 244
diff changeset
169
288
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
170 #ifdef CONFIG_TARGET_FCDEV3B
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
171 /* AT@VPATH - configure digital voice path */
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
172 GLOBAL T_ATI_RSLT atAtVPATH ( char *cl, UBYTE srcId )
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
173 {
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
174 int vpath_int;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
175 T_AUDIO_VOICE_PATH_SETTING vpath;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
176 T_AUDIO_FULL_ACCESS_WRITE audio_param;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
177 T_RV_RETURN return_path;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
178
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
179 TRACE_FUNCTION("atAtVPATH()");
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
180
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
181 cl = parse(cl, "D", &vpath_int);
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
182 if (!cl)
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
183 return (ATI_FAIL);
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
184 vpath = vpath_int;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
185 audio_param.variable_indentifier = AUDIO_PATH_USED;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
186 audio_param.data = &vpath;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
187
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
188 return_path.addr_id = NULL;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
189 return_path.callback_func = audio_callback;
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
190 if (audio_full_access_write(&audio_param, return_path) == AUDIO_OK)
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
191 return (ATI_CMPL);
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
192 else
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
193 return (ATI_FAIL);
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
194 }
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
195
289
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
196 GLOBAL T_ATI_RSLT queatAtVPATH (char *cl, UBYTE srcId)
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
197 {
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
198 char *me="@VPATH: ";
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
199 T_AUDIO_VOICE_PATH_SETTING vpath;
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
200 T_AUDIO_FULL_ACCESS_READ audio_param;
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
201
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
202 TRACE_FUNCTION("queatAtVPATH()");
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
203
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
204 audio_param.variable_indentifier = AUDIO_PATH_USED;
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
205 audio_param.data = &vpath;
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
206 if (audio_full_access_read(&audio_param) != AUDIO_OK)
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
207 return (ATI_FAIL);
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
208
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
209 sprintf(g_sa, "%s%d", me, vpath);
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
210
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
211 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT);
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
212
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
213 return (ATI_CMPL);
8dd51b740701 AT@VPATH query implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 288
diff changeset
214 }
288
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
215 #endif
dd3374eac8a3 AT@VPATH setting implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 287
diff changeset
216
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 /* AT@E1 - play an E1 format melody */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 GLOBAL T_ATI_RSLT atAtE1 ( char *cl, UBYTE srcId )
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219 {
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 T_AUDIO_MELODY_E1_PARAMETER e1_param;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 T_RV_RETURN return_path;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
223 cl = parse(cl, "S", (LONG)(sizeof(e1_param.melody_name)),
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 e1_param.melody_name);
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
225 if (!cl || !e1_param.melody_name[0])
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 e1_param.loopback = AUDIO_MELODY_NO_LOOPBACK;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 e1_param.melody_mode = AUDIO_MELODY_NORMAL_MODE;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 return_path.addr_id = NULL;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 return_path.callback_func = audio_callback;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 if (audio_melody_E1_start(&e1_param, return_path) == AUDIO_OK)
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 return (ATI_CMPL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 else
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 }
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 /* AT@E2 - play an E2 format melody */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 GLOBAL T_ATI_RSLT atAtE2 ( char *cl, UBYTE srcId )
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 {
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 T_AUDIO_MELODY_E2_PARAMETER e2_param;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 T_RV_RETURN return_path;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
244 cl = parse(cl, "S", (LONG)(sizeof(e2_param.melody_E2_name)),
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 e2_param.melody_E2_name);
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
246 if (!cl || !e2_param.melody_E2_name[0])
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 e2_param.E2_loopback = AUDIO_MELODY_NO_LOOPBACK;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 e2_param.melody_E2_mode = AUDIO_MELODY_NORMAL_MODE;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 return_path.addr_id = NULL;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 return_path.callback_func = audio_callback;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 if (audio_melody_E2_start(&e2_param, return_path) == AUDIO_OK)
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 return (ATI_CMPL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 else
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 }
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 /* AT@E2LSI - load melody E2 instrument list file */
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 GLOBAL T_ATI_RSLT atAtE2LSI ( char *cl, UBYTE srcId )
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261 {
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 T_AUDIO_MELODY_E2_LOAD_FILE_INSTR_PARAMETER e2_lsi_param;
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
264 cl = parse(cl, "S", (LONG)(sizeof(e2_lsi_param.melody_E2_file_name)),
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 e2_lsi_param.melody_E2_file_name);
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
266 if (!cl || !e2_lsi_param.melody_E2_file_name[0])
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269 if (audio_melody_E2_load_file_instruments(&e2_lsi_param) == AUDIO_OK)
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 return (ATI_CMPL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 else
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272 return (ATI_FAIL);
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 }
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274
239
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
275 /* AT@TONE - exercise TONES through RiViera Audio Service API */
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
276 GLOBAL T_ATI_RSLT atAtTONE ( char *cl, UBYTE srcId )
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
277 {
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
278 int tone_start[3], tone_stop[3], tone_freq[3], tone_ampl[3];
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
279 int frame_dur, sequence_dur, period_dur, repetition;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
280 int i;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
281 T_AUDIO_TONES_PARAMETER t;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
282 T_RV_RETURN return_path;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
283
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
284 cl = parse(cl, "DDDDDDDDDDDDDDDD",
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
285 &tone_start[0], &tone_stop[0], &tone_freq[0], &tone_ampl[0],
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
286 &tone_start[1], &tone_stop[1], &tone_freq[1], &tone_ampl[1],
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
287 &tone_start[2], &tone_stop[2], &tone_freq[2], &tone_ampl[2],
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
288 &frame_dur, &sequence_dur, &period_dur, &repetition);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
289 if (!cl)
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
290 return (ATI_FAIL);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
291 for (i = 0; i < 3; i++) {
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
292 t.tones[i].start_tone = tone_start[i];
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
293 t.tones[i].stop_tone = tone_stop[i];
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
294 t.tones[i].frequency_tone = tone_freq[i];
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
295 t.tones[i].amplitude_tone = -tone_ampl[i];
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
296 }
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
297 t.frame_duration = frame_dur;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
298 t.sequence_duration = sequence_dur;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
299 t.period_duration = period_dur;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
300 t.repetition = repetition;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
301
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
302 return_path.addr_id = NULL;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
303 return_path.callback_func = audio_callback;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
304 if (audio_tones_start(&t, return_path) == AUDIO_OK)
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
305 return (ATI_CMPL);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
306 else
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
307 return (ATI_FAIL);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
308 }
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
309
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
310 /* AT@TSTOP - stop tones started with AT@TONE */
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
311 GLOBAL T_ATI_RSLT atAtTSTOP ( char *cl, UBYTE srcId )
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
312 {
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
313 T_RV_RETURN return_path;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
314
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
315 return_path.addr_id = NULL;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
316 return_path.callback_func = audio_callback;
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
317 if (audio_tones_stop(return_path) == AUDIO_OK)
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
318 return (ATI_CMPL);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
319 else
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
320 return (ATI_FAIL);
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
321 }
e0b9c21d7908 AT@TONE and AT@TSTOP audio test commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 226
diff changeset
322
240
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
323 /* AT@VMP - play back a voice memo recording */
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
324 GLOBAL T_ATI_RSLT atAtVMP ( char *cl, UBYTE srcId )
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
325 {
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
326 T_AUDIO_VM_PLAY_PARAMETER play_param;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
327 T_RV_RETURN return_path;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
328
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
329 cl = parse(cl, "S", (LONG)(sizeof(play_param.memo_name)),
240
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
330 play_param.memo_name);
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
331 if (!cl || !play_param.memo_name[0])
240
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
332 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
333
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
334 return_path.addr_id = NULL;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
335 return_path.callback_func = audio_callback;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
336 if (audio_vm_play_start(&play_param, return_path) == AUDIO_OK)
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
337 return (ATI_CMPL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
338 else
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
339 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
340 }
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
341
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
342 /* AT@VMPS - stop VM play started with AT@VMP */
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
343 GLOBAL T_ATI_RSLT atAtVMPS ( char *cl, UBYTE srcId )
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
344 {
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
345 T_RV_RETURN return_path;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
346
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
347 return_path.addr_id = NULL;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
348 return_path.callback_func = audio_callback;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
349 if (audio_vm_play_stop(return_path) == AUDIO_OK)
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
350 return (ATI_CMPL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
351 else
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
352 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
353 }
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
354
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
355 static const T_AUDIO_TONES_PARAMETER recorder_warning_tone = {
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
356 0, 500, 1400, -5,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
357 0, 500, 0, 0,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
358 0, 500, 0, 0,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
359 500, 500, 15000, TONE_INFINITE
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
360 };
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
361
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
362 /* AT@VMR - record a voice memo */
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
363 GLOBAL T_ATI_RSLT atAtVMR ( char *cl, UBYTE srcId )
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
364 {
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
365 T_AUDIO_VM_RECORD_PARAMETER record_param;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
366 int duration = 0, compression = 0;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
367 LONG mic_gain = 0x100, network_gain = 0x100;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
368 T_RV_RETURN return_path;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
369
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
370 cl = parse(cl, "Sddyy", (LONG)(sizeof(record_param.memo_name)),
240
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
371 record_param.memo_name, &duration, &compression,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
372 &mic_gain, &network_gain);
244
bec9198fc306 aci2 ati_audio.c: my understanding of the 's' parser type was incorrect
Mychaela Falconia <falcon@freecalypso.org>
parents: 240
diff changeset
373 if (!cl || !record_param.memo_name[0] || !duration)
240
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
374 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
375 record_param.memo_duration = duration;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
376 record_param.compression_mode = compression;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
377 record_param.microphone_gain = mic_gain;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
378 record_param.network_gain = network_gain;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
379
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
380 return_path.addr_id = NULL;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
381 return_path.callback_func = audio_callback;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
382 if (audio_vm_record_start(&record_param,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
383 (T_AUDIO_TONES_PARAMETER *)
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
384 &recorder_warning_tone,
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
385 return_path) == AUDIO_OK)
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
386 return (ATI_CMPL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
387 else
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
388 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
389 }
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
390
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
391 /* AT@VMRS - stop VM recording started with AT@VMR */
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
392 GLOBAL T_ATI_RSLT atAtVMRS ( char *cl, UBYTE srcId )
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
393 {
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
394 T_RV_RETURN return_path;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
395
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
396 return_path.addr_id = NULL;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
397 return_path.callback_func = audio_callback;
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
398 if (audio_vm_record_stop(return_path) == AUDIO_OK)
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
399 return (ATI_CMPL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
400 else
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
401 return (ATI_FAIL);
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
402 }
9034c3a7267e Voice memo recording and playback test AT commands implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 239
diff changeset
403
226
67fe1b3f4bd7 aci2: added some AT commands for exercising audio functions
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
404 #endif /* ATI_AUDIO_C */