/* BasyouhuP200001.c - for Japanese Special Time in Jan,2000 ver. 1.01 * ================= * * --- based on Sessai's revised version of Rob's normal_scan * for Radops2000v4.01 which can be used also on Radops v4.10A * * intt=3 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * if you cannot, please change it using '-it' option!!!!!!!!!!! * e.g. '-it 4' for intt=4. !!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * * (rsep=45km,frang=180km,mpinc=2400 as usual) * No GPS Synchronization (wb_min=0,wb_sec=0) * Special Basyouhu Scan for high speed global scan * and 3 high time resolution special camping beams * for high time resolution cusp observation * (defined in "for loop" code in this program and in "BasyouhuP200001.h") * * #define CP_ID 5245 * * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * Please Specify your 2 most appropriate FREQUENCIES * or by giving "-df" "-nf" option to me * -df is a freq to be used for day time * -nf is a freq to be used for night time * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * * ...This is Not the "Nasu"... * * by Sessai@NIPR */ /* $Log: BasyouhuP200001.c,v $ Revision 1.01 1999/12/14 12:00:00 sessai Added more TIGER support. Revision 1.00 1999/12/06 00:00:00 sessai initial version based on BasyouhuC9908 ver1.00 */ /* $Log: BasyouhuC9908.c,v $ Revision 1.00 1999/07/06 00:00:00 sessai initial version based on BasyouhuC9905 ver1.01 */ /* $Log: BasyouhuC9905.c,v $ Revision 1.01 1999/04/26 00:00:00 sessai change special beam selection in BasyouhuC9905.h Revision 1.00 1999/04/01 00:00:00 sessai initial version based on BasyouhuC9903 ver1.01 */ /* $Log: BasyouhuC9903.c,v $ Revision 1.01 1999/02/25 00:00:00 sessai bug fix about Leicester freq_band part Revision 1.00 1999/02/01 00:00:00 sessai initial version based on BasyouhuP9901 ver3.00 */ /* $Log: BasyouhuP9901.c,v $ Revision 3.00 1999/01/08 00:00:00 sessai introduce MODEMAX in BasyouhuP9901.h now this can be used both for Jan. and Feb., 1999 ST Revision 2.00 1998/12/16 00:00:00 sessai actually no change in BasyouhuP9901.c only BasyouhuP9901.h has been modified due to modification of sounding modes Revision 1.00 1998/12/08 00:00:00 sessai initial version */ /* ---- Sessai's normal_scan history record ---- */ /* Sessai revised Dec. 1,1997 - fixed missing usr_resS1 * Sessai version Nov. 1,1997 -many fixes to Rob's v.2.10 */ /* ---- Rob's normal_scan rcs record ---- */ /* $Log: normal_scan.c,v $ Revision 2.10 1997/06/10 20:24:57 root Removed redundant header entry. ............ */ #ifdef __USAGE %C [-df day_start_freq/band] [-df day_start_freq/band] [-dt day_start_hr] [-nt night_start_hr] [-xcf xcount] [-it intt] [-v verbose(0-9)] [option file] Please specify the 2 best frequencies to get as much echo as possible!!!!! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Specify them by '-df' & '-nf' options -df day_start_freq/band one freq/band for day time -nf night_start_freq/band one freq/band for night time If you want to change day/night boundary, you can specify them by '-dt' and '-nt' options as in normal_scan. If you want to change "intt" to avoid this RCP or your hardware crashing, you can use '-it' option to overide it. Many thanks for your collaboration... #endif #define SIM_FILE "/radops/demo.dat" //#define CP_ID 5244 #define CP_ID 5245 #include #include #include // added by Sessai #include /* Headers for the control library * =============================== */ #include "message.h" #include "radops.h" #include "fitdata.h" #include "task_write.h" #include "user_int.h" #include "get_status.h" #include "log_error.h" #include "sample.h" #include "read_raw.h" /* Header for the support library * =============================== */ #include "support.h" #include "sync.h" #include "summary_control.h" #include "option.h" /* the normal_scan headers */ #include "radar_id.h" #include "default.h" #define DEFAULT_INTT 3 #define DEFAULT_RSEP 45 #define DEFAULT_FRANG 180 #define DEFAULT_MPINC 2400 #define DEFAULT_FREQ_RANGE 300 #define DEFAULT_FREQ_STEP 5 #define DEFAULT_SP_SCAN -32768 #define DEFAULT_WB_MIN 0 /* registered names of the tasks to receive data */ #include "task_names.h" //#include "task_names0.h" char prg_name[32]; /* this is the program name displayed by display */ char cmd_line[256]; char errbuf[256]; //short int v=0; short int v=1; #include "option2.h" #include "sync2.h" #ifdef NIPR #include "ntp.h" int nntp=0; #endif //#include "set_summary.h" #include "forbid_freq_check.h" #include "show.h" // for Basyouhu Special (Jan,2000) #include "BasyouhuP200001.h" // newly revised one! /* The main program */ int f=0; int frame_counter=0; short int start_freq,end_freq,freq_range=DEFAULT_FREQ_RANGE; short int start_beam,end_beam,skip_beam; short int spbmc=-1; short int spbmc2; short int spbmnum; short int day_start_hr=DAY_START; short int night_start_hr=NIGHT_START; #if !defined(LEICESTER) && !defined(TIGER) short int day_start_freq=DAY_FREQ; short int night_start_freq=NIGHT_FREQ; #endif short int day_frang=DAY_FRANG; short int night_frang=NIGHT_FRANG; short int day_mpinc=DAY_MPINC; short int night_mpinc=NIGHT_MPINC; short int day_night_flag; short int count=0,xcount=XCF; #if defined(LEICESTER) || defined(TIGER) short int day_start_band=DAY_BAND; short int night_start_band=NIGHT_BAND; #include "freq_band.h" #endif // moved from main(), Julian, OK? <------- Julian, Look and check here!! #ifdef PULSE_CODE #include "pulse_code.h" #endif FILE *sim_file=NULL; short int wb_min=DEFAULT_WB_MIN,wb_sec=0; //short int wb_st_hr=0;wb_st_min=0,wb_st_sec=0; short int mode=0; // shuold be set between 1 and 4 by command_line... #if defined(LEICESTER) || defined(TIGER) short int df1=DAY_BAND; short int df2=DAY_BAND; short int nf1=NIGHT_BAND; short int nf2=NIGHT_BAND; short int df=DAY_BAND; short int nf=NIGHT_BAND; #else short int df1=DAY_FREQ; short int df2=DAY_FREQ; short int nf1=NIGHT_FREQ; short int nf2=NIGHT_FREQ; short int df=DAY_FREQ; short int nf=NIGHT_FREQ; #endif short int stf[2][2]={1,2,3,4}; //stf[day_night_flag][0/1]={df1,df2,nf1,nf2}; short int fnc=0; short int fsc=0; #ifdef DEBUG short int dum1; long int dum2; #endif void main(int argc,char *argv[]) { int exit_poll=0; int argnum=0; // Julian, I moved these below up to global part above! OK? // I need this for making a function "onebeam()" below...... //#ifdef PULSE_CODE // #include "pulse_code.h" //#endif struct option opt[] = { {"dt", 's', 0, &day_start_hr}, {"nt", 's', 0, &night_start_hr}, //#ifdef LEICESTER // {"df", 's', 0, &day_start_band}, // {"nf", 's', 0, &night_start_band}, //#else // {"df", 's', 0, &day_start_freq}, // {"nf", 's', 0, &night_start_freq}, //#endif // {"df1", 's', 0, &df1}, // {"df2", 's', 0, &df2}, // {"nf1", 's', 0, &nf1}, // {"nf2", 's', 0, &nf2}, {"df", 's', 0, &df}, {"nf", 's', 0, &nf}, // {"dr", 's', 0, &day_frang}, // {"nr", 's', 0, &night_frang}, // {"fr", 's', 0, &frang}, {"xcf",'s', 0, &xcount}, // {"dm", 's', 0, &day_mpinc}, // {"nm", 's', 0, &night_mpinc}, // {"mp", 's', 0, &mpinc}, // {"mpinc", 's', 0, &mpinc}, // {"sb", 's', 0, &start_beam}, // {"eb", 's', 0, &end_beam}, {"it", 's', 0, &intt}, {"intt", 's', 0, &intt}, {"rs", 's', 0, &rsep}, {"rsep", 's', 0, &rsep}, // {"nwb", NULL, 0, NULL}, // {"wb", 's', 0, &wb_min}, // {"wbs", 's', 0, &wb_sec}, {"v", 's', 0, &v}, #ifdef NIPR {"nntp", NULL, 0, &nntp}, // Sessai to specify ignoring NTP.tbl!!! #endif // {"mode", 's', 0, &mode}, // should be given like 1,2,...,MODEMAX 0}; //FILE *sim_file=NULL; FILE *opt_file=NULL; //int status,c; int bmc; // beam number counter int bm_scan_sign=1; // +1 when start_beam<=end_beam, otherwise -1 //int first_beam=1; long int tmpA,tmpB,tmpP; /* define the pulse sequence and the lag table */ short int ptab[7] = {0,9,12,20,22,26,27}; short int lags[2][18] ={ {0,26,20,9,22,22,20,20,12,0,12,9,0,9,12,12,9,9}, {0,27,22,12,26,27,26,27,20,9,22,20,12,22,26,27,26,27}}; /* set up the default parameters */ #ifdef DISCRETIONARY cp =-CP_ID; #else cp=CP_ID; #endif intt = DEFAULT_INTT; //rsep = DEFAULT_RSEP; rsep = SPRSEP; //freq_range=DEFAULT_FREQ_RANGE; //mpinc = day_mpinc; //frang = day_frang; mpinc = DEFAULT_MPINC; frang = DEFAULT_FRANG; nrang = NRANG; max_atten = MAX_ATTEN; prot_atten= PROT_ATTEN; rxnarrow=RXNARROW; rxwide=RXWIDE; rsep_switch=RSEP_SWITCH; //strcpy(combf,"$Id: normal_scan.c,v 2.10 1997/06/10 20:24:57 root Exp root $"); //strcpy(combf,"$Id: Nasumiso.c,v 1.00 1997/12/24 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: Basyouhu.c,v 1.00 1998/01/17 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: BasyouhuP9901.c,v 3.00 1999/01/08 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: BasyouhuC9903.c,v 1.01 1999/02/25 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: BasyouhuC9905.c,v 1.01 1999/04/26 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: BasyouhuC9908.c,v 1.01 1999/07/06 00:00:00 sessai Exp sessai $"); //strcpy(combf,"$Id: BasyouhuP200001.c,v 1.00 1999/12/06 00:00:00 sessai Exp sessai $"); strcpy(combf,"$Id: BasyouhuP200001.c,v 1.01 1999/12/14 12:00:00 sessai Exp sessai $"); // added by Sessai on Dec. 1, 1997 #ifdef BACKWARDS usr_resS1 = -1; /* backwards scan */ #else usr_resS1 = 1; /* forward scan */ #endif // I moved these from down below..., Julian, OK? #if defined(LEICESTER) || defined(TIGER) init_freq_bands(); //init_proxy(); #else start_freq=day_start_freq; #endif report("================================"); report("Control Program started."); sprintf(errbuf,"%d %s %c",SD_RADAR_ID,SD_RADAR_NAME,SD_RADAR_CODE); report(errbuf); /* set the program name on the display */ // strcpy(prg_name,"normal_scan"); set_prg_name(argv[0]); /* build the command line string */ set_cmd_line(argc,argv); /* decode the command line parameters */ //argnum=process_option(argc,argv,opt,NULL); argnum=process_option2(argc,argv,opt,NULL); if (argnum4)||(mode<=0)){...} // if((mode>MODEMAX)||(mode<=0)){ // sprintf(errbuf,"mode %d specified...",mode); // report(errbuf); // report("mode MUST be among 1,2,...,MODEMAX !!!"); // report("Abnormal Exit!!!..."); // exit(1); // } // sprintf(errbuf,"mode %d specified by -mode option...",mode); // report(errbuf); // mode=mode-1; mode=0; start_beam=spstbm[mode]; end_beam =spedbm[mode]; sprintf(errbuf,"mode %d selected...",mode); report(errbuf); if((optset("it",opt))||(optset("intt",opt))){ sprintf(errbuf,"intt = %d selected by mode...",spintt[mode]); report(errbuf); sprintf(errbuf,"BUT intt = %d specified by intt option!!",intt); report(errbuf); report("spintt is OVERRIDED!!!..."); sprintf(errbuf,"intt = %d selected!!!!!!!!",intt); report(errbuf); } else { intt=spintt[mode]; sprintf(errbuf,"intt = %d selected by mode...",intt); report(errbuf); } if(sponly[mode]){ report("SpecialBeam(s) Only Mode is selected by mode!!!..."); } else { report("Basyouhu Special Scan Mode is selected by mode!!!..."); sprintf(errbuf,"start_beam %d selected by mode...",start_beam); report(errbuf); sprintf(errbuf," end_beam %d selected by mode...", end_beam); report(errbuf); } spbmnum=0; while((spbm[mode][0][spbmnum]!=-1)&&(spbmnum=1){ show_forbid_freq(ERRLOG_NAME); //check_forbid_freq(ERRLOG_NAME,freq_range, // day_start_freq,night_start_freq); //} /* setup default summary beams added by Sessai */ //set_default_summary(ERRLOG_NAME,SUMMARY_NAME); get_summary(SUMMARY_NAME,&tmpA,&tmpB,&tmpP); sprintf(errbuf,"sd_summary b%ld,%ld,p%ld so far",tmpA,tmpB,tmpP); report(errbuf); put_summary(SUMMARY_NAME,spbm[mode][0][0],SP_SMR_B,SP_SMR_P); #ifdef DEBUG report("Opening Simulated data file."); sim_file=fopen(SIM_FILE,"r"); #endif //#ifdef REPORT sprintf(errbuf,"day/night start hour %d/%d",day_start_hr,night_start_hr); report(errbuf); #if defined(LEICESTER) || defined(TIGER) sprintf(errbuf,"day/night start band %d/%d",day_start_band,night_start_band); report(errbuf); #else sprintf(errbuf,"day/night start freq %d/%d",day_start_freq,night_start_freq); report(errbuf); #endif sprintf(errbuf,"day/night frang %d/%d",day_frang,night_frang); report(errbuf); sprintf(errbuf,"day/night mpinc %d/%d",day_mpinc,night_mpinc); report(errbuf); sprintf(errbuf,"intt %d, rsep %d, nrang %d",intt,rsep,nrang); report(errbuf); sprintf(errbuf,"wb_min %d, wb_sec %d",wb_min,wb_sec); report(errbuf); sprintf(errbuf,"start_beam %d, end_beam %d",start_beam,end_beam); report(errbuf); //#endif report("Entering main loop..."); do { int bi,bj; read_clock(&yr,&mon,&day,&hr,&min,&sec,&msec,&usec); if(v>=1)fprintf(stderr,"%d/%02d/%02d %02d:%02d:%02d.%03d%03d...", yr,mon,day,hr,min,sec,msec,usec); /* check if we need to open new files */ if (test_hour(2) !=0) { report("Opening new set of data files."); task_close(RAWWRITE,yr,mon,day,hr,min,sec); task_close(FITACF,yr,mon,day,hr,min,sec); task_close(ECHO_DATA,yr,mon,day,hr,min,sec); task_open(RAWWRITE,cmd_line,yr,mon,day,hr,min,sec); task_open(FITACF,cmd_line,yr,mon,day,hr,min,sec); task_open(ECHO_DATA,cmd_line,yr,mon,day,hr,min,sec); } #ifdef NIPR /* NTP_check... by Sessai */ //if( ntp_check(hr,min,sec,msec) ) continue; ////else if(v>=1) fprintf(stderr,"go...\n"); if(nntp==0){ if( ntp_check(hr,min,sec,msec) ) continue; } #endif if(v>=1) fprintf(stderr,"go...\n"); /* check to see if we need to update the day and night params */ day_night_flag=day_or_night(day_start_hr,night_start_hr); if (day_night_flag == NIGHT_FLAG) { #if defined(LEICESTER) || defined(TIGER) start_freq=lsfreq[night_start_band]; freq_range=lfreq_range[night_start_band]; #else start_freq=night_start_freq; #endif frang = night_frang; mpinc = night_mpinc; } else { #if defined(LEICESTER) || defined(TIGER) start_freq=lsfreq[day_start_band]; freq_range=lfreq_range[day_start_band]; #else start_freq=day_start_freq; #endif frang = day_frang; mpinc = day_mpinc; } /* record beam numbers if not usual */ if ((start_beam != START_BEAM) || (end_beam != END_BEAM)) { usr_resS2=start_beam; usr_resS3=end_beam; } /* test whether we should perform xcf */ if (xcount > 0) { ++count; if(count == xcount) { xcf = 1; count = 0; } else xcf= 0; } else xcf = 0; // skip_beam=calc_skip2(wb_min,wb_sec); if(sponly[mode]){ scan=1; // for(bi...) loop is just a dummy to avoid vlptm from crashing... for(bi=0;bi=16))continue; if((exit_poll=onebeam(bmc))!=0) break; scan=DEFAULT_SP_SCAN; } } else { bm_scan_sign=((start_beam>end_beam) ? -1 : 1); //if( (start_beam+bm_scan_sign*skip_beam-end_beam)*bm_scan_sign >0 ) skip_beam=0; spbmc2=0; fnc=(fnc+1)%2; for(bi=0;bi<2;bi++){ for(bj=0+bi;bj<4;bj+=2){ for(bmc=start_beam+bm_scan_sign*bj; (end_beam-bmc)*bm_scan_sign>=0;bmc+=bm_scan_sign*4) { if(bmc==start_beam) scan=1; else { scan=0; if(one_of_spec(bmc))continue; } #if defined(LEICESTER) || defined(TIGER) start_freq=lsfreq[stf[day_night_flag][fnc]]; freq_range=lfreq_range[stf[day_night_flag][fnc]]; #else start_freq=stf[day_night_flag][fnc]; #endif if((exit_poll=onebeam(bmc))!=0) break; spbmc++; //if((spbmc==spbmnum)||(spbm[mode][0][spbmc]==-1))spbmc=0; if((spbmc==spbmnum)||(spbm[mode][0][spbmc]==-1)){ fsc=(fsc+1)%2; spbmc=0; } if((spbm[mode][0][spbmc]<0)||(spbm[mode][0][spbmc]>=16))continue; if(spbmc2==spbm[mode][1][spbmc])scan=0; else scan=DEFAULT_SP_SCAN; spbmc2++; #if defined(LEICESTER) || defined(TIGER) start_freq=lsfreq[stf[day_night_flag][fsc]]; freq_range=lfreq_range[stf[day_night_flag][fsc]]; #else start_freq=stf[day_night_flag][fsc]; #endif if((exit_poll=onebeam(spbm[mode][0][spbmc]))!=0) break; } if(exit_poll) break; } if(exit_poll) break; } } /* wait on two minute boundary */ if (exit_poll==0) { read_clock(&yr,&mon,&day,&hr,&min,&sec,&msec,&usec); if(v>=1)fprintf(stderr, "%d/%02d/%02d %02d:%02d:%02d.%03d%03d...wb%d:%02d...\n", yr,mon,day,hr,min,sec,msec,usec,wb_min,wb_sec); wait_boundary2(wb_min,wb_sec); } } while (exit_poll==0); report("Shutdown detected."); /* get the last outstanding record from fitacf */ if ((f=get_fit(FITBUFFER_NAME,&fit_dt_buf))!=frame_counter) { sprintf(errbuf,"Received fit data block %d",f); report(errbuf); task_write_fit(ECHO_DATA,&fit_dt_buf,1); frame_counter=f; /* count the number of fit data frames */ } else report("No fit data waiting."); /* close files and exit */ report("Closing data files."); task_close(RAWWRITE,yr,mon,day,hr,min,sec); task_close(FITACF,yr,mon,day,hr,min,sec); task_close(ECHO_DATA,yr,mon,day,hr,min,sec); /* back to the previous sd_summary setting... by Sessai */ //put_summary(SUMMARY_NAME,SMR_BEAM_A,SMR_BEAM_B,SMR_PWR); put_summary(SUMMARY_NAME,tmpA,tmpB,tmpP); report("Exiting control program."); report("================================"); exit(0); } int one_of_spec(int bmc){ int i,bingo; i=0; bingo=0; while(i=2){ if(scan==0||scan==1) fprintf(stderr,"Beam%02d:",bmnum); else fprintf(stderr,"SPBM%02d:",bmnum); } end_freq=start_freq+freq_range; /* set the radar parameter block up */ set_block(&raw_dt_buf); set_time(&raw_dt_buf); if(v>=2)fprintf(stderr,"%02d:%02d:%02d:", raw_dt_buf.PARMS.HOUR,raw_dt_buf.PARMS.MINUT,raw_dt_buf.PARMS.SEC); //////////////////////////////////////////////////////////////////////////// //#ifdef DEBUG //if(v>=1){...} if(v>=2){ //sprintf(errbuf,"%02d:%02d:%02d:B%d:scan%d", // raw_dt_buf.PARMS.HOUR,raw_dt_buf.PARMS.MINUT, // raw_dt_buf.PARMS.SEC,bmnum,scan); sprintf(errbuf,"%02d:%02d:%02d:B%d,F%d,scan%d", raw_dt_buf.PARMS.HOUR,raw_dt_buf.PARMS.MINUT, raw_dt_buf.PARMS.SEC,bmnum,start_freq,scan); //#ifdef NIPR reportS(errbuf); // new in control.lib! //#else // report(errbuf); //#endif } //#endif //////////////////////////////////////////////////////////////////////////// if(v>=3)fprintf(stderr,"fclr.."); status=fclr(&raw_dt_buf,start_freq,end_freq,DEFAULT_FREQ_STEP); #ifdef DEBUG dum1=raw_dt_buf.PARMS.TFREQ; dum2=raw_dt_buf.PARMS.NOISE; #endif #if defined(LEICESTER) || defined(TIGER) read_uconts(); #endif #ifdef PULSE_CODE if (status==0) status=pulse_code(&raw_dt_buf,nbaud,code); #else if (status==0) { if(v>=3)fprintf(stderr,"Tx%d..",raw_dt_buf.PARMS.INTT); status=radar(&raw_dt_buf); } #endif else report("fclr failed! NoTx!."); if(v>=3)fprintf(stderr,"gs.."); get_status(RADOPS_DIO_NAME,&raw_dt_buf,0); #ifdef DEBUG if (sim_file !=NULL) { if (read_raw_data(sim_file,&raw_dt_buf) !=0) { if(v>=3)fprintf(stderr,"reached end of sim. file!.."); fclose(sim_file); sim_file=fopen(SIM_FILE,"r"); } raw_dt_buf.PARMS.TFREQ=dum1; raw_dt_buf.PARMS.NOISE=dum2; } #endif /* send the raw data to the other tasks */ if(v>=3)fprintf(stderr,"twr.."); task_write_raw(RAWWRITE,&raw_dt_buf,1); task_write_raw(FITACF,&raw_dt_buf,1); task_write_raw(ECHO_DATA,&raw_dt_buf,1); task_write_aux(ECHO_DATA,prg_name,strlen(prg_name)+1); if(v>=3)fprintf(stderr,"gf.."); if ((f=get_fit(FITBUFFER_NAME,&fit_dt_buf))!=frame_counter) { if(v>=3)fprintf(stderr,"%2d(%d)..",fit_dt_buf.prms.BMNUM,f); /* set summary beam again if needed */ if((spsmbm[mode]&(0x0001<=3)fprintf(stderr,"ps%d..",fit_dt_buf.prms.BMNUM); if(put_summary(SUMMARY_NAME, fit_dt_buf.prms.BMNUM,SP_SMR_B,SP_SMR_P)==0){ tmpAnow=fit_dt_buf.prms.BMNUM; tmpBnow=SP_SMR_B; } else { if(v>=3)report("psFAILED!"); } } /* send fit data to echo_data */ if(v>=3)fprintf(stderr,"twf.."); task_write_fit(ECHO_DATA,&fit_dt_buf,1); frame_counter=f; /* count the number of fit data frames */ } else report("No fit data waiting."); if(v>=3)fprintf(stderr,"EO1B\n"); if(v>=4)show_data_list(stderr,&raw_dt_buf,&fit_dt_buf,nrang, start_freq,freq_range,fitOK,v-3); //if(v>=3)fprintf(stderr,"ui.."); #if defined(LEICESTER) || defined(TIGER) // exit_poll=user_int(&raw_dt_buf,...) status=user_int(&raw_dt_buf, "start_beam i end_beam i \ day_start_band i night_start_band i \ day_frang i night_frang i day_mpinc i \ night_mpinc i start_freq i end_freq i", &start_beam,&end_beam, &day_start_band,&night_start_band, &day_frang,&night_frang, &day_mpinc,&night_mpinc,&start_freq,&end_freq); #else // exit_poll=user_int(&raw_dt_buf,...) status=user_int(&raw_dt_buf, "start_beam i end_beam i \ day_start_freq i night_start_freq i \ day_frang i night_frang i day_mpinc i \ night_mpinc i start_freq i end_freq i", &start_beam,&end_beam, &day_start_freq,&night_start_freq, &day_frang,&night_frang, &day_mpinc,&night_mpinc,&start_freq,&end_freq); #endif set_vars(&raw_dt_buf); return status; } /* build the command line string */ void set_cmd_line(int argc,char *argv[]) { strcpy(cmd_line,argv[0]); if(argc>1){ int c; for (c=1;c