From 93f4088f84e309f0e62611dd6faf812d0c6f5f9a Mon Sep 17 00:00:00 2001 From: ksterne Date: Fri, 29 Nov 2019 21:31:05 -0500 Subject: [PATCH] Adding wait on beam sounding functionality --- .../src.bin/os/cp/normalscan.1.7/normalscan.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/linux/rst/usr/codebase/superdarn/src.bin/os/cp/normalscan.1.7/normalscan.c b/linux/rst/usr/codebase/superdarn/src.bin/os/cp/normalscan.1.7/normalscan.c index 4462b446..42328e5c 100755 --- a/linux/rst/usr/codebase/superdarn/src.bin/os/cp/normalscan.1.7/normalscan.c +++ b/linux/rst/usr/codebase/superdarn/src.bin/os/cp/normalscan.1.7/normalscan.c @@ -150,6 +150,11 @@ int main(int argc,char *argv[]) { int bufus=0; /* been set to 3.0s to account for what??? */ unsigned char hlp=0; + /* Flag and variabels to sync beam soundings */ + int bm_sync=0; + int bmsc=6; + int bmus=0; + if (debug) { printf("Size of int %ld\n",sizeof(int)); printf("Size of long %ld\n",sizeof(long)); @@ -199,6 +204,10 @@ int main(int argc,char *argv[]) { OptionAdd(&opt, "eb", 'i', &ebm); OptionAdd(&opt, "fixfrq", 'i', &fixfrq); /* fix the transmit frequency */ OptionAdd(&opt, "-help", 'x', &hlp); /* just dump some parameters */ + OptionAdd(&opt, "bm_sync", 'x', &bm_sync); /* flag to enable beam sync */ + OptionAdd(&opt, "bmsc", 'i', &bmsc); /* length of beam sync period, seconds */ + OptionAdd(&opt, "bmus", 'i', &bmus); /* length of beam sync period, microsec */ + /* process the commandline; need this for setting errlog port */ arg=OptionProcess(1,argc,argv,&opt,NULL); @@ -422,6 +431,11 @@ int main(int argc,char *argv[]) { if (backward) bmnum--; else bmnum++; + if (bm_sync==1){ + Errlog(errlog.sock,progname,"Syncing to beam timing"); + SiteEndScan(bmsc,bmus); + } + } while (1); ErrLog(errlog.sock,progname,"Waiting for scan boundary.");