annotate ffstools/caltools/c1xx-calextr.c @ 1011:6d9b10633f10 default tip

etmsync Pirelli IMEI retrieval: fix poor use of printf() Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct where a static-allocated string was passed to printf() without any format arguments causes newer compilers to report a security problem. Given that formatted output is not needed here, just fixed string output, change printf() to fputs(), and direct the error message to stderr while at it.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 May 2024 17:29:57 +0000
parents 7de38a7e1fa5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This program parses Compal's proprietary data structure that contains
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * the factory RF calibration values among other data, locates those RF
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * calibration records, extracts their essential content (Rx GMagic and
296
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
5 * Tx APC values), converts this distilled content into TCS211 RF calibration
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
6 * tables (Rx agcparams and Tx levels) and writes these tables out in either
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
7 * FreeCalypso ASCII or FFS binary format.
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 */
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <sys/types.h>
298
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
11 #include <sys/param.h>
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #include <sys/file.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #include <string.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 #include <strings.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 #include <stdio.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 #include <stdlib.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #include <unistd.h>
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 #define COMPAL_SECTOR_LENGTH 0x2000
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 u_char sector[COMPAL_SECTOR_LENGTH];
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 u_char endmarker[8] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 u_char record_magic[4] = {0xAA, 0x00, 0x00, 0x00};
296
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
24 char *ascii_output_dir, *bin_output_dir;
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
301
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
26 struct rx_calchan_map {
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
27 unsigned upper_bound;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
28 unsigned compal_start;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
29 unsigned compal_num;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
30 };
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
31
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
32 #define RF_RX_CAL_CHAN_SIZE 10 /* TI/FC canonical version */
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
33
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
34 struct rx_calchan_map rx_calchan_map_850[RF_RX_CAL_CHAN_SIZE] = {
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
35 {140, 0, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
36 {152, 2, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
37 {164, 4, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
38 {176, 6, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
39 {188, 8, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
40 {200, 10, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
41 {212, 12, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
42 {224, 14, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
43 {236, 16, 2},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
44 {251, 18, 3}
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
45 };
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
46
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
47 struct rx_calchan_map rx_calchan_map_900[RF_RX_CAL_CHAN_SIZE] = {
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
48 { 18, 0, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
49 { 36, 3, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
50 { 54, 6, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
51 { 72, 9, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
52 { 90, 12, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
53 { 108, 15, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
54 { 124, 18, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
55 { 987, 21, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
56 {1005, 24, 3},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
57 {1023, 27, 3}
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
58 };
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
59
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
60 struct rx_calchan_map rx_calchan_map_1800[RF_RX_CAL_CHAN_SIZE] = {
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
61 {548, 0, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
62 {584, 6, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
63 {620, 12, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
64 {656, 18, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
65 {692, 24, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
66 {728, 30, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
67 {764, 36, 6},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
68 {806, 42, 7},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
69 {848, 49, 7},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
70 {885, 56, 7}
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
71 };
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
72
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
73 struct rx_calchan_map rx_calchan_map_1900[RF_RX_CAL_CHAN_SIZE] = {
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
74 {542, 0, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
75 {572, 5, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
76 {602, 10, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
77 {632, 15, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
78 {662, 20, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
79 {692, 25, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
80 {722, 30, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
81 {752, 35, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
82 {782, 40, 5},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
83 {810, 45, 5}
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
84 };
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
85
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 struct band {
301
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
87 char *name;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
88 unsigned compal_record_id;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
89 unsigned record_length;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
90 unsigned magic2_offset;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
91 struct rx_calchan_map *rx_calchan_map;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
92 unsigned start_plnum;
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
93 unsigned end_plnum;
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 } bands[] = {
301
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
95 {"900", 0x00, 0x94, 0x54, rx_calchan_map_900, 5, 19},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
96 {"1800", 0x01, 0xC8, 0x74, rx_calchan_map_1800, 0, 15},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
97 {"1900", 0x02, 0xB4, 0x68, rx_calchan_map_1900, 0, 15},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
98 {"850", 0x18, 0x88, 0x4C, rx_calchan_map_850, 5, 19},
31369f326ee3 c1xx-calextr: preparations for Rx calchan conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 299
diff changeset
99 {0, 0, 0, 0, 0, 0, 0}
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 };
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 read_binfile(filename, offset_arg)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 char *filename, *offset_arg;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 int fd, cc;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 u_long offset;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 char *endp;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 fd = open(filename, O_RDONLY);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 if (fd < 0) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 perror(filename);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 offset = strtoul(offset_arg, &endp, 0);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 if (*endp) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 fprintf(stderr, "error: invalid offset argument \"%s\"\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 offset_arg);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 lseek(fd, offset, SEEK_SET);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 cc = read(fd, sector, COMPAL_SECTOR_LENGTH);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 if (cc != COMPAL_SECTOR_LENGTH) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 fprintf(stderr,
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 "error: unable to read Compal sector of %d bytes from %s at offset %s\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 COMPAL_SECTOR_LENGTH, filename, offset_arg);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 close(fd);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130
298
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
131 write_rx_agcparams_ascii(band, table)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
132 struct band *band;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
133 u_char *table;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
134 {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
135 char pathname[MAXPATHLEN];
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
136 FILE *of;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
137
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
138 sprintf(pathname, "%s/rx-agcparams.%s", ascii_output_dir, band->name);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
139 of = fopen(pathname, "w");
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
140 if (!of) {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
141 perror(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
142 exit(1);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
143 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
144 write_rx_agcparams_table(table, of);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
145 fclose(of);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
146 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
147
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
148 write_rx_agcparams_bin(band, table)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
149 struct band *band;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
150 u_char *table;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
151 {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
152 char pathname[MAXPATHLEN];
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
153 int fd;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
154
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
155 sprintf(pathname, "%s/rx", bin_output_dir);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
156 mkdir_existok(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
157 sprintf(pathname, "%s/rx/agcparams.%s", bin_output_dir, band->name);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
158 fd = open(pathname, O_WRONLY|O_CREAT|O_TRUNC, 0666);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
159 if (fd < 0) {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
160 perror(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
161 exit(1);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
162 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
163 write(fd, table, 8);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
164 close(fd);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
165 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
166
303
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
167 write_rx_calchan_ascii(band, table)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
168 struct band *band;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
169 u_char *table;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
170 {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
171 char pathname[MAXPATHLEN];
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
172 FILE *of;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
173
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
174 sprintf(pathname, "%s/rx-calchan.%s", ascii_output_dir, band->name);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
175 of = fopen(pathname, "w");
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
176 if (!of) {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
177 perror(pathname);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
178 exit(1);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
179 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
180 write_rx_calchan_table(table, of);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
181 fclose(of);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
182 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
183
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
184 write_rx_calchan_bin(band, table)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
185 struct band *band;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
186 u_char *table;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
187 {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
188 char pathname[MAXPATHLEN];
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
189 int fd;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
190
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
191 sprintf(pathname, "%s/rx", bin_output_dir);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
192 mkdir_existok(pathname);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
193 sprintf(pathname, "%s/rx/calchan.%s", bin_output_dir, band->name);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
194 fd = open(pathname, O_WRONLY|O_CREAT|O_TRUNC, 0666);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
195 if (fd < 0) {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
196 perror(pathname);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
197 exit(1);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
198 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
199 write(fd, table, 40);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
200 close(fd);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
201 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
202
298
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
203 write_tx_levels_ascii(band, table)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
204 struct band *band;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
205 u_char *table;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
206 {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
207 char pathname[MAXPATHLEN];
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
208 FILE *of;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
209
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
210 sprintf(pathname, "%s/tx-levels.%s", ascii_output_dir, band->name);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
211 of = fopen(pathname, "w");
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
212 if (!of) {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
213 perror(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
214 exit(1);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
215 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
216 write_tx_levels_table(table, of);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
217 fclose(of);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
218 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
219
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
220 write_tx_levels_bin(band, table)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
221 struct band *band;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
222 u_char *table;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
223 {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
224 char pathname[MAXPATHLEN];
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
225 int fd;
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
226
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
227 sprintf(pathname, "%s/tx", bin_output_dir);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
228 mkdir_existok(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
229 sprintf(pathname, "%s/tx/levels.%s", bin_output_dir, band->name);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
230 fd = open(pathname, O_WRONLY|O_CREAT|O_TRUNC, 0666);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
231 if (fd < 0) {
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
232 perror(pathname);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
233 exit(1);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
234 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
235 write(fd, table, 128);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
236 close(fd);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
237 }
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
238
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
239 do_rx_agcparams(band, compal_data)
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
240 struct band *band;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
241 u_char *compal_data;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
242 {
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
243 u_char rx_agcparams_table[8];
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
244
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
245 bcopy(compal_data, rx_agcparams_table, 2);
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
246 /* the remaining fields are constants unchanged from TI */
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
247 rx_agcparams_table[2] = 40;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
248 rx_agcparams_table[3] = 0;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
249 rx_agcparams_table[4] = 40;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
250 rx_agcparams_table[5] = 0;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
251 rx_agcparams_table[6] = 44;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
252 rx_agcparams_table[7] = 0;
298
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
253 if (ascii_output_dir)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
254 write_rx_agcparams_ascii(band, rx_agcparams_table);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
255 if (bin_output_dir)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
256 write_rx_agcparams_bin(band, rx_agcparams_table);
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
257 }
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
258
303
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
259 do_rx_calchan(band, compal_data)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
260 struct band *band;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
261 signed char *compal_data;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
262 {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
263 u_char rx_calchan_table[40], *dp;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
264 struct rx_calchan_map *map;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
265 unsigned i, j;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
266 int accum, average;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
267
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
268 dp = rx_calchan_table;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
269 for (i = 0; i < RF_RX_CAL_CHAN_SIZE; i++) {
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
270 map = band->rx_calchan_map + i;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
271 *dp++ = map->upper_bound;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
272 *dp++ = map->upper_bound >> 8;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
273 accum = 0;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
274 for (j = 0; j < map->compal_num; j++)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
275 accum += compal_data[map->compal_start + j];
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
276 average = accum / (int)map->compal_num;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
277 *dp++ = average;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
278 *dp++ = average >> 8;
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
279 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
280 if (ascii_output_dir)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
281 write_rx_calchan_ascii(band, rx_calchan_table);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
282 if (bin_output_dir)
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
283 write_rx_calchan_bin(band, rx_calchan_table);
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
284 }
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
285
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
286 do_tx_levels(band, compal_data)
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
287 struct band *band;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
288 u_char *compal_data;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
289 {
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
290 u_char tx_levels_table[128], *sp, *dp;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
291 unsigned num_levels, n;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
292
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
293 bzero(tx_levels_table, sizeof tx_levels_table);
299
7fefa4f73c6a c1xx-calextr: off-by-1 error in the Tx levels table conversion
Mychaela Falconia <falcon@freecalypso.org>
parents: 298
diff changeset
294 num_levels = band->end_plnum - band->start_plnum + 1;
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
295 sp = compal_data;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
296 dp = tx_levels_table + band->start_plnum * 4;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
297 for (n = 0; n < num_levels; n++) {
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
298 *dp++ = *sp++;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
299 *dp++ = *sp++;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
300 *dp++ = n;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
301 *dp++ = 0;
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
302 }
298
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
303 if (ascii_output_dir)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
304 write_tx_levels_ascii(band, tx_levels_table);
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
305 if (bin_output_dir)
734b38f634db c1xx-calextr: output implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 297
diff changeset
306 write_tx_levels_bin(band, tx_levels_table);
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
307 }
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
308
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 process_band_record(band, offset)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 struct band *band;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 unsigned offset;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 u_char *record;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 record = sector + offset + 8;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316 if (bcmp(record, record_magic, 4)) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 printf("bad magic1, skipping\n");
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 return(-1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 if (bcmp(record + band->magic2_offset, record_magic, 4)) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 printf("bad magic2, skipping\n");
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 return(-1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 if (bcmp(record + band->magic2_offset + 8, record_magic, 4)) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 printf("bad magic3, skipping\n");
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 return(-1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 }
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
328 do_rx_agcparams(band, record + 4);
303
7de38a7e1fa5 c1xx-calextr: Rx calchan conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 301
diff changeset
329 do_rx_calchan(band, record + 6);
297
b1ac1bd1dbbf c1xx-calextr: table conversion implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 296
diff changeset
330 do_tx_levels(band, record + band->magic2_offset + 12);
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 return(0);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333
296
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
334 process_sector_data()
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 unsigned offset, next_offset;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 u_char *header;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 unsigned hdr_words[4];
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 struct band *band;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 int i;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 for (offset = 0; ; offset = next_offset) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 if (offset > COMPAL_SECTOR_LENGTH - 12)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 break;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 header = sector + offset;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 if (!bcmp(header, endmarker, 8))
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347 break;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
348 for (i = 0; i < 4; i++)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
349 hdr_words[i] = header[i*2] | (header[i*2+1] << 8);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
350 if (!hdr_words[3]) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
351 fprintf(stderr,
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
352 "error at offset 0x%X: rounded record length word is 0\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 if (hdr_words[3] & 3) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 fprintf(stderr,
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358 "error at offset 0x%X: rounded record length word is not aligned to 4\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362 if (hdr_words[3] > COMPAL_SECTOR_LENGTH - offset - 8) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
363 fprintf(stderr,
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
364 "error at offset 0x%X: rounded record length spills past end of sector\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
365 offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
366 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
367 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
368 if (hdr_words[2] > hdr_words[3]) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
369 fprintf(stderr,
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
370 "error at offset 0x%X: native record length is greater than rounded\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
371 offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
372 exit(1);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
373 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
374 next_offset = offset + 8 + hdr_words[3];
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
375 if (hdr_words[0] != 0x000C)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
376 continue;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
377 for (band = bands; band->name; band++)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
378 if (hdr_words[1] == band->compal_record_id)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
379 break;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
380 if (!band->name)
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
381 continue;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
382 printf("Found %s MHz calibration record at offset 0x%X\n",
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
383 band->name, offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
384 if (hdr_words[2] != band->record_length) {
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
385 printf("Oops, wrong length, skipping\n");
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
386 continue;
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
387 }
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
388 process_band_record(band, offset);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
389 }
296
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
390 }
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
391
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
392 main(argc, argv)
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
393 char **argv;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
394 {
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
395 int c;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
396 extern char *optarg;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
397 extern int optind;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
398
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
399 while ((c = getopt(argc, argv, "a:b:")) != EOF)
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
400 switch (c) {
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
401 case 'a':
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
402 ascii_output_dir = optarg;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
403 continue;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
404 case 'b':
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
405 bin_output_dir = optarg;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
406 continue;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
407 case '?':
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
408 default:
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
409 usage: fprintf(stderr,
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
410 "usage: %s [-a ascii_outdir] [-b bin_outdir] c1xx-binfile offset\n",
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
411 argv[0]);
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
412 exit(1);
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
413 }
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
414 if (argc - optind != 2)
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
415 goto usage;
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
416 read_binfile(argv[optind], argv[optind+1]);
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
417 if (ascii_output_dir)
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
418 mkdir_existok(ascii_output_dir);
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
419 if (bin_output_dir)
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
420 mkdir_existok(bin_output_dir);
77d561735b07 c1xx-calextr: preparations for both ASCII and binary output
Mychaela Falconia <falcon@freecalypso.org>
parents: 294
diff changeset
421 process_sector_data();
294
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
422 exit(0);
1416fe200069 c1xx-calextr started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
423 }