00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef GPS_H
00023 #define GPS_H
00024
00025 #include "global.h"
00026
00027
00028 typedef union union_float_u32
00029 {
00030 float f;
00031 unsigned long i;
00032 unsigned char b[4];
00033 } float_u32;
00034
00035 typedef union union_double_u64
00036 {
00037 double f;
00038 unsigned long long i;
00039 unsigned char b[8];
00040 } double_u64;
00041
00042 typedef struct struct_GpsInfo
00043 {
00044 float_u32 TimeOfWeek;
00045 u16 WeekNum;
00046 float_u32 UtcOffset;
00047
00048 float_u32 PosX_ECEF;
00049 float_u32 PosY_ECEF;
00050 float_u32 PosZ_ECEF;
00051 float_u32 TimeOfFix_PosXYZ;
00052 u16 PosXYZupdates;
00053
00054 float_u32 VelX_ECEF;
00055 float_u32 VelY_ECEF;
00056 float_u32 VelZ_ECEF;
00057 float_u32 TimeOfFix_VelXYZ;
00058 u16 VelXYZupdates;
00059
00060 float_u32 PosLat;
00061 float_u32 PosLon;
00062 float_u32 PosAlt;
00063 float_u32 TimeOfFix_PosLLA;
00064 u16 PosLLAupdates;
00065
00066 float_u32 VelEast;
00067 float_u32 VelNorth;
00068 float_u32 VelUp;
00069 float_u32 TimeOfFix_VelENU;
00070 u16 VelENUupdates;
00071 } GpsInfoType;
00072
00073
00074 void gpsInit(void);
00075 GpsInfoType* gpsGetInfo(void);
00076 void gpsInfoPrint(void);
00077
00078 #endif