annotate rvinterf/etmsync/tmsaur.c @ 1011:6d9b10633f10 default tip

etmsync Pirelli IMEI retrieval: fix poor use of printf() Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct where a static-allocated string was passed to printf() without any format arguments causes newer compilers to report a security problem. Given that formatted output is not needed here, just fixed string output, change printf() to fputs(), and direct the error message to stderr while at it.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 May 2024 17:29:57 +0000
parents 9da5fb3f42dd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
841
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This fc-tmsync module implements aur commands and operations.
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <sys/types.h>
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdlib.h>
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <string.h>
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <strings.h>
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include "etm.h"
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include "audio.h"
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #include "limits.h"
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #include "localtypes.h"
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 #include "exitcodes.h"
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 extern u_char rvi_msg[];
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 extern int rvi_msg_len;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 do_aur(param, data, size)
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 u_char *data;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 u_char cmdpkt[5];
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 cmdpkt[1] = ETM_AUDIO;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 cmdpkt[2] = 'R';
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 cmdpkt[3] = param;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 etm_pkt_exch(cmdpkt, 3);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 if (rvi_msg[3]) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 fprintf(stderr, "target error %u in response to aur\n",
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 rvi_msg[3]);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 return(ERROR_TARGET);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 if (rvi_msg_len < size + 7) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 fprintf(stderr, "target error: aur response too short\n");
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 return(ERROR_TARGET);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 if (rvi_msg[4] != 'R') {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 fprintf(stderr, "target error: aur response wrong type\n");
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 return(ERROR_TARGET);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 if (rvi_msg[5] != param) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 fprintf(stderr, "target error: aur response wrong index\n");
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 return(ERROR_TARGET);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 bcopy(rvi_msg + 6, data, size);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 return(0);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
842
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
49 static int
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
50 convert_signed_byte(b)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
51 {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
52 if (b >= 128)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
53 b -= 256;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
54 return(b);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
55 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
56
841
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 cmd_aur(argc, argv)
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 char **argv;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 unsigned param, word;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 u_char data[62];
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 int size, rc, i;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 param = strtoul(argv[1], 0, 0);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 switch (param) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 case AUDIO_PATH_USED:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 case AUDIO_MICROPHONE_MODE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 case AUDIO_MICROPHONE_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 case AUDIO_MICROPHONE_EXTRA_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 case AUDIO_MICROPHONE_OUTPUT_BIAS:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 case AUDIO_SPEAKER_MODE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 case AUDIO_SPEAKER_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 case AUDIO_SPEAKER_FILTER:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 case AUDIO_SPEAKER_BUZZER_STATE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 case AUDIO_MICROPHONE_SPEAKER_LOOP_SIDETONE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 case AUDIO_SPEAKER_VOLUME_LEVEL:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 size = 1;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 case AUDIO_MICROPHONE_FIR:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 case AUDIO_SPEAKER_FIR:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 size = 62;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 case AUDIO_MICROPHONE_SPEAKER_LOOP_AEC:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 size = 24;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 default:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 fprintf(stderr, "error: unknown aur parameter\n");
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 return(ERROR_USAGE);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 rc = do_aur(param, data, size);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 if (rc)
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 return(rc);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 switch (param) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 case AUDIO_PATH_USED:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 case AUDIO_SPEAKER_VOLUME_LEVEL:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 printf("%u\n", data[0]);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 case AUDIO_MICROPHONE_MODE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 case AUDIO_MICROPHONE_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 case AUDIO_MICROPHONE_EXTRA_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 case AUDIO_MICROPHONE_OUTPUT_BIAS:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 case AUDIO_SPEAKER_MODE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 case AUDIO_SPEAKER_GAIN:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 case AUDIO_SPEAKER_FILTER:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 case AUDIO_SPEAKER_BUZZER_STATE:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 case AUDIO_MICROPHONE_SPEAKER_LOOP_SIDETONE:
842
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
107 printf("%d\n", convert_signed_byte(data[0]));
841
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 case AUDIO_MICROPHONE_FIR:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 case AUDIO_SPEAKER_FIR:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 fputs("fir-coeff-table\n\n", stdout);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 for (i = 0; i < 31; i++) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 printf("0x%04X", (data[i*2+1] << 8) | data[i*2]);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 if (i == 7 || i == 15 || i == 23 || i == 30)
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 putchar('\n');
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 else
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 putchar(' ');
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 case AUDIO_MICROPHONE_SPEAKER_LOOP_AEC:
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 fputs("aec-new", stdout);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 for (i = 0; i < 12; i++) {
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 putchar(' ');
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 word = (data[i*2+1] << 8) | data[i*2];
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 if (word)
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 printf("0x%X", word);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 else
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 putchar('0');
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 putchar('\n');
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 break;
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 }
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 return(0);
379574e5cf5e fc-tmsync aur command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 }
842
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
135
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
136 cmd_aur_all(argc, argv)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
137 char **argv;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
138 {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
139 u_char data[62];
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
140 unsigned mic_mode, speaker_mode, word;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
141 int rc, i;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
142
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
143 rc = do_aur(AUDIO_PATH_USED, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
144 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
145 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
146 printf("voice-path %u\n", data[0]);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
147
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
148 rc = do_aur(AUDIO_MICROPHONE_MODE, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
149 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
150 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
151 mic_mode = data[0];
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
152 switch (mic_mode) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
153 case AUDIO_MICROPHONE_HANDHELD:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
154 printf("mic default {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
155 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
156 case AUDIO_MICROPHONE_HANDFREE:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
157 printf("mic aux {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
158 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
159 case AUDIO_MICROPHONE_HEADSET:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
160 printf("mic headset {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
161 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
162 default:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
163 fprintf(stderr, "error: unknown microphone mode 0x%02X\n",
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
164 mic_mode);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
165 return(ERROR_TARGET);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
166 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
167 rc = do_aur(AUDIO_MICROPHONE_GAIN, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
168 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
169 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
170 printf("\tgain %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
171 if (mic_mode == AUDIO_MICROPHONE_HANDFREE) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
172 rc = do_aur(AUDIO_MICROPHONE_EXTRA_GAIN, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
173 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
174 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
175 printf("\textra-gain %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
176 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
177 rc = do_aur(AUDIO_MICROPHONE_OUTPUT_BIAS, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
178 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
179 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
180 printf("\toutput-bias %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
181 rc = do_aur(AUDIO_MICROPHONE_FIR, data, 62);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
182 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
183 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
184 for (i = 0; i < 31; i++) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
185 if ((i % 8) == 0)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
186 printf("\tfir %2d", i);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
187 printf(" 0x%04X", (data[i*2+1] << 8) | data[i*2]);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
188 if (i == 7 || i == 15 || i == 23 || i == 30)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
189 putchar('\n');
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
190 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
191 puts("}");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
192
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
193 rc = do_aur(AUDIO_SPEAKER_MODE, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
194 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
195 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
196 speaker_mode = data[0];
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
197 switch (speaker_mode) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
198 case AUDIO_SPEAKER_HANDHELD:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
199 printf("speaker ear {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
200 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
201 case AUDIO_SPEAKER_HANDFREE:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
202 printf("speaker aux {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
203 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
204 case AUDIO_SPEAKER_HEADSET:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
205 printf("speaker headset {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
206 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
207 case AUDIO_SPEAKER_HANDHELD_HANDFREE:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
208 printf("speaker ear+aux {\n");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
209 break;
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
210 default:
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
211 fprintf(stderr, "error: unknown speaker mode 0x%02X\n",
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
212 speaker_mode);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
213 return(ERROR_TARGET);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
214 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
215 rc = do_aur(AUDIO_SPEAKER_GAIN, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
216 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
217 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
218 printf("\tgain %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
219 rc = do_aur(AUDIO_SPEAKER_FILTER, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
220 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
221 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
222 printf("\taudio-filter %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
223 rc = do_aur(AUDIO_SPEAKER_FIR, data, 62);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
224 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
225 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
226 for (i = 0; i < 31; i++) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
227 if ((i % 8) == 0)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
228 printf("\tfir %2d", i);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
229 printf(" 0x%04X", (data[i*2+1] << 8) | data[i*2]);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
230 if (i == 7 || i == 15 || i == 23 || i == 30)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
231 putchar('\n');
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
232 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
233 puts("}");
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
234
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
235 rc = do_aur(AUDIO_MICROPHONE_SPEAKER_LOOP_SIDETONE, data, 1);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
236 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
237 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
238 printf("sidetone %d\n", convert_signed_byte(data[0]));
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
239 rc = do_aur(AUDIO_MICROPHONE_SPEAKER_LOOP_AEC, data, 24);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
240 if (rc)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
241 return(rc);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
242 fputs("aec-new", stdout);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
243 for (i = 0; i < 12; i++) {
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
244 putchar(' ');
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
245 word = (data[i*2+1] << 8) | data[i*2];
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
246 if (word)
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
247 printf("0x%X", word);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
248 else
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
249 putchar('0');
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
250 }
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
251 putchar('\n');
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
252 return(0);
9da5fb3f42dd fc-tmsync aur-all command implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 841
diff changeset
253 }