# HG changeset patch # User Mychaela Falconia # Date 1511027110 0 # Node ID b1ac1bd1dbbf2185ef08697bd8cbb2064b8107ba # Parent 77d561735b075a5ef227b5be7409e286e7b041f6 c1xx-calextr: table conversion implemented diff -r 77d561735b07 -r b1ac1bd1dbbf ffstools/caltools/c1xx-calextr.c --- a/ffstools/caltools/c1xx-calextr.c Sat Nov 18 17:30:26 2017 +0000 +++ b/ffstools/caltools/c1xx-calextr.c Sat Nov 18 17:45:10 2017 +0000 @@ -65,6 +65,43 @@ close(fd); } +do_rx_agcparams(band, compal_data) + struct band *band; + u_char *compal_data; +{ + u_char rx_agcparams_table[8]; + + bcopy(compal_data, rx_agcparams_table, 2); + /* the remaining fields are constants unchanged from TI */ + rx_agcparams_table[2] = 40; + rx_agcparams_table[3] = 0; + rx_agcparams_table[4] = 40; + rx_agcparams_table[5] = 0; + rx_agcparams_table[6] = 44; + rx_agcparams_table[7] = 0; + /* ASCII and binary write-out to be implemented */ +} + +do_tx_levels(band, compal_data) + struct band *band; + u_char *compal_data; +{ + u_char tx_levels_table[128], *sp, *dp; + unsigned num_levels, n; + + bzero(tx_levels_table, sizeof tx_levels_table); + num_levels = band->end_plnum - band->start_plnum; + sp = compal_data; + dp = tx_levels_table + band->start_plnum * 4; + for (n = 0; n < num_levels; n++) { + *dp++ = *sp++; + *dp++ = *sp++; + *dp++ = n; + *dp++ = 0; + } + /* ASCII and binary write-out to be implemented */ +} + process_band_record(band, offset) struct band *band; unsigned offset; @@ -84,7 +121,8 @@ printf("bad magic3, skipping\n"); return(-1); } - /* Rx GMagic and Tx levels extraction to be filled */ + do_rx_agcparams(band, record + 4); + do_tx_levels(band, record + band->magic2_offset + 12); return(0); }