# HG changeset patch # User Mychaela Falconia # Date 1495930216 0 # Node ID 0bf853d1b68eedbd67b069113a2a4a999b0e5c94 # Parent 81e8f7e99d89c9281f07c7638d40ae146fefe3ae fc-rfcal-rxband: almost finished diff -r 81e8f7e99d89 -r 0bf853d1b68e autocal/rxband.c --- a/autocal/rxband.c Sat May 27 23:35:06 2017 +0000 +++ b/autocal/rxband.c Sun May 28 00:10:16 2017 +0000 @@ -67,6 +67,7 @@ }; struct rxcal_band *rxcal_band; +int Gmagic, rx_calchan_values[10]; finish_cmdline(argc, argv) char **argv; @@ -122,7 +123,7 @@ do_gmagic() { - int pm, Gmagic; + int pm; char Gmagic_db[64]; printf("Calibrating GMagic\n"); @@ -130,6 +131,6 @@ Gmagic = pm - RXCAL_SIGGEN_LEVEL - RXCAL_AGC_DB * 2; halfdb_to_string(Gmagic, Gmagic_db); printf("GMagic=%d (%s dB)\n", Gmagic, Gmagic_db); - upload_gmagic(Gmagic); + upload_gmagic(); return(0); } diff -r 81e8f7e99d89 -r 0bf853d1b68e autocal/rxupload.c --- a/autocal/rxupload.c Sat May 27 23:35:06 2017 +0000 +++ b/autocal/rxupload.c Sun May 28 00:10:16 2017 +0000 @@ -12,9 +12,9 @@ #include "rxtables.h" extern struct rxcal_band *rxcal_band; +extern int Gmagic, rx_calchan_values[]; -upload_gmagic(Gmagic) - unsigned Gmagic; +upload_gmagic() { struct rx_agc_params agcparams; @@ -23,3 +23,21 @@ do_rftw(RX_AGC_PARAMS, &agcparams, sizeof agcparams); return(0); } + +upload_rx_calchan() +{ + unsigned n; + struct rx_calchan_entry calchan_table[RX_CALCHAN_ENTRIES]; + + for (n = 0; n < rxcal_band->num_calchan_ranges; n++) { + calchan_table[n].upper_bound = + htole16(rxcal_band->calchan_ranges[n].upper_bound); + calchan_table[n].agc_calib = htole16(rx_calchan_values[n]); + } + for (; n < RX_CALCHAN_ENTRIES; n++) { + calchan_table[n].upper_bound = 0; + calchan_table[n].agc_calib = 0; + } + do_rftw(RX_CAL_CHAN, calchan_table, sizeof calchan_table); + return(0); +}