/* forbid_freq_check.h * =================== * * ver 1.00 * * This is a collection of routines * which will be related to checking forbid_freq_table * in RCP's (Radar Control Programs) * for everyone who want to use... * * by Sessai@NIPR */ /* for show&check_forbid_freq... * defined in forbid_freq.c in support.lib */ extern short int forbid_start_freq[]; extern short int forbid_end_freq[]; extern short int num_forbid_freq; /* ---------------------------------------------------------------- * forbid_freq table display, check & logging routine... by Sessai * ---------------------------------------------------------------- * void show_forbid_freq(char *errlog); * * show and log the forbid freq table loaded in support.lib * * void check_forbid_freq(char *errlog,short int freq_range, * short int day_start_freq,short int night_start_freq); * * check start_freq's with forbid_freq tables... * * void check_forbid_freq_sub(char *errlog,int sf,short int freq_range); * * sub function for check_forbid_freq... * */ void show_forbid_freq(char *errlog) { int i; char log_message[80]=""; char tmpstr[20]; int k=3; //int k=5; sprintf(log_message, "FRQ: num_forbid_freq = %d, table entries are...", num_forbid_freq); log_error(errlog,"Control",log_message); for(i=0;i<num_forbid_freq;i++){ if(i%k==0){ strcpy(log_message,"FRQ: "); } sprintf(tmpstr,"%2d:%5d-%5d ", i,forbid_start_freq[i],forbid_end_freq[i]); strcat(log_message,tmpstr); if(i%k==(k-1)) log_error(errlog,"Control",log_message); } if(num_forbid_freq%k!=0){ log_error(errlog,"Control",log_message); } } void check_forbid_freq( char *errlog,short int freq_range, short int day_start_freq,short int night_start_freq) { int f; int i=0; int status; int count=0; char log_message[80]=""; sprintf(log_message,"FRQ: check_forbid_freq..."); log_error(errlog,"Control",log_message); f=day_start_freq; status=check_forbid_freq_sub(errlog,f,freq_range); count+=status; f=night_start_freq; status=check_forbid_freq_sub(errlog,f,freq_range); count+=status; if(count==0){ sprintf(log_message,"FRQ: check_forbid_freq...OK!"); log_error(errlog,"Control",log_message); } else{ sprintf(log_message, "FRQ: check_forbid_freq...%d WARNING(S)!!!"); log_error(errlog,"Control",log_message); sprintf(log_message, "FRQ: CHECK FREQ you specified!!!!!!!!!!!!"); log_error(errlog,"Control",log_message); } } int check_forbid_freq_sub(char *errlog,int sf,short int freq_range){ int i; int status=0; char log_message[80]=""; if( (sf < 8000) || (20000 < sf+freq_range) ){ sprintf(log_message, "FRQ: WAR: %d-%d BAD Freq Setting(Out of Range!!!)", sf,sf+freq_range); log_error(errlog,"Control",log_message); status++; } for(i=0;i<num_forbid_freq;i++){ if( (sf+freq_range >= forbid_start_freq[i]) && (forbid_end_freq[i] >= sf) ){ sprintf(log_message, "FRQ: WAR: %d-%d <=> %d-%d BAD Freq Setting!!!", sf,sf+freq_range, forbid_start_freq[i],forbid_end_freq[i]); log_error(errlog,"Control",log_message); status++; } } return status; }