From: <hb...@us...> - 2012-05-20 00:41:04
|
Revision: 2611 http://gpsdrive.svn.sourceforge.net/gpsdrive/?rev=2611&view=rev Author: hbowman Date: 2012-05-20 00:40:58 +0000 (Sun, 20 May 2012) Log Message: ----------- remove LIBGPS_OLD switch, replace with automatic API version checks Modified Paths: -------------- trunk/DefineOptions.cmake trunk/src/CMakeLists.txt trunk/src/gps_handler.c Modified: trunk/DefineOptions.cmake =================================================================== --- trunk/DefineOptions.cmake 2012-05-19 14:10:51 UTC (rev 2610) +++ trunk/DefineOptions.cmake 2012-05-20 00:40:58 UTC (rev 2611) @@ -10,5 +10,4 @@ option(WITH_KISMET "Build with kismet support" ON) option(DEBUG "Build with debug -D support" ON) option(WITH_NAVIGATION "Build with routing support" OFF) -option(LIBGPS_OLD "Build with old libgps version (<2.90)" OFF) Modified: trunk/src/CMakeLists.txt =================================================================== --- trunk/src/CMakeLists.txt 2012-05-19 14:10:51 UTC (rev 2610) +++ trunk/src/CMakeLists.txt 2012-05-20 00:40:58 UTC (rev 2611) @@ -57,10 +57,6 @@ add_definitions(-DNAVIGATION) endif (WITH_NAVIGATION) -if (LIBGPS_OLD) - add_definitions(-DLIBGPS_OLD) -endif (LIBGPS_OLD) - if (DEBUG) add_definitions(-DDEBUG) endif (DEBUG) Modified: trunk/src/gps_handler.c =================================================================== --- trunk/src/gps_handler.c 2012-05-19 14:10:51 UTC (rev 2610) +++ trunk/src/gps_handler.c 2012-05-20 00:40:58 UTC (rev 2611) @@ -354,10 +354,11 @@ if (mydebug > 40) { g_print (" Fix Status: %d\n Fix Mode: %d\n", data->status, data->fix.mode); -#ifdef LIBGPS_OLD +#if GPSD_API_MAJOR_VERSION >= 4 +/* ie libgps >= 2.90 */ + g_print (" Sats used: %d of %d\n", data->satellites_used, data->satellites_visible); +#else g_print (" Sats used: %d of %d\n", data->satellites_used, data->satellites); -#else - g_print (" Sats used: %d of %d\n", data->satellites_used, data->satellites_visible); #endif g_print (" Position: %.6f / %.6f\n", data->fix.latitude, data->fix.longitude); g_print (" Course: %.2f\n GPS time: %.0f\n", @@ -387,11 +388,12 @@ current.altitude = data->fix.altitude; } current.gps_sats_used = data->satellites_used; -#ifdef LIBGPS_OLD +#if GPSD_API_MAJOR_VERSION >= 4 + current.gps_sats_in_view = data->satellites_visible; +#else current.gps_sats_in_view = data->satellites; -#else - current.gps_sats_in_view = data->satellites_visible; #endif + if (data->set & TRACK_SET) { if (isnan(data->fix.track)) @@ -414,12 +416,13 @@ current.groundspeed = data->fix.speed * MPS_TO_KPH * local_config.distfactor; } } -#ifdef LIBGPS_OLD + +#if GPSD_API_MAJOR_VERSION >= 4 + current.gps_hdop = data->dop.hdop; + current.gps_eph = ((data->fix.epx > data->fix.epy) ? data->fix.epx : data->fix.epy); +#else current.gps_hdop = data->hdop; current.gps_eph = data->fix.eph; -#else - current.gps_hdop = data->dop.hdop; - current.gps_eph = ((data->fix.epx > data->fix.epy) ? data->fix.epx : data->fix.epy); #endif current.gps_epv = data->fix.epv; @@ -429,14 +432,14 @@ localtime_r(&t_gpstime, &t_tim); strftime (current.loc_time, sizeof (current.loc_time), "%H:%M", &t_tim); -#ifdef LIBGPS_OLD +#if GPSD_API_MAJOR_VERSION >= 4 + if ((data->set & SATELLITE_SET) && (data->satellites_visible > 0)) + { + for (i=0;i<data->satellites_visible;i++) +#else if ((data->set & SATELLITE_SET) && (data->satellites > 0)) { for (i=0;i<data->satellites;i++) -#else - if ((data->set & SATELLITE_SET) && (data->satellites_visible > 0)) - { - for (i=0;i<data->satellites_visible;i++) #endif { gps_sats[i].used = data->used[i]; @@ -463,14 +466,10 @@ return TRUE; gpsdata->set = 0; -#ifdef LIBGPS_OLD - /* query gpsd for data: - * o - get time/position/velocity data - * y - get satellite info - * s - get fix status (must be after "o" else its value is overwritten) - */ - gps_query (gpsdata, "oys\n"); -#else + + + +#if GPSD_API_MAJOR_VERSION >= 4 #if GPSD_API_MAJOR_VERSION >= 5 /* 2sec (2e+06 usec) timeout */ if (gps_waiting(gpsdata, 2000000)) @@ -480,6 +479,14 @@ { gps_poll (gpsdata); } +#else + /* libgps < 2.90 */ + /* query gpsd for data: + * o - get time/position/velocity data + * y - get satellite info + * s - get fix status (must be after "o" else its value is overwritten) + */ + gps_query (gpsdata, "oys\n"); #endif return (TRUE); @@ -541,7 +548,7 @@ /* set hook function to handle gps data */ gps_set_raw_hook (gpsdata, (gpointer) gps_hook_cb); -#ifndef LIBGPS_OLD +#if GPSD_API_MAJOR_VERSION >= 4 /* enable watch mode to get data stream from gpsd */ gps_stream (gpsdata, WATCH_ENABLE, NULL); //gps_stream (gpsdata, WATCH_ENABLE | POLL_NONBLOCK, NULL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |