fprintf(stderr,"Illegal clock speed, use two values, seperated by comma and no spaces!\n");
exit(0);
}
clock_speed[0]=strtold(optarg,NULL);
clock_speed[1]=strtold(p+1,NULL);
set_clock_speed=1;
skip_args+=2;
break;
case'F':
deviation=-deviation;
skip_args+=1;
break;
case'N':
noise=strtold(optarg,NULL);
skip_args+=2;
break;
case'P':
ms_power=atoi(optarg);
if(ms_power>3)
ms_power=3;
if(ms_power<0)
ms_power=0;
skip_args+=2;
break;
case'A':
auth=1;
skip_args+=1;
break;
default:
opt_switch_common(c,argv[0],&skip_args);
}
}
free(long_options);
returnskip_args;
}
intmain(intargc,char*argv[])
{
intrc;
intskip_args;
constchar*station_id="";
intmandatory=0;
/* init common tones */
init_freiton();
init_besetzton();
init_ansage();
skip_args=handle_options(argc,argv);
argc-=skip_args;
argv+=skip_args;
if(argc>1){
}
if(!kanal){
printf("No channel (\"Kanal\") is specified, I suggest channel %d.\n\n",CNETZ_OGK_KANAL);
mandatory=1;
}
if(!set_clock_speed&&!measure_speed){
printf("No clock speed given. You need to measure clock using '-M' and later correct clock using '-S <rx ppm>,<tx ppm>'. See documentation for help!\n\n");
fprintf(stderr,"Failed to create \"Sender\" instance. Quitting!\n");
gotofail;
}
printf("Base station ready, please tune transmitter to %.3f MHz and receiver to %.3f MHz.\n",cnetz_kanal2freq(CNETZ_OGK_KANAL,0),cnetz_kanal2freq(CNETZ_OGK_KANAL,1));
if(kanal!=CNETZ_OGK_KANAL)
printf("When switching to speech channel %d, be sure that transmitter switches to %.3f MHz and receiver to %.3f MHz. (using pilot signal)\n",kanal,cnetz_kanal2freq(kanal,0),cnetz_kanal2freq(kanal,1));
signal(SIGINT,sighandler);
signal(SIGHUP,sighandler);
signal(SIGTERM,sighandler);
signal(SIGPIPE,sighandler);
if(rt_prio>0){
structsched_paramschedp;
intrc;
memset(&schedp,0,sizeof(schedp));
schedp.sched_priority=rt_prio;
rc=sched_setscheduler(0,SCHED_RR,&schedp);
if(rc)
fprintf(stderr,"Error setting SCHED_RR with prio %d\n",rt_prio);