From 5378600b75e43ac94985ce2c7b2cce0434f574eb Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Mon, 7 Nov 2016 11:39:19 +0100 Subject: [PATCH] RS41: gpstime rollover/weekday --- rs41/rs41.c | 7 ++++--- rs41/rs41ecc.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/rs41/rs41.c b/rs41/rs41.c index 502904c..bf7c2a1 100644 --- a/rs41/rs41.c +++ b/rs41/rs41.c @@ -521,7 +521,7 @@ int get_GPSweek() { } gpsweek = gpsweek_bytes[0] + (gpsweek_bytes[1] << 8); - if (gpsweek < 0) { gpx.week = -1; return -1; } + //if (gpsweek < 0) { gpx.week = -1; return -1; } // (short int) gpx.week = gpsweek; return 0; @@ -561,10 +561,11 @@ int get_GPStime() { gpx.gpssec = gpstime; - day = gpstime / (24 * 3600); + day = (gpstime / (24 * 3600)) % 7; + //if ((day < 0) || (day > 6)) return -1; // besser CRC-check + gpstime %= (24*3600); - if ((day < 0) || (day > 6)) return -1; gpx.wday = day; gpx.std = gpstime / 3600; gpx.min = (gpstime % 3600) / 60; diff --git a/rs41/rs41ecc.c b/rs41/rs41ecc.c index e382d28..060bb3a 100644 --- a/rs41/rs41ecc.c +++ b/rs41/rs41ecc.c @@ -509,7 +509,7 @@ int get_GPSweek() { } gpsweek = gpsweek_bytes[0] + (gpsweek_bytes[1] << 8); - if (gpsweek < 0) { gpx.week = -1; return -1; } + //if (gpsweek < 0) { gpx.week = -1; return -1; } // (short int) gpx.week = gpsweek; return 0; @@ -549,10 +549,11 @@ int get_GPStime() { gpx.gpssec = gpstime; - day = gpstime / (24 * 3600); + day = (gpstime / (24 * 3600)) % 7; + //if ((day < 0) || (day > 6)) return -1; // besser CRC-check + gpstime %= (24*3600); - if ((day < 0) || (day > 6)) return -1; gpx.wday = day; gpx.std = gpstime / 3600; gpx.min = (gpstime % 3600) / 60;