190-00228-08 GPS 16x Technical Specifications Rev. CPage 28Next, the unit will send the specified number of packets containing the ephemeris information. An example packet isshown below. Each packet should be acknowledged as before (be sure to modify the ACK packet to indicate whattype of packet being acknowledged. For ephemeris data, the ID is 0x35).RX Packet: Ephemeris DataByte Description Name HEX ValueDelimiter DLE 0x10Ephemeris data ID IOP_SPC_EPH_DATA 0x35Number of bytes in data SIZE 0x78Ephemeris data DATA ----. . .. . .. . .Checksum calculation CHKSUM ----Delimiter DLE 0x10End of packet ETX 0x03The data portion of each packet can then be parsed into an instance of the following structure. Each of thesestructures represents data from a single satellite.typedef struct /* ephemeris data record for SPC */{sint16 wn; /* week number (weeks) */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 (-) */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) */unsigned char iod; /* issue of data */} SDM_spc_eph_type;