FreeCalypso > hg > fc-tourmaline
annotate src/g23m-aci/aci/ati_fcmisc.c @ 301:4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
The speech version list in the Bearer Capability IE tells the network
which speech codecs are supported by the MS, and in which order of
preference. The standard behaviour is to list all codecs that are
supported by the hw+fw platform, and the standard preference order
is newer over older, FR over HR. But sometimes it is desirable
(for network testing) to artificially restrict which codecs the test MS
will declare as supported, and/or to list them in some peculiar
non-standard order of preference. Add a new private AT command,
AT%SPVER, allowing the user to set and clear custom speech version
lists for the Bearer Capability IE composer in CC.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 May 2023 21:43:10 +0000 |
parents | 91e61d00a6b5 |
children | d32ac4edb634 |
rev | line source |
---|---|
1
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This module implements miscellaneous FreeCalypso-added AT commands. |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 #ifndef ATI_FCMISC_C |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #define ATI_FCMISC_C |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include "aci_all.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <ctype.h> |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include <string.h> |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include "aci_cmh.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include "ati_cmd.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 #include "aci_cmd.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 #include "aci_io.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 #include "aci_cmd.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 #include "l4_tim.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 #include "line_edit.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #include "aci_lst.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #include "pcm.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #include "audio.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "aci.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "rx.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "pwr.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "l4_tim.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #ifdef GPRS |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #ifdef DTI |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "dti.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "dti_conn_mng.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "dti_cntrl_mng.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #endif /* DTI */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #include "gaci.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "gaci_cmh.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "gaci_cmd.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #endif /* GPRS */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #include "aci_mem.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #include "aci_prs.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "ati_int.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #ifndef _SIMULATION_ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #include "ffs/ffs.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #endif |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 #ifdef FF_ATI_BAT |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #include "typedefs.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #include "gdd.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #include "bat.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 #include "ati_bat.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #endif /*FF_ATI_BAT*/ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 |
301
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
59 #include "cl_user_spver.h" |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
60 |
296
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
61 #include "rv/rv_defined_swe.h" /* for RVM_BUZM_SWE and RVM_VIBR_SWE */ |
1
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 #include "main/sys_types.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 #include "fc-target.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 #include "armio.h" |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
299
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
66 #ifdef RVM_BUZM_SWE |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
67 #include "buzm/buzm_api.h" |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
68 #endif |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
69 |
296
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
70 #ifdef RVM_VIBR_SWE |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
71 #include "vibr/vibr_api.h" |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
72 #endif |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
73 |
1
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 extern SYS_UWORD8 SIM_allow_speed_enhancement; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 /* AT@SPENH - enable or disable SIM speed enhancement */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 GLOBAL T_ATI_RSLT atAtSPENH ( char *cl, UBYTE srcId ) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 int state, nonvol = 0; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 TRACE_FUNCTION("atAtSPENH()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 cl = parse(cl, "Dd", &state, &nonvol); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 if (!cl) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 if (state != 0 && state != 1) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 SIM_allow_speed_enhancement = state; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 if (!nonvol) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 ffs_mkdir("/etc"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 if (ffs_file_write("/etc/SIM_spenh", &SIM_allow_speed_enhancement, 1, |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 FFS_O_CREATE | FFS_O_TRUNC) == EFFS_OK) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 else |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 GLOBAL T_ATI_RSLT queatAtSPENH (char *cl, UBYTE srcId) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 char *me="@SPENH: "; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 TRACE_FUNCTION("queatAtSPENH()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 sprintf(g_sa, "%s%u", me, SIM_allow_speed_enhancement); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 |
301
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
110 /* AT%SPVER - set custom speech version list */ |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
111 GLOBAL T_ATI_RSLT atPercentSPVER (char *cl, UBYTE srcId) |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
112 { |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
113 UBYTE spver_set; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
114 UBYTE spver_list[5] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
115 UBYTE spver_rc; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
116 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
117 TRACE_FUNCTION("atPercentSPVER()"); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
118 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
119 cl = parse(cl, "Xxxxxx", &spver_set, &spver_list[0], &spver_list[1], |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
120 &spver_list[2], &spver_list[3], &spver_list[4]); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
121 if (!cl) |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
122 return (ATI_FAIL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
123 switch (spver_set) { |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
124 case CL_USER_SPVER_IS_NOT_SET: |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
125 cl_user_spver_reset(); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
126 return (ATI_CMPL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
127 case CL_USER_SPVER_IS_SET: |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
128 spver_rc = cl_user_spver_set(spver_list); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
129 if (spver_rc == CL_USER_SPVER_SET_OK) |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
130 return (ATI_CMPL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
131 else |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
132 return (ATI_FAIL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
133 default: |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
134 return (ATI_FAIL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
135 } |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
136 } |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
137 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
138 GLOBAL T_ATI_RSLT queatPercentSPVER (char *cl, UBYTE srcId) |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
139 { |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
140 UBYTE spver_set, rad_chan_req; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
141 UBYTE spver_list[5], n, sv; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
142 char *me="%SPVER: "; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
143 char add[5]; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
144 |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
145 spver_set = cl_user_spver_get(spver_list, &rad_chan_req); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
146 sprintf(g_sa, "%s%u", me, spver_set); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
147 if (spver_set == CL_USER_SPVER_IS_SET) { |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
148 for (n = 0; n < 5; n++) { |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
149 sv = spver_list[n]; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
150 if (sv == NOT_PRESENT_8BIT) |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
151 break; |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
152 sprintf(add, ",%u", sv); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
153 strcat(g_sa, add); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
154 } |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
155 } |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
156 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
157 return (ATI_CMPL); |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
158 } |
4bb5772a05a3
AT%SPVER: new command for setting custom speech version lists
Mychaela Falconia <falcon@freecalypso.org>
parents:
299
diff
changeset
|
159 |
1
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 #ifdef TARGET_HAS_LPG |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 /* AT@LPG - program LPG output */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 GLOBAL T_ATI_RSLT atAtLPG ( char *cl, UBYTE srcId ) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 unsigned glob, period = 0, ontime = 0; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 TRACE_FUNCTION("atAtLPG()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 cl = parse(cl, "Ddd", &glob, &period, &ontime); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 if (!cl) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 if (glob > 3 || period > 7 || ontime > 7) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 *(volatile SYS_UWORD8 *)0xFFFE7801 = 0x01; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 *(volatile SYS_UWORD8 *)0xFFFE7800 = |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 (glob << 6) | (ontime << 3) | period; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 GLOBAL T_ATI_RSLT queatAtLPG (char *cl, UBYTE srcId) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 char *me="@LPG: "; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 SYS_UWORD8 regval; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 unsigned glob, period, ontime; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 TRACE_FUNCTION("queatAtLPG()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 regval = *(volatile SYS_UWORD8 *)0xFFFE7800; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 glob = (regval >> 6) & 3; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 ontime = (regval >> 3) & 7; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 period = regval & 7; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 sprintf(g_sa, "%s%u,%u,%u", me, glob, period, ontime); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 #endif /* TARGET_HAS_LPG */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 #ifdef TARGET_HAS_PWL |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 /* AT@PWL - program PWL output */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 GLOBAL T_ATI_RSLT atAtPWL ( char *cl, UBYTE srcId ) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 unsigned level; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 TRACE_FUNCTION("atAtPWL()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 cl = parse(cl, "D", &level); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 if (!cl) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 if (level > 255) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 *(volatile SYS_UWORD8 *)0xFFFE8000 = level; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 *(volatile SYS_UWORD8 *)0xFFFE8001 = 0x01; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 GLOBAL T_ATI_RSLT queatAtPWL (char *cl, UBYTE srcId) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 char *me="@PWL: "; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 SYS_UWORD8 regval; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 TRACE_FUNCTION("queatAtPWL()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 regval = *(volatile SYS_UWORD8 *)0xFFFE8000; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 sprintf(g_sa, "%s%u", me, regval); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 #endif /* TARGET_HAS_PWL */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 /* AT+IOR - read GPIO pin */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 GLOBAL T_ATI_RSLT atPlusIOR (char *cl, UBYTE srcId) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 char *me="+IOR: "; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 unsigned ionum; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 int state; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 TRACE_FUNCTION("atPlusIOR()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 cl = parse(cl, "D", &ionum); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 if (!cl) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 if (ionum > 13) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 state = AI_ReadBit(ionum); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 sprintf(g_sa, "%s%u,%d", me, ionum, state); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 io_sendMessage(srcId, g_sa, ATI_NORMAL_OUTPUT); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 /* AT+IOW - set GPIO pin */ |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 GLOBAL T_ATI_RSLT atPlusIOW (char *cl, UBYTE srcId) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 { |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 unsigned ionum; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 int state; |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 TRACE_FUNCTION("atPlusIOW()"); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 cl = parse(cl, "DD", &ionum, &state); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 if (!cl) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 if (ionum > 13) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 return (ATI_FAIL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 if (state) |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 AI_SetBit(ionum); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 else |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 AI_ResetBit(ionum); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 return (ATI_CMPL); |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 } |
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 |
299
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
269 #ifdef RVM_BUZM_SWE |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
270 /* AT@BUZ - play a buzzer melody */ |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
271 GLOBAL T_ATI_RSLT atAtBUZ ( char *cl, UBYTE srcId ) |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
272 { |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
273 char melody_name[20]; |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
274 int play_volume = BUZM_VOLUME_MAX; |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
275 int loopback = 0; |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
276 |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
277 cl = parse(cl, "Sdd", (LONG)(sizeof(melody_name)), melody_name, |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
278 &play_volume, &loopback); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
279 if (!cl || !melody_name[0]) |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
280 return (ATI_FAIL); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
281 if (buzm_play_melody(melody_name, play_volume, loopback) == RV_OK) |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
282 return (ATI_CMPL); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
283 else |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
284 return (ATI_FAIL); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
285 } |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
286 |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
287 /* AT@BZSTOP - stop melody started with AT@BUZ */ |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
288 GLOBAL T_ATI_RSLT atAtBZSTOP ( char *cl, UBYTE srcId ) |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
289 { |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
290 if (buzm_stop_melody() == RV_OK) |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
291 return (ATI_CMPL); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
292 else |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
293 return (ATI_FAIL); |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
294 } |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
295 #endif |
91e61d00a6b5
add AT@BUZ and AT@BZSTOP commands for testing BUZM SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
296
diff
changeset
|
296 |
296
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
297 #ifdef RVM_VIBR_SWE |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
298 /* AT@VIBR - run the vibrator by way of VIBR SWE */ |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
299 GLOBAL T_ATI_RSLT atAtVIBR ( char *cl, UBYTE srcId ) |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
300 { |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
301 int num_pulses = VIBR_INFINITE; |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
302 int vibr_level = VIBR_LEVEL_MAX; |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
303 |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
304 cl = parse(cl, "dd", &num_pulses, &vibr_level); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
305 if (!cl) |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
306 return (ATI_FAIL); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
307 if (vibr_pulse_train_start(num_pulses, vibr_level) == RV_OK) |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
308 return (ATI_CMPL); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
309 else |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
310 return (ATI_FAIL); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
311 } |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
312 |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
313 /* AT@VIBS - stop vibration that was started with AT@VIBR */ |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
314 GLOBAL T_ATI_RSLT atAtVIBS ( char *cl, UBYTE srcId ) |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
315 { |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
316 if (vibr_pulse_train_stop() == RV_OK) |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
317 return (ATI_CMPL); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
318 else |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
319 return (ATI_FAIL); |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
320 } |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
321 #endif |
a927f030a4e0
add AT@VIBR and AT@VIBS commands for testing VIBR SWE
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
322 |
1
fa8dc04885d8
src/g23m-*: import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 #endif /* ATI_FCMISC_C */ |