|
From: | Michael J. Tubby B.Sc. MIET |
Subject: | Re: [gpsd-dev] Minimum working example for libgps |
Date: | Fri, 3 Nov 2017 10:46:45 +0000 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
Hi David, Below is the test harness I wrote a couple of weeks ago when I first started using GPSD on one of our products: #include <stdio.h> #include <string.h> #include <stddef.h> #include <errno.h> #include <math.h> #include "/usr/local/include/gps.h" void main(void) { int ret; struct gps_data_t gps_data; ret = gps_open("localhost", "2947", &gps_data); (void)gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL); for (;;) { /* Put this in a loop with a call to a high resolution sleep () in it. */ if (gps_waiting(&gps_data, 500)) { errno = 0; if (gps_read(&gps_data) == -1) { printf("Read error\n"); exit(1); } else { if (gps_data.set) { 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); } } } } } the code is a life from the GPSD documentation and "just works"(tm) for me - YMMV. Platform is ARM dual-core iMX6; Ubuntu 14.04.5 LTS Server, gcc 5 I'm using GPDS 3.19 built from source and installed in /usr/local/... My test harness compiles: cc -o test test.c -l:/usr/local/lib/libgps.so and runs, thus: address@hidden:~/vr2200/avld-ng/src/tests$ ./test --- GPS --- gps_data.online: 1509705893 gps_data.status: 0 gps_data.satellites_used: 0 gps_data.fix.mode: 0 gps_data.fix.time: nan gps_data.fix.latitude: nan gps_data.fix.longitude: nan gps_data.fix.altitude: nan gps_data.fix.speed: nan gps_data.fix.track: nan gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705893 gps_data.status: 0 gps_data.satellites_used: 0 gps_data.fix.mode: 0 gps_data.fix.time: nan gps_data.fix.latitude: nan gps_data.fix.longitude: nan gps_data.fix.altitude: nan gps_data.fix.speed: nan gps_data.fix.track: nan gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705893 gps_data.status: 0 gps_data.satellites_used: 0 gps_data.fix.mode: 0 gps_data.fix.time: nan gps_data.fix.latitude: nan gps_data.fix.longitude: nan gps_data.fix.altitude: nan gps_data.fix.speed: nan gps_data.fix.track: nan gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705894 gps_data.status: 1 gps_data.satellites_used: 0 gps_data.fix.mode: 3 gps_data.fix.time: 1509705894 gps_data.fix.latitude: 52.230025 gps_data.fix.longitude: -2.188018 gps_data.fix.altitude: 43.450000 gps_data.fix.speed: 0.043000 gps_data.fix.track: 280.369300 gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705895 gps_data.status: 1 gps_data.satellites_used: 0 gps_data.fix.mode: 3 gps_data.fix.time: 1509705895 gps_data.fix.latitude: 52.230026 gps_data.fix.longitude: -2.188018 gps_data.fix.altitude: 43.468000 gps_data.fix.speed: 0.040000 gps_data.fix.track: 307.944700 gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705896 gps_data.status: 1 gps_data.satellites_used: 0 gps_data.fix.mode: 3 gps_data.fix.time: 1509705896 gps_data.fix.latitude: 52.230026 gps_data.fix.longitude: -2.188017 gps_data.fix.altitude: 43.568000 gps_data.fix.speed: 0.017000 gps_data.fix.track: 1.317500 gps_data.dop.pdop: nan --- GPS --- gps_data.online: 1509705896 gps_data.status: 1 gps_data.satellites_used: 14 gps_data.fix.mode: 3 gps_data.fix.time: 1509705896 gps_data.fix.latitude: 52.230026 gps_data.fix.longitude: -2.188017 gps_data.fix.altitude: 43.568000 gps_data.fix.speed: 0.017000 gps_data.fix.track: 1.317500 gps_data.dop.pdop: 1.380000 --- GPS --- gps_data.online: 1509705897 gps_data.status: 1 gps_data.satellites_used: 14 gps_data.fix.mode: 3 gps_data.fix.time: 1509705897 gps_data.fix.latitude: 52.230026 gps_data.fix.longitude: -2.188016 gps_data.fix.altitude: 43.645000 gps_data.fix.speed: 0.030000 gps_data.fix.track: 43.908300 gps_data.dop.pdop: 1.380000 --- GPS --- gps_data.online: 1509705898 gps_data.status: 1 gps_data.satellites_used: 14 gps_data.fix.mode: 3 gps_data.fix.time: 1509705898 gps_data.fix.latitude: 52.230026 gps_data.fix.longitude: -2.188016 gps_data.fix.altitude: 43.603000 gps_data.fix.speed: 0.008000 gps_data.fix.track: 177.232800 gps_data.dop.pdop: 1.380000 Hope this helps. Regards Mike On 11/3/2017 5:10 AM, David Huichen Dai
wrote:
--
Michael
J Tubby B.Sc MIET / Technical Director
Thorcom
Systems Ltd |
[Prev in Thread] | Current Thread | [Next in Thread] |