Garmin GP35-HVS Manuale Utente

Pagina di 41
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: