# HG changeset patch # User Mychaela Falconia # Date 1495861454 0 # Node ID dcf7cd305e2b29b26d9df11939dbdb797549f7ce # Parent 3f4221ef916acfcfd8ee22c2895e71b16343fa13 fc-rfcal-gmagic started diff -r 3f4221ef916a -r dcf7cd305e2b .hgignore --- a/.hgignore Sat May 27 02:43:43 2017 +0000 +++ b/.hgignore Sat May 27 05:04:14 2017 +0000 @@ -2,6 +2,7 @@ \.[oa]$ +^autocal/fc-rfcal-gmagic$ ^autocal/fc-rfcal-vcxo$ ^cmu200/fc-cmu200d$ diff -r 3f4221ef916a -r dcf7cd305e2b autocal/Makefile --- a/autocal/Makefile Sat May 27 02:43:43 2017 +0000 +++ b/autocal/Makefile Sat May 27 05:04:14 2017 +0000 @@ -1,12 +1,16 @@ CC= gcc CFLAGS= -O2 -I/opt/freecalypso/include -PROGS= fc-rfcal-vcxo +PROGS= fc-rfcal-gmagic fc-rfcal-vcxo INSTBIN=/opt/freecalypso/bin +GMAGIC_OBJS= gmagicmain.o l1tmops.o rvinterf.o sockopts.o tsidsock.o VCXO_OBJS= l1tmops.o rvinterf.o sockopts.o tsidsock.o vcxomain.o vcxomeas.o all: ${PROGS} +fc-rfcal-gmagic: ${GMAGIC_OBJS} + ${CC} -o $@ ${GMAGIC_OBJS} + fc-rfcal-vcxo: ${VCXO_OBJS} ${CC} -o $@ ${VCXO_OBJS} diff -r 3f4221ef916a -r dcf7cd305e2b autocal/gmagicmain.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/autocal/gmagicmain.c Sat May 27 05:04:14 2017 +0000 @@ -0,0 +1,62 @@ +/* + * This module contains the main() function for fc-rfcal-gmagic. + */ + +#include +#include +#include +#include +#include +#include +#include "stdband.h" + +static struct band { + char *name; + unsigned rfpw_std_band; + unsigned default_arfcn; +} bands[] = { + {"850", RFPW_STD_BAND_850, 189}, + {"900", RFPW_STD_BAND_900, 37}, + {"1800", RFPW_STD_BAND_1800, 698}, + {"1900", RFPW_STD_BAND_1900, 661}, + {0, 0, 0} +}; +static struct band *selected_band; +static unsigned arfcn; + +finish_cmdline(argc, argv) + char **argv; +{ + extern int optind; + struct band *band; + + if (argc - optind < 1 || argc - optind > 2) { + fprintf(stderr, "usage: %s band [arfcn]\n", argv[0]); + exit(ERROR_USAGE); + } + for (band = bands; band->name; band++) + if (!strcmp(band->name, argv[optind])) + break; + if (!band->name) { + fprintf(stderr, "error: \"%s\" is not a known band\n", + argv[optind]); + exit(ERROR_USAGE); + } + selected_band = band; + if (argv[optind+1]) + arfcn = atoi(argv[optind+1]); + else + arfcn = band->default_arfcn; + return(0); +} + +main(argc, argv) + char **argv; +{ + socket_pathname_options(argc, argv); + finish_cmdline(argc, argv); + connect_rvinterf_socket(); + connect_tsid_socket(); + + +} diff -r 3f4221ef916a -r dcf7cd305e2b autocal/stdband.h --- a/autocal/stdband.h Sat May 27 02:43:43 2017 +0000 +++ b/autocal/stdband.h Sat May 27 05:04:14 2017 +0000 @@ -1,3 +1,8 @@ /* macro for encoding std and band in rfpw 7 command */ #define RFPW_STD_BAND(std,band) ((std) | ((band) << 8)) + +#define RFPW_STD_BAND_850 RFPW_STD_BAND(7, 0) +#define RFPW_STD_BAND_900 RFPW_STD_BAND(2, 0) +#define RFPW_STD_BAND_1800 RFPW_STD_BAND(4, 0) +#define RFPW_STD_BAND_1900 RFPW_STD_BAND(3, 0)