#include #include #include #include #include #include int main() { struct timeval tv; struct gps_data_t gps_data; if (gps_open("172.17.1.1","2947",&gps_data) == -1) { printf("Error opening gps"); return 1; } (void)gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL); while(1) { if (gps_waiting(&gps_data,500)) { if(gps_read(&gps_data,NULL,0) == -1) { printf("error reading data"); } else { //printf("%d",gps_read); printf("Data from GPS:\n"); printf("STATUS: %s\n",gps_data.fix.datum); printf("MODE: %d\n", gps_data.fix.mode); printf("LAT: %f\n",gps_data.fix.latitude); printf("LON: %f\n",gps_data.fix.longitude); printf("SPEED: %f\n",gps_data.fix.speed); printf("Time: %ld.%09ld\n",gps_data.fix.time.tv_sec,gps_data.fix.time.tv_nsec); printf("ALT: %f\n", gps_data.fix.altitude); printf("TRACK: %f\n", gps_data.fix.track); //printf("%f ++++ %f +++++++ %f ++++++ %f +++++++++ %f +++++++ %f ++++++++ %f",gps_data.fix.ept,gps_data.fix.epy,gps_data.fix.epx,gps_data.fix.epv,gps_data.fix.epd,gps_data.fix.eps,gps_data.fix.epc); printf("\n\n\n\n"); printf("\n--- GPS ---\n"); //printf("gps_data.online: %10.0f\n", gps_data.online); printf("gps_data.status: %d\n", gps_data.status); printf("gps_data.satellites_used: %d\n", gps_data.satellites_used); printf("gps_data.fix.mode: %d\n", gps_data.fix.mode); //printf("gps_data.fix.time: %10.0f\n", gps_data.fix.time); printf("gps_data.fix.latitude: %f\n", gps_data.fix.latitude); printf("gps_data.fix.longitude: %f\n", gps_data.fix.longitude); printf("gps_data.fix.altitude: %f\n", gps_data.fix.altitude); printf("gps_data.fix.speed: %f\n", gps_data.fix.speed); printf("gps_data.fix.track: %f\n", gps_data.fix.track); printf("gps_data.dop.pdop: %f\n", gps_data.dop.pdop); printf("\n\n\n\n"); } } sleep(1); } }