Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <math.h>
00014
00015 #include "gpstime.h"
00016
00024
00025 gps_time_t normalize_gps_time(gps_time_t t)
00026 {
00027 while(t.tow < 0) {
00028 t.tow += 3600*24*7;
00029 t.wn += 1;
00030 }
00031
00032 while(t.tow > 3600*24*7) {
00033 t.tow -= 3600*24*7;
00034 t.wn -= 1;
00035 }
00036
00037 return t;
00038 }
00039
00046 time_t gps2time(gps_time_t gps_t)
00047 {
00048 time_t t = GPS_EPOCH - GPS_MINUS_UTC_SECS;
00049
00050 t += 7*24*3600*gps_t.wn;
00051 t += (s32)gps_t.tow;
00052
00053 return t;
00054 }
00055
00063 double gpsdifftime(gps_time_t end, gps_time_t beginning)
00064 {
00065 return (end.wn - beginning.wn)*7*24*3600 + \
00066 end.tow - beginning.tow;
00067 }
00068
00069