package legacy;

struct gps_fix_t
{
    int64_t utime;  /* microseconds since epoch */

    int8_t  mode;       /* Mode of fix */
    const int8_t MODE_NOT_SEEN=0; /* mode update not seen yet */
    const int8_t MODE_NO_FIX=1;   /* none */
    const int8_t MODE_2D=2;       /* good for latitutde/longitude */
    const int8_t MODE_3D=3;       /* good for altitude/climb too */

    double  ept;        /* Expected time uncertainty */
    double  latitude;   /* Latitude in degrees (valid if mode >= 2) */
    double  longitude;  /* Longitude in degrees (valid if mode >= 2) */
    double  eph;        /* Horizontal position uncertainty, meters */
    double  altitude;   /* Altitude in meters (valid if mode == 3) */
    double  epv;        /* Vertical position uncertainty, meters */
    double  track;      /* Course made good (relative to true north) */
    double  epd;        /* Track uncertainty, degrees */
    double  speed;      /* Speed over ground, meters/sec */
    double  eps;        /* Speed uncertainty, meters/sec */
    double  climb;      /* Vertical speed, meters/sec */
    double  epc;        /* Vertical speed uncertainty */
}
