Garmin GP35-LVS Marine GPS System User Manual


 
35
Ephemeris Record
- 0x10 (dle is first byte)
- 0x2A (ephemeris record identifier)
- 0x74 (size of data)
- eph_type (see description below)
- one byte chksum (the addition of bytes between the delimiters should equal 0)
- 0x10 (dle)
- 0x03 (etx)
typedef struct /* ephemeris record */
{
char svid; /* Satellite number (0 - 31) */
int wn; /* week number (weeks) */
float toc; /* reference time of clock parameters (s) */
float toe; /* reference time of ephemeris parameters (s) */
float af0; /* clock correction coefcnt - group delay (s) */
float af1; /* clock correction coefficient (s/s) */
float af2; /* clock correction coefficient (s/s/s) */
float ura; /* user range accuracy (m) */
double e; /* eccentricity (-) */
double sqrta; /* square root of semi-major axis (a) (m**1/2) */
double dn; /* mean motion correction (r/s) */
double m0; /* mean anomaly at reference time (r) */
double w; /* argument of perigee (r) */
double omg0; /* right ascension (r) */
double i0; /* inclination angle at reference time (r) */
float odot; /* rate of right ascension (r/s) */
float idot; /* rate of inclination angle (r/s) */
float cus; /* argument of latitude correction, sine (r) */
float cuc; /* argument of latitude correction, cosine (r) */
float cis; /* inclination correction, sine (r) */
float cic; /* inclination correction, cosine (r) */
float crs; /* radius correction, sine (m) */
float crc; /* radius correction, cosine (m) */
byte iod; /* issue of data */
} eph_type;
To initiate an ephemeris download for all tracked satellites send the following bytes in sequence:
0x10, 0x0D, 0x04, 0x02, 0x0C, 0x0, 0x0, 0xE1, 0x10, 0x03
GPS25PM.DAT
Example data file entry: