lotherstructs.h


typedef struct
{
double Latitude;
double Longitude;
double Height;
double Speed;
double Heading;
double RateOfClimb;
double GDop;
double PDop;
double VDop;
int NoOfSVsTracked;
int NavMode;
int TrackMode;
double HorizontalError;
double VerticalError;
double DopplerOffset;
int Day;
int Month;
int Year;
int Hour;
int Minute;
int Second;
int TimeType;
int SystemStatus;
char ConfigCode[6];
} F00Sentence;


typedef struct
{
char ElevationIndicator[12];
int SatelliteAllocated[12];
int SatelliteElevation[12];
int SatelliteAzimuth[12];
int SatelliteDoppler[12];
int NCOFrequency[12];
int Uere[12];
int Subframe[12];
double PRError[12];
double PRRError[12];
double ICPError[12];
double DiffCorrection[12];
char Locks[61];
double Snr[12];
} F03Sentence;


typedef struct
{
char AlmanacHealth[32];
char Deselect[32];
int AlmanacStatus[32];
int AlmanacElevation[32];
int AlmanacAzimuth[32];
int AlmanacDoppler[32];
int AlmanacUpdate;
int IonoUtcFlag;
} F04Sentence;


typedef struct
{
int AccumPending;
int AccumMissed;
int MeasMissed;
int ObserPending;
int ObserMissed;
int SubfrPending;
int SubfrMissed;
int PLLLossCount;
int ChansAlloc;
int ChansInUse;
} F05Sentence;


typedef struct F08Sentence
{
int TimeZone;
double ElevationMask;
double PDOPMask;
int SearchMode;
int AltitudeAiding;
int DontMove;
int PositionFilterCoeff;
int VelocityFilterCoeff;
} F08Sentence;

typedef struct
{ int vflg; /* 0=No Info, 1=Valid Almanac, 2=Nonexistent SV. */
int almhlth; /* Almanac health code. */
int refweek; /* Reference time, GPS week. */
double toa; /* Reference time, seconds of refweek. */
double ecc; /* Orbital eccentricity. */
double inclin; /* Orbital inclination (radians). */
double rora; /* Rate of right ascension (radians/sec). */
double sqrta; /* SQRT(orbital semimajor axis in meters). */
double ratoa; /* Right ascension at ref time (radians). */
double argpg; /* Argument of perigee at ref time (radians). */
double manom; /* Mean anomaly at ref time (radians). */
double af0; /* Clock correction at ref time (seconds). */
double af1; /* Clock correction rate (seconds/second). */
} almstrucl;


typedef struct
{ int vflg; /* 0=No valid data. */
int SV; /* satellite PRN */
long TofXmission; /* Time of subframe 1 transmission, sec of week. */
int s1hlth; /* Subframe 1 health code. */
int codeL2; /* Code on L2 flag. */
int wkn; /* GPS week at time of subframe 1 reception. */
int L2Pdata; /* L2 P data flag. */
int ura; /* Satellite's URA code. */
int iodc; /* Issue of data, clock. */
double tgd; /* Group delay parameter. */
int tocwk; /* GPS week corresponding to toc. */
double toc; /* Reference time of clock data parameter set. */
double af0; /* Clock correction polynomial coefficient. */
double af1; /* Clock correction polynomial coefficient. */
double af2; /* Clock correction polynomial coefficient. */
int iode; /* Issue of data, ephemeris. */
double crs; /* Sine harmonic correction to orbital radius. */
double deltan; /* Mean motion delta from computed value. */
double m0; /* Mean anomaly at TOE. */
double cuc; /* Cosine harmonic corr to argument of latitude. */
double ecc; /* Eccentricity. */
double cus; /* Sine harmonic corr to argument of latitude. */
double sqrta; /* Square root of semimajor axis. */
int toewk; /* GPS week corresponding to toe. */
double toe; /* Reference time of ephemeris data set. */
int fti; /* Fit interval. */
double cic; /* Cosine harmonic corr to inclination. */
double om0; /* Right ascension at TOE. */
double cis; /* Sine harmonic corr to inclination. */
double in0; /* Inclination at TOE. */
double crc; /* Cosine harmonic correction to orbital radius. */
double olc; /* Argument of perigee at TOE. */
double omd; /* Rate of right ascension. */
double idot; /* Rate of inclination. */
double a; /* Derived qty: a = sqrta**2. */
double n0; /* Derived qty: n0 = sqrt(GravConstant/(a*a*a)). */
} ephstrucl;