int main(int argc, char *argv[]) { int ret; char filename[256]; sprintf(filename, "%s", "gps.samples.1bit.I.fs5456.if4092.bin"); FC = 4.092e6; FS = 5.456e6; max_fo = 5000.0; printf("GPS CA code offline search. Extract from http://www.aholme.co.uk/GPS/Main.htm\n"); printf("Jiao Xianjun ([email protected]). 2014-05.\n"); printf("usage:\n"); printf("gps_test filename_of_1bit_IF_cap carrier_freq sampling_rate max_freq_offset\n"); printf("or\n"); printf("gps_test (Make sure gps.samples.1bit.I.fs5456.if4092.bin can be found. Download http://www.jks.com/gps/gps.html)\n"); if (argc == 5) { sprintf(filename, "%s", argv[1]); FC = atof(argv[2]); FS = atof(argv[3]); }else if (argc != 1) { printf("Please run with 3 arguments or without argument!\n"); return(0); } ret = SearchInit(); if (ret) { printf("SearchInit() returned %d\n", ret); return ret; } SearchTask(filename); return(0); }
void gps_main(int argc, char *argv[]) { assert(GPS_CHANS <= 16); // verilog limitation, see gps.v: "cmd_chan" printf("GPS starting..\n"); SearchParams(argc, argv); SearchInit(); for(int i=0; i<gps_chans; i++) { char *tname; asprintf(&tname, "GPSchan-%02d", i+1); CreateTaskSP(ChanTask, tname, GPS_PRIORITY, (void *) (long) i); } CreateTask(SolveTask, GPS_PRIORITY); if (!background_mode && print_stats) CreateTask(StatTask, GPS_PRIORITY); }