From 9a491f51fdb153639454732f4525058b03ccfe5e Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 18 Oct 2021 09:52:08 -0500 Subject: 3.20-m8b GPSD for U-Blox via USB --- recipes-navigation/gpsd/gpsd/gpsd-default | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'recipes-navigation') diff --git a/recipes-navigation/gpsd/gpsd/gpsd-default b/recipes-navigation/gpsd/gpsd/gpsd-default index a3245a3..3f9ef92 100644 --- a/recipes-navigation/gpsd/gpsd/gpsd-default +++ b/recipes-navigation/gpsd/gpsd/gpsd-default @@ -55,6 +55,10 @@ function SET_GPS_SPEED { ((maxtries = 20)) if [[ $(cat /run/config/gpstype) == u-blox ]] ; then + if [[ $(readlink $GPS_LINE0) =~ ^ttyACM ]] ; then + stty -F $GPS_LINE 115200 + return 0 + fi while ((maxtries >= 0)) ; do ((maxtries--)) if ((maxtries % 5 == 0)) ; then -- cgit v1.2.3 From 8d669ae1990589dc8aaacc80c61b336e0970c45c Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 25 Oct 2021 09:39:11 -0500 Subject: Document U-Blox with ACM driver --- recipes-navigation/gpsd/gpsd/gpsd-default | 3 +++ 1 file changed, 3 insertions(+) (limited to 'recipes-navigation') diff --git a/recipes-navigation/gpsd/gpsd/gpsd-default b/recipes-navigation/gpsd/gpsd/gpsd-default index 3f9ef92..c8c6f17 100644 --- a/recipes-navigation/gpsd/gpsd/gpsd-default +++ b/recipes-navigation/gpsd/gpsd/gpsd-default @@ -55,6 +55,9 @@ function SET_GPS_SPEED { ((maxtries = 20)) if [[ $(cat /run/config/gpstype) == u-blox ]] ; then + # If the U-Blox is connected via USB, it shows + # up as using the ACM serial driver. This greatly + # simplifies setting up the U-Blox GNSS. if [[ $(readlink $GPS_LINE0) =~ ^ttyACM ]] ; then stty -F $GPS_LINE 115200 return 0 -- cgit v1.2.3 From 964253932585c2fcee6266a69db7f8921ed28dd5 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 4 Nov 2021 03:09:26 -0500 Subject: Fix typo in GPS_LINE variable --- recipes-navigation/gpsd/gpsd/gpsd-default | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'recipes-navigation') diff --git a/recipes-navigation/gpsd/gpsd/gpsd-default b/recipes-navigation/gpsd/gpsd/gpsd-default index c8c6f17..4c92ea2 100644 --- a/recipes-navigation/gpsd/gpsd/gpsd-default +++ b/recipes-navigation/gpsd/gpsd/gpsd-default @@ -58,7 +58,7 @@ if [[ $(cat /run/config/gpstype) == u-blox ]] ; then # If the U-Blox is connected via USB, it shows # up as using the ACM serial driver. This greatly # simplifies setting up the U-Blox GNSS. - if [[ $(readlink $GPS_LINE0) =~ ^ttyACM ]] ; then + if [[ $(readlink $GPS_LINE) =~ ^ttyACM ]] ; then stty -F $GPS_LINE 115200 return 0 fi -- cgit v1.2.3 From 40587b0a6fb87fc8998d3bda40b065328fda5691 Mon Sep 17 00:00:00 2001 From: John Klug Date: Wed, 17 Nov 2021 12:17:08 -0600 Subject: Timebase patch to prevent gpsd having a 19.5 year error --- .../gpsd/gpsd-3.20/0008-timebase.patch | 25 ++++++++++++++++++++++ recipes-navigation/gpsd/gpsd_3.20.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch (limited to 'recipes-navigation') diff --git a/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch b/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch new file mode 100644 index 0000000..a61d6b0 --- /dev/null +++ b/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch @@ -0,0 +1,25 @@ +# +# gpsd 3.20 thinks that 2021 never happened, and we roll back the time 19 +# years. Need to allow for 2021. +# +=============================================================================== +diff --git a/timebase.c b/timebase.c +index 85cfd90..8e08b18 100644 +--- a/timebase.c ++++ b/timebase.c +@@ -385,6 +385,7 @@ timespec_t gpsd_gpstime_resolv(struct gps_device_t *session, + /* sanity check week number, GPS epoch, against leap seconds + * Does not work well with regressions because the leap_sconds + * could be from the receiver, or from BUILD_LEAPSECONDS. */ ++#ifdef YESTERDAY + if (0 < session->context->leap_seconds && + 19 > session->context->leap_seconds && + 2180 < week) { +@@ -395,6 +396,7 @@ timespec_t gpsd_gpstime_resolv(struct gps_device_t *session, + "GPS week confusion. Adjusted week %u for leap %d\n", + week, session->context->leap_seconds); + } ++#endif + + // gcc needs the (time_t)week to not overflow. clang got it right. + // if time_t is 32-bits, then still 2038 issues diff --git a/recipes-navigation/gpsd/gpsd_3.20.bb b/recipes-navigation/gpsd/gpsd_3.20.bb index eeaf0a3..9afe0fe 100644 --- a/recipes-navigation/gpsd/gpsd_3.20.bb +++ b/recipes-navigation/gpsd/gpsd_3.20.bb @@ -19,6 +19,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0006-ubxtimelps.patch \ file://0006-itu_r_tf_460_6.patch \ file://0007-add-gll-vtg.patch \ + file://0008-timebase.patch \ file://gpsd-default \ file://gpsd \ file://gpsd_ubx_fixed.sh \ -- cgit v1.2.3