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);
}
Пример #2
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);
}