Main Page   Data Structures   File List   Data Fields   Globals  

gps.h

Go to the documentation of this file.
00001 /*! \file gps.h \brief GPS position storage and processing library. */
00002 //*****************************************************************************
00003 //
00004 // File Name    : 'gps.h'
00005 // Title        : GPS position storage and processing function library
00006 // Author       : Pascal Stang - Copyright (C) 2002
00007 // Created      : 2002.08.29
00008 // Revised      : 2002.08.29
00009 // Version      : 0.1
00010 // Target MCU   : Atmel AVR Series
00011 // Editor Tabs  : 4
00012 //
00013 // NOTE: This code is currently below version 1.0, and therefore is considered
00014 // to be lacking in some functionality or documentation, or may not be fully
00015 // tested.  Nonetheless, you can expect most functions to work.
00016 //
00017 // This code is distributed under the GNU Public License
00018 //      which can be found at http://www.gnu.org/licenses/gpl.txt
00019 //
00020 //*****************************************************************************
00021 
00022 #ifndef GPS_H
00023 #define GPS_H
00024 
00025 #include "global.h"
00026 
00027 // constants/macros/typdefs
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 // functions
00074 void gpsInit(void);
00075 GpsInfoType* gpsGetInfo(void);
00076 void gpsInfoPrint(void);
00077 
00078 #endif

Generated on Tue Feb 4 20:18:37 2003 for Procyon AVRlib by doxygen1.3-rc2