Next, the unit will send the specified number of packets containing the ephemeris information. An example packet is shown below. Each packet should be acknowledged as before (be sure to modify the ACK packet to indicate what type of packet being acknowledged. For ephemeris data, the ID is 0x35).

RX Packet: Ephemeris Data

 

 

Byte Description

Name

HEX Value

Delimiter

DLE

0x10

Ephemeris data ID

IOP_SPC_EPH_DATA

0x35

Number of bytes in data

SIZE

0x78

Ephemeris data

DATA

----

.

.

.

.

.

.

.

.

.

Checksum calculation

CHKSUM

----

Delimiter

DLE

0x10

End of packet

ETX

0x03

The data portion of each packet can then be parsed into an instance of the following structure. Each of these structures represents data from a single satellite.

typedef

struct

/* ephemeris data record for SPC

 

 

*/

{

wn;

/* week number

(weeks)

 

 

*/

sint16

 

 

float

toc;

/* reference time of clock parameters (s)

 

*/

float

toe;

/* reference time of ephemeris parameters (s)

*/

float

af0;

/* clock correction coefficient - 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

of semi-major axis (a)

 

(-)

*/

double

sqrta;

/* square root

(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)

*/

unsigned char iod;

/* issue of data

 

 

*/

} SDM_spc_eph_type;

 

 

 

 

 

190-00228-08

GPS 16x Technical Specifications

Rev. A

 

Page 27