FreeCalypso > hg > fc-rfcal-tools
annotate autocal/gmagicstand.c @ 127:fd856f729618
scripts: fc-rfcal-tri850 added
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 24 Dec 2019 07:08:27 +0000 | 
| parents | c9bd1f75029f | 
| children | 
| rev | line source | 
|---|---|
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 73 
c9bd1f75029f
autocal: C main modules for standalone programs renamed more sensibly
 Mychaela Falconia <falcon@freecalypso.org> parents: 
51diff
changeset | 2 * fc-rfcal-gmagic is a debug utility implementing just one part | 
| 
c9bd1f75029f
autocal: C main modules for standalone programs renamed more sensibly
 Mychaela Falconia <falcon@freecalypso.org> parents: 
51diff
changeset | 3 * of the fc-rfcal-rxband process in a standalone manner; | 
| 
c9bd1f75029f
autocal: C main modules for standalone programs renamed more sensibly
 Mychaela Falconia <falcon@freecalypso.org> parents: 
51diff
changeset | 4 * this module contains the main() function for this standalone utlity. | 
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 */ | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <stdio.h> | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <stdlib.h> | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <string.h> | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include <strings.h> | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 #include <rvinterf/l1tm.h> | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 #include <rvinterf/exitcodes.h> | 
| 44 
5018fd8eecce
autocal: started Rx cal core code
 Mychaela Falconia <falcon@freecalypso.org> parents: 
43diff
changeset | 13 #include "rxcaldefs.h" | 
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 #include "stdband.h" | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 static struct band { | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 char *name; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 unsigned rfpw_std_band; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 unsigned default_arfcn; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 } bands[] = { | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 {"850", RFPW_STD_BAND_850, 189}, | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 {"900", RFPW_STD_BAND_900, 37}, | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 {"1800", RFPW_STD_BAND_1800, 698}, | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 {"1900", RFPW_STD_BAND_1900, 661}, | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 {0, 0, 0} | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 }; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 static struct band *selected_band; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 static unsigned arfcn; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 finish_cmdline(argc, argv) | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 char **argv; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 { | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 extern int optind; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 struct band *band; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 if (argc - optind < 1 || argc - optind > 2) { | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 fprintf(stderr, "usage: %s band [arfcn]\n", argv[0]); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 exit(ERROR_USAGE); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 } | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 for (band = bands; band->name; band++) | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 if (!strcmp(band->name, argv[optind])) | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 break; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 if (!band->name) { | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 fprintf(stderr, "error: \"%s\" is not a known band\n", | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 argv[optind]); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 exit(ERROR_USAGE); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 } | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 selected_band = band; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 if (argv[optind+1]) | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 arfcn = atoi(argv[optind+1]); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 else | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 arfcn = band->default_arfcn; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 return(0); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 } | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 43 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 56 prepare_rf_test_system() | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 57 { | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 58 char cmd[80]; | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 59 | 
| 51 
fe39aac56cde
autocal/gmagicmain.c: printf fix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
50diff
changeset | 60 printf("Preparing RF test system for %s MHz Rx calibration\n", | 
| 
fe39aac56cde
autocal/gmagicmain.c: printf fix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
50diff
changeset | 61 selected_band->name); | 
| 43 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 62 sprintf(cmd, "signal-gen-setup %s\n", selected_band->name); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 63 tsid_command(cmd); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 64 return(0); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 65 } | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 66 | 
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 main(argc, argv) | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 char **argv; | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 { | 
| 50 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 70 int pm, Gmagic; | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 71 char Gmagic_db[64]; | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 72 | 
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 socket_pathname_options(argc, argv); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 finish_cmdline(argc, argv); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 connect_rvinterf_socket(); | 
| 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 connect_tsid_socket(); | 
| 43 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 77 setlinebuf(stdout); /* to allow logging with tee */ | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 78 prepare_rf_test_system(); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 79 | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 80 printf("Putting the DUT into Test Mode\n"); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 81 do_tms(1); | 
| 
8c7b0ba1e5c4
fc-rfcal-gmagic: main() coming along
 Mychaela Falconia <falcon@freecalypso.org> parents: 
42diff
changeset | 82 do_rfpw(STD_BAND_FLAG, selected_band->rfpw_std_band); | 
| 44 
5018fd8eecce
autocal: started Rx cal core code
 Mychaela Falconia <falcon@freecalypso.org> parents: 
43diff
changeset | 83 l1tm_setup_for_rxcal(); | 
| 50 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 84 pm = rx_measure(arfcn); | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 85 Gmagic = pm - RXCAL_SIGGEN_LEVEL - RXCAL_AGC_DB * 2; | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 86 halfdb_to_string(Gmagic, Gmagic_db); | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 87 printf("GMagic=%d (%s dB)\n", Gmagic, Gmagic_db); | 
| 
d309241fcae3
fc-rfcal-gmagic ready to test
 Mychaela Falconia <falcon@freecalypso.org> parents: 
44diff
changeset | 88 exit(0); | 
| 42 
dcf7cd305e2b
fc-rfcal-gmagic started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 } | 
