annotate rvinterf/etmsync/l1tmcmd.c @ 922:3152e23399a2

document SE K2x0 FFS quirks and our support for them
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 02 Jan 2023 00:50:19 +0000
parents aec320fe2653
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module contains the user command wrappers around the functions
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * in the l1tmops.c module.
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <sys/types.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <ctype.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <stdio.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <string.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <strings.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <stdlib.h>
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #include "pktmux.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #include "limits.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 #include "localtypes.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 #include "tm3.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 #include "l1tm.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #include "exitcodes.h"
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 extern void write_afcparams_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 extern void write_agcwords_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 extern void write_agcglobals_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 extern void write_il2agc_table();
290
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
23 extern void write_tx_ramps_table();
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 extern void write_tx_levels_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 extern void write_tx_calchan_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 extern void write_tx_caltemp_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 extern void write_rx_calchan_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 extern void write_rx_caltemp_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 extern void write_rx_agcparams_table();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 cmd_tms(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 u16 arg;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 arg = strtoul(argv[1], 0, 0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 return do_tms(arg);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 static
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 is_num_string(argstr)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 char *argstr;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 char *cp = argstr;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 if (!isdigit(*cp++))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 while (*cp) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 if (!isdigit(*cp++))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 return(1);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 struct kwtab {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 char *kw;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 int val;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 };
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 static
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 keyword_or_num(argstr, kwtab, valp)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 char *argstr;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 struct kwtab *kwtab;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 u16 *valp;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 struct kwtab *tp;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 if (is_num_string(argstr)) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 *valp = atoi(argstr);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 for (tp = kwtab; tp->kw; tp++) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 if (!strcmp(tp->kw, argstr)) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 *valp = tp->val;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 printf("error: non-numeric argument not understood\n");
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 static struct kwtab rf_param_arg[] = {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 {"bcch-arfcn", BCCH_ARFCN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 {"tch-arfcn", TCH_ARFCN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 {"mon-arfcn", MON_ARFCN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 {"pdtch-arfcn", PDTCH_ARFCN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 {"std-band", STD_BAND_FLAG},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 {"afc-enable", AFC_ENA_FLAG},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 {"afc-dac-val", AFC_DAC_VALUE},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 {"init-afc-dac", INITIAL_AFC_DAC},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 {"multislot-class", MULTISLOT_CLASS},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 {0, 0}
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 };
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 cmd_rfpw2(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 u16 index, value;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 if (keyword_or_num(argv[1], rf_param_arg, &index))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 value = strtol(argv[2], 0, 0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 return do_rfpw(index, value);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 cmd_rfpw3(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 u16 index;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 u8 val1, val2;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 if (keyword_or_num(argv[1], rf_param_arg, &index))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 val1 = strtoul(argv[2], 0, 0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 val2 = strtoul(argv[3], 0, 0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 return do_rfpw(index, (val2 << 8) | val1);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 cmd_rfpw(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 switch (argc) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 case 3:
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 return cmd_rfpw2(argc, argv);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 case 4:
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 return cmd_rfpw3(argc, argv);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 default:
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 fprintf(stderr, "BUG: wrong argc in cmd_rfpw()\n");
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 return(ERROR_BUG);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 cmd_rfpr(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 u16 index, val;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 int rc;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 if (keyword_or_num(argv[1], rf_param_arg, &index))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 rc = do_rfpr(index, &val);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 if (rc)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 return(rc);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 if (val >= 0x8000)
275
81da9717babe fc-tmsync: missed newline at the end of rfpr output
Mychaela Falconia <falcon@freecalypso.org>
parents: 273
diff changeset
145 printf("read value: 0x%04X (%u or %d)\n", val, val,
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 (int)val - 65536);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 else
275
81da9717babe fc-tmsync: missed newline at the end of rfpr output
Mychaela Falconia <falcon@freecalypso.org>
parents: 273
diff changeset
148 printf("read value: 0x%04X (%u)\n", val, val);
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 static struct kwtab rf_table_arg[] = {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 {"rx-agc-table", RX_AGC_TABLE},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 {"afcparams", AFC_PARAMS},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 {"rx-agc-global-params", RX_AGC_GLOBAL_PARAMS},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 {"rx-il2agc-max", RX_IL_2_AGC_MAX},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 {"rx-il2agc-pwr", RX_IL_2_AGC_PWR},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 {"rx-il2agc-av", RX_IL_2_AGC_AV},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 {"tx-levels", TX_LEVELS},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 {"tx-calchan", TX_CAL_CHAN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 {"tx-caltemp", TX_CAL_TEMP},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 {"rx-calchan", RX_CAL_CHAN},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 {"rx-caltemp", RX_CAL_TEMP},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 {"rx-agcparams", RX_AGC_PARAMS},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 {0, 0}
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 };
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 static struct table_map {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 int index;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 int size;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 void (*func)();
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 } table_map[] = {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 {RX_AGC_TABLE, 40, write_agcwords_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 {AFC_PARAMS, 24, write_afcparams_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 {RX_AGC_GLOBAL_PARAMS, 8, write_agcglobals_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 {RX_IL_2_AGC_MAX, 121, write_il2agc_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 {RX_IL_2_AGC_PWR, 121, write_il2agc_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 {RX_IL_2_AGC_AV, 121, write_il2agc_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 {TX_LEVELS, 128, write_tx_levels_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 {TX_CAL_CHAN, 128, write_tx_calchan_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 {TX_CAL_TEMP, 40, write_tx_caltemp_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 {RX_CAL_CHAN, 40, write_rx_calchan_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 {RX_CAL_TEMP, 44, write_rx_caltemp_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 {RX_AGC_PARAMS, 8, write_rx_agcparams_table},
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 {0, 0, 0}
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 };
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 cmd_rftr(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191 u16 index;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 struct table_map *tp;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 u_char table_data[MAX_RF_TABLE_SIZE];
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 int rc;
290
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
195 FILE *of;
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197 if (keyword_or_num(argv[1], rf_table_arg, &index))
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 for (tp = table_map; tp->index; tp++) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200 if (tp->index == index)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201 break;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 if (!tp->index) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 printf("error: table index %u not supported, use fc-tmsh\n",
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 index);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 rc = do_rftr(index, table_data, tp->size);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 if (rc)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 return(rc);
290
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
211 if (argv[2]) {
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
212 of = fopen(argv[2], "w");
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
213 if (!of) {
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
214 perror(argv[2]);
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
215 return(ERROR_UNIX);
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
216 }
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
217 tp->func(table_data, of);
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
218 fclose(of);
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
219 } else
94234e9c843b fc-tmsync: rftr save to file implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 275
diff changeset
220 tp->func(table_data, stdout);
273
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 cmd_ttr(argc, argv)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225 char **argv;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 unsigned index;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 u_char ramp_data[32];
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 int rc;
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 index = strtoul(argv[1], 0, 0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 if (index >= 16) {
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 printf("error: index out of range\n");
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 return(ERROR_USAGE);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 }
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 rc = do_ttr(index, ramp_data);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 if (rc)
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 return(rc);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 write_tx_ramp(ramp_data, stdout);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 return(0);
18a8fb3d845b fc-tmsync: user command wrappers implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 }
291
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
242
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
243 cmd_ttr_all(argc, argv)
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
244 char **argv;
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
245 {
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
246 u_char table[512];
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
247 int rc, i;
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
248 FILE *of;
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
249
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
250 for (i = 0; i < 16; i++) {
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
251 rc = do_ttr(i, table + i * 32);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
252 if (rc)
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
253 return(rc);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
254 }
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
255 of = fopen(argv[1], "w");
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
256 if (!of) {
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
257 perror(argv[1]);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
258 return(ERROR_UNIX);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
259 }
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
260 write_tx_ramps_table(table, of);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
261 fclose(of);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
262 return(0);
dd97e75620a7 fc-tmsync: ttr-all implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 290
diff changeset
263 }
844
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
264
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
265 static struct kwtab misc_param_arg[] = {
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
266 {"adc-interval", ADC_INTERVAL},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
267 {"adc-enable", ADC_ENA_FLAG},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
268 {"converted-adc0", CONVERTED_ADC0},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
269 {"converted-adc1", CONVERTED_ADC1},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
270 {"converted-adc2", CONVERTED_ADC2},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
271 {"converted-adc3", CONVERTED_ADC3},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
272 {"converted-adc4", CONVERTED_ADC4},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
273 {"converted-adc5", CONVERTED_ADC5},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
274 {"converted-adc6", CONVERTED_ADC6},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
275 {"converted-adc7", CONVERTED_ADC7},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
276 {"converted-adc8", CONVERTED_ADC8},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
277 {"raw-adc0", RAW_ADC0},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
278 {"raw-adc1", RAW_ADC1},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
279 {"raw-adc2", RAW_ADC2},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
280 {"raw-adc3", RAW_ADC3},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
281 {"raw-adc4", RAW_ADC4},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
282 {"raw-adc5", RAW_ADC5},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
283 {"raw-adc6", RAW_ADC6},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
284 {"raw-adc7", RAW_ADC7},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
285 {"raw-adc8", RAW_ADC8},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
286 {"adc0-coeff-a", ADC0_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
287 {"adc1-coeff-a", ADC1_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
288 {"adc2-coeff-a", ADC2_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
289 {"adc3-coeff-a", ADC3_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
290 {"adc4-coeff-a", ADC4_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
291 {"adc5-coeff-a", ADC5_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
292 {"adc6-coeff-a", ADC6_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
293 {"adc7-coeff-a", ADC7_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
294 {"adc8-coeff-a", ADC8_COEFF_A},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
295 {"adc0-coeff-b", ADC0_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
296 {"adc1-coeff-b", ADC1_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
297 {"adc2-coeff-b", ADC2_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
298 {"adc3-coeff-b", ADC3_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
299 {"adc4-coeff-b", ADC4_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
300 {"adc5-coeff-b", ADC5_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
301 {"adc6-coeff-b", ADC6_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
302 {"adc7-coeff-b", ADC7_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
303 {"adc8-coeff-b", ADC8_COEFF_B},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
304 {"sleep-mode", SLEEP_MODE},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
305 {"current-tm-mode", CURRENT_TM_MODE},
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
306 {0, 0}
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
307 };
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
308
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
309 cmd_mpr(argc, argv)
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
310 char **argv;
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
311 {
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
312 u16 index, val;
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
313 int rc;
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
314
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
315 if (keyword_or_num(argv[1], misc_param_arg, &index))
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
316 return(ERROR_USAGE);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
317 rc = do_mpr(index, &val);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
318 if (rc)
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
319 return(rc);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
320 if (val >= 0x8000)
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
321 printf("read value: 0x%04X (%u or %d)\n", val, val,
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
322 (int)val - 65536);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
323 else
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
324 printf("read value: 0x%04X (%u)\n", val, val);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
325 return(0);
4694c7686ccd fc-tmsync: add mpr command
Mychaela Falconia <falcon@freecalypso.org>
parents: 291
diff changeset
326 }
845
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
327
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
328 cmd_madc(argc, argv)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
329 char **argv;
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
330 {
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
331 u16 val;
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
332 int rc;
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
333
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
334 rc = do_mpr(CONVERTED_ADC0, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
335 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
336 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
337 printf("VBAT=%u\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
338 rc = do_mpr(CONVERTED_ADC1, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
339 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
340 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
341 printf("VCHG=%u\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
342 rc = do_mpr(RAW_ADC2, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
343 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
344 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
345 printf("ICHG=%u\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
346 rc = do_mpr(CONVERTED_ADC3, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
347 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
348 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
349 printf("VBACKUP=%u\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
350 rc = do_mpr(RAW_ADC4, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
351 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
352 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
353 printf("ADIN1=0x%04X\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
354 rc = do_mpr(RAW_ADC5, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
355 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
356 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
357 printf("ADIN2=0x%04X\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
358 rc = do_mpr(RAW_ADC6, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
359 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
360 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
361 printf("ADIN3=0x%04X\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
362 rc = do_mpr(RAW_ADC7, &val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
363 if (rc)
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
364 return(rc);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
365 printf("ADIN4=0x%04X\n", val);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
366 return(0);
aec320fe2653 fc-tmsync: new madc command reads all 8 MADC channels
Mychaela Falconia <falcon@freecalypso.org>
parents: 844
diff changeset
367 }