annotate autocal/l1meas.c @ 49:1a0dbc746d57

autocal: Rx cal main engine implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 27 May 2017 07:23:20 +0000
parents 201f27bd8dca
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * In this module we are going to implement the functions for making
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * measurements on the DUT via L1TM.
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <sys/types.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdio.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <stdlib.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <rvinterf/pktmux.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <rvinterf/tm3.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <rvinterf/l1tm.h>
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #include <rvinterf/exitcodes.h>
48
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
13 #include "l1stats.h"
45
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 extern u_char rvi_msg[];
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 extern int rvi_msg_len;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 do_scw(index, value)
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 {
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 u_char cmdpkt[7];
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 cmdpkt[1] = STATS_CONFIG_WRITE;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 cmdpkt[2] = index;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 cmdpkt[3] = index >> 8;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 cmdpkt[4] = value;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 cmdpkt[5] = value >> 8;
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 l1tm_pkt_exch(cmdpkt, 5);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 if (rvi_msg[3]) {
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 fprintf(stderr, "DUT error %u in response to scw\n",
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 rvi_msg[3]);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 exit(ERROR_TARGET);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 }
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 if (rvi_msg_len != 6) {
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 fprintf(stderr, "DUT error: scw response wrong length\n");
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 exit(ERROR_TARGET);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 }
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 if (rvi_msg[4] != index) {
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 fprintf(stderr, "DUT error: scw response wrong index\n");
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 exit(ERROR_TARGET);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 }
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 return(0);
98abe6bd2042 autocal: scw implemented for Rx cal
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 }
48
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
43
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
44 collect_auto_stats(sb)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
45 struct l1stats *sb;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
46 {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
47 unsigned type, bitmask, offset;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
48 int expect_len;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
49
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
50 collect_extra_pkt_from_target();
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
51 l1tm_resp_sanity_check(STATS_READ);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
52 if (rvi_msg[3]) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
53 fprintf(stderr, "DUT error %u in auto-stats message\n",
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
54 rvi_msg[3]);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
55 exit(ERROR_TARGET);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
56 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
57 if (rvi_msg_len < 9) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
58 fprintf(stderr, "DUT error: auto-stats msg too short\n");
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
59 exit(ERROR_TARGET);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
60 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
61 type = rvi_msg[4] | (rvi_msg[5] << 8);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
62 bitmask = rvi_msg[6] | (rvi_msg[7] << 8);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
63 if (type < 1 || type > 2) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
64 fprintf(stderr, "DUT error: invalid type in auto-stats msg\n");
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
65 exit(ERROR_TARGET);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
66 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
67 if (bitmask & 0x0300) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
68 fprintf(stderr,
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
69 "DUT error: invalid bitmask in auto-stats msg\n");
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
70 exit(ERROR_TARGET);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
71 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
72 expect_len = 9;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
73 if (bitmask & RSSI)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
74 expect_len += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
75 if (bitmask & DSP_PM)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
76 expect_len += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
77 if (bitmask & ANGLE_MEAN)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
78 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
79 if (bitmask & ANGLE_VAR)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
80 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
81 if (bitmask & ANGLE_MIN)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
82 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
83 if (bitmask & ANGLE_MAX)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
84 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
85 if (bitmask & SNR_MEAN)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
86 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
87 if (bitmask & SNR_VAR)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
88 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
89 if (bitmask & TOA_MEAN)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
90 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
91 if (bitmask & TOA_VAR)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
92 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
93 if (bitmask & FRAME_NUMBER)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
94 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
95 if (bitmask & RUNS)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
96 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
97 if (bitmask & SUCCESSES)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
98 expect_len += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
99 if (bitmask & BSIC)
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
100 expect_len += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
101 if (rvi_msg_len != expect_len) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
102 fprintf(stderr, "DUT error: auto-stats msg wrong length\n");
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
103 exit(ERROR_TARGET);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
104 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
105 sb->type = type;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
106 sb->bitmask = bitmask;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
107 offset = 8;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
108 if (bitmask & RSSI) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
109 sb->rssi = rvi_msg[offset] | (rvi_msg[offset+1] << 8);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
110 offset += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
111 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
112 if (bitmask & DSP_PM) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
113 sb->dsp_pm = rvi_msg[offset] | (rvi_msg[offset+1] << 8);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
114 offset += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
115 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
116 if (bitmask & ANGLE_MEAN) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
117 sb->angle_mean = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
118 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
119 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
120 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
121 if (bitmask & ANGLE_VAR) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
122 sb->angle_var = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
123 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
124 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
125 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
126 if (bitmask & ANGLE_MIN) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
127 sb->angle_min = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
128 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
129 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
130 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
131 if (bitmask & ANGLE_MAX) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
132 sb->angle_max = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
133 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
134 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
135 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
136 if (bitmask & SNR_MEAN) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
137 sb->snr_mean = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
138 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
139 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
140 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
141 if (bitmask & SNR_VAR) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
142 sb->snr_var = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
143 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
144 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
145 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
146 if (bitmask & TOA_MEAN) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
147 sb->toa_mean = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
148 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
149 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
150 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
151 if (bitmask & TOA_VAR) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
152 sb->toa_var = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
153 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
154 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
155 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
156 if (bitmask & FRAME_NUMBER) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
157 sb->frame_number = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
158 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
159 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
160 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
161 if (bitmask & RUNS) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
162 sb->runs = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
163 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
164 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
165 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
166 if (bitmask & SUCCESSES) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
167 sb->successes = rvi_msg[offset] | (rvi_msg[offset+1] << 8) |
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
168 (rvi_msg[offset+2] << 16) | (rvi_msg[offset+3] << 24);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
169 offset += 4;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
170 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
171 if (bitmask & BSIC) {
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
172 sb->bsic = rvi_msg[offset] | (rvi_msg[offset+1] << 8);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
173 offset += 2;
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
174 }
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
175 return(0);
201f27bd8dca autocal/l1meas.c: implemented reading of auto-stats
Mychaela Falconia <falcon@freecalypso.org>
parents: 45
diff changeset
176 }
49
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
177
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
178 collect_rfe_completion()
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
179 {
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
180 collect_extra_pkt_from_target();
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
181 l1tm_resp_sanity_check(RF_ENABLE);
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
182 if (rvi_msg[3] != 1) {
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
183 fprintf(stderr, "DUT error %u in rfe completion message\n",
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
184 rvi_msg[3]);
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
185 exit(ERROR_TARGET);
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
186 }
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
187 return(0);
1a0dbc746d57 autocal: Rx cal main engine implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 48
diff changeset
188 }