annotate autocal/vcxomain.c @ 124:9f09a7c3607a

fc-rfcal-txband: level error tolerance tightened to 0.75 dB
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 12 Jan 2019 20:15:17 +0000
parents 7ad0495991ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module contains the main() function for fc-rfcal-vcxo.
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
5 #include <math.h>
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
28
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
7 #include <stdint.h>
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <stdlib.h>
30
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
9 #include <endian.h>
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <rvinterf/l1tm.h>
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <rvinterf/exitcodes.h>
28
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
12 #include "afcparams.h"
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #include "stdband.h"
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 #define VCXOCAL_BAND 900
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 #define VCXOCAL_BAND_RFPW RFPW_STD_BAND(6, 0)
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #define VCXOCAL_ARFCN 40
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
24
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
19 extern float vcxo_freq_meas();
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
20
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
21 static float freq_max_neg, freq_max_pos;
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
22 static float lin_a, lin_b, lin_a2, lin_b2;
26
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
23 static int zero_search_dac1, zero_search_dac2, zero_search_incr;
100
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
24 static float zero_search_freq1, zero_search_freq2, zero_check_freq;
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
25 static float dac_min, dac_max, dac_init;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
26 static int dac_init_int;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
27 static float Psi_sta, Psi_st;
24
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
28
28
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
29 struct afcparams afcparams_host, afcparams_arm;
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
30
23
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
31 prepare_rf_test_system()
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
32 {
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
33 char cmd[80];
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
34
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
35 printf("Preparing RF test system for VCXO calibration\n");
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
36 sprintf(cmd, "vcxo-cal-setup %d %d\n", VCXOCAL_BAND, VCXOCAL_ARFCN);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
37 tsid_command(cmd);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
38 return(0);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
39 }
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
40
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 main(argc, argv)
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 char **argv;
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 {
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 socket_pathname_options(argc, argv);
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 connect_rvinterf_socket();
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 connect_tsid_socket();
31
6e8f2728c7f5 fc-rfcal-vcxo: added setlinebuf(stdout) to allow easier logging with tee
Mychaela Falconia <falcon@freecalypso.org>
parents: 30
diff changeset
47 setlinebuf(stdout); /* to allow logging with tee */
23
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
48 prepare_rf_test_system();
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
49
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
50 printf("Putting the DUT into Test Mode\n");
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
51 do_tms(1);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
52 do_rfpw(STD_BAND_FLAG, VCXOCAL_BAND_RFPW);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
53 do_rfpw(TCH_ARFCN, VCXOCAL_ARFCN);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
54 do_rfpw(AFC_ENA_FLAG, 0);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
55 do_txpw(TX_PWR_LEVEL, 12);
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
56 printf("Starting RF Tx on the DUT\n");
9a9fd9ebe799 autocal/vcxomain.c: coming along
Mychaela Falconia <falcon@freecalypso.org>
parents: 21
diff changeset
57 do_rfe(RX_TX_TCH);
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
24
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
59 /* initial measurements at the DAC extremes */
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
60 freq_max_neg = vcxo_freq_meas(-2048, "max-neg");
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
61 freq_max_pos = vcxo_freq_meas(2048, "max-pos");
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
62 lin_a = (freq_max_pos - freq_max_neg) / 4096.0f;
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
63 lin_b = freq_max_pos - lin_a * 2048.0f;
26
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
64 zero_search_dac1 = -lin_b / lin_a;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
65 zero_search_freq1 = vcxo_freq_meas(zero_search_dac1, "zero-search");
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
66
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
67 /* search for zero crossing */
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
68 if (zero_search_freq1 < 0)
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
69 zero_search_incr = 100;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
70 else
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
71 zero_search_incr = -100;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
72 for (;;) {
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
73 zero_search_dac2 = zero_search_dac1 + zero_search_incr;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
74 zero_search_freq2 = vcxo_freq_meas(zero_search_dac2,
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
75 "zero-search");
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
76 if (zero_search_incr > 0 && zero_search_freq2 >= 0)
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
77 break;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
78 if (zero_search_incr < 0 && zero_search_freq2 < 0)
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
79 break;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
80 zero_search_dac1 = zero_search_dac2;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
81 zero_search_freq1 = zero_search_freq2;
a2e4da9d85cc fc-rfcal-vcxo: search for zero crossing implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 24
diff changeset
82 }
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
84 /* second linear approximation */
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
85 lin_a2 = (zero_search_freq2 - zero_search_freq1) /
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
86 (float)(zero_search_dac2 - zero_search_dac1);
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
87 lin_b2 = zero_search_freq2 - lin_a2 * zero_search_dac2;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
88
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
89 /* DAC settings */
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
90 dac_min = (-13500.0f - lin_b) / lin_a;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
91 dac_max = (13500.0f - lin_b) / lin_a;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
92 dac_init = -lin_b2 / lin_a2;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
93 dac_init_int = (int) dac_init;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
94
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
95 /* check the frequency offset at the final DAC value */
100
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
96 zero_check_freq = vcxo_freq_meas(dac_init_int, "zero-check");
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
97
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
98 /* done with the measurements and the Tx */
24
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
99 printf("Stopping RF Tx on the DUT\n");
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
100 do_rfe(STOP_ALL);
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
101
100
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
102 /* sanity check */
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
103 if (zero_check_freq < -70.0f || zero_check_freq > 70.0f) {
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
104 printf("Error: final freq offset out of range, aborting\n");
104
7ad0495991ed autocal: use the new ERROR_RFFAIL exit code
Mychaela Falconia <falcon@freecalypso.org>
parents: 100
diff changeset
105 exit(ERROR_RFFAIL);
100
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
106 }
7ad5836d3b87 fc-rfcal-vcxo: added check for final freq offset being within 70 Hz
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
107
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
108 /* Psi computations */
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
109 Psi_sta = 2.0f * (float)M_PI * lin_a / 270833.0f;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
110 Psi_st = Psi_sta * 0.8f;
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
111
28
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
112 /* compute and fill afcparams */
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
113 afcparams_host.psi_sta_inv = (unsigned)(1.0f / Psi_sta);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
114 afcparams_host.psi_st = (unsigned)(Psi_st * 65536.0f);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
115 afcparams_host.psi_st_32 = (unsigned)(Psi_st * 65536.0f * 65536.0f);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
116 afcparams_host.psi_st_inv = (unsigned)(1.0f / Psi_st);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
117 afcparams_host.dac_center = (int)(dac_init * 8.0f);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
118 afcparams_host.dac_min = (int)(dac_min * 8.0f);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
119 afcparams_host.dac_max = (int)(dac_max * 8.0f);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
120 afcparams_host.snr_thr = 2560;
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
121
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
122 /* print them out */
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
123 printf("afcparams Psi_sta_inv: %u\n", afcparams_host.psi_sta_inv);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
124 printf("afcparams Psi_st: %u\n", afcparams_host.psi_st);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
125 printf("afcparams Psi_st_32: %u\n", afcparams_host.psi_st_32);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
126 printf("afcparams Psi_st_inv: %u\n", afcparams_host.psi_st_inv);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
127 printf("afcparams DAC_INIT*8: %d\n", afcparams_host.dac_center);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
128 printf("afcparams DAC_MIN*8: %d\n", afcparams_host.dac_min);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
129 printf("afcparams DAC_MAX*8: %d\n", afcparams_host.dac_max);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
130 printf("afcparams snr_thr: %d\n", afcparams_host.snr_thr);
ba4b6877e227 fc-rfcal-vcxo: afcparams computation implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 27
diff changeset
131
30
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
132 /* convert to LE for upload to the DUT */
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
133 afcparams_arm.psi_sta_inv = htole32(afcparams_host.psi_sta_inv);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
134 afcparams_arm.psi_st = htole32(afcparams_host.psi_st);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
135 afcparams_arm.psi_st_32 = htole32(afcparams_host.psi_st_32);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
136 afcparams_arm.psi_st_inv = htole32(afcparams_host.psi_st_inv);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
137 afcparams_arm.dac_center = htole16(afcparams_host.dac_center);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
138 afcparams_arm.dac_min = htole16(afcparams_host.dac_min);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
139 afcparams_arm.dac_max = htole16(afcparams_host.dac_max);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
140 afcparams_arm.snr_thr = htole16(afcparams_host.snr_thr);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
141
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
142 /* send them up */
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
143 printf("Uploading afcparams and INITIAL_AFC_DAC to the DUT\n");
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
144 do_rftw(AFC_PARAMS, &afcparams_arm, sizeof(struct afcparams));
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
145 do_rfpw(INITIAL_AFC_DAC, dac_init_int);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
146 printf("Saving rf-cal and rf-cfg in FFS\n");
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
147 misc_enable(CFG_WRITE_RF_CAL);
4cd55371d3e4 fc-rfcal-vcxo: upload and FFS save implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 28
diff changeset
148 misc_enable(CFG_WRITE_RF_CFG);
27
841dd03d5c85 fc-rfcal-vcxo: almost done
Mychaela Falconia <falcon@freecalypso.org>
parents: 26
diff changeset
149
24
0b6881281d86 fc-rfcal-vcxo ready for first test
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
150 exit(0);
21
a3f48378658d autocal: beginning of fc-rfcal-vcxo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 }