summaryrefslogtreecommitdiff
path: root/geoid.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-15 17:28:40 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-15 17:28:40 +0000
commit14bd6c57b9e479354eb0f60bae79dc274d54f0cb (patch)
tree7397271bf5bef76b4545e574cb523eca982cf40d /geoid.c
parentd7aa3db02d43fc7c123a2d3300116611ca835aa3 (diff)
downloadgpsd-14bd6c57b9e479354eb0f60bae79dc274d54f0cb.tar.gz
New packet-return API using newdata and explicit merging.
Diffstat (limited to 'geoid.c')
-rw-r--r--geoid.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/geoid.c b/geoid.c
index 8e575361..c04bea95 100644
--- a/geoid.c
+++ b/geoid.c
@@ -92,20 +92,20 @@ void ecef_to_wgs84fix(struct gps_data_t *gpsdata,
phi = atan2(z + e_2*b*pow(sin(theta),3),p - e2*a*pow(cos(theta),3));
n = a / sqrt(1.0 - e2*pow(sin(phi),2));
h = p / cos(phi) - n;
- gpsdata->fix.latitude = phi * RAD_2_DEG;
- gpsdata->fix.longitude = lambda * RAD_2_DEG;
- gpsdata->separation = wgs84_separation(gpsdata->fix.latitude, gpsdata->fix.longitude);
- gpsdata->fix.altitude = h - gpsdata->separation;
+ gpsdata->newdata.latitude = phi * RAD_2_DEG;
+ gpsdata->newdata.longitude = lambda * RAD_2_DEG;
+ gpsdata->separation = wgs84_separation(gpsdata->newdata.latitude, gpsdata->newdata.longitude);
+ gpsdata->newdata.altitude = h - gpsdata->separation;
/* velocity computation */
vnorth = -vx*sin(phi)*cos(lambda)-vy*sin(phi)*sin(lambda)+vz*cos(phi);
veast = -vx*sin(lambda)+vy*cos(lambda);
- gpsdata->fix.climb = vx*cos(phi)*cos(lambda)+vy*cos(phi)*sin(lambda)+vz*sin(phi);
- gpsdata->fix.speed = sqrt(pow(vnorth,2) + pow(veast,2));
+ gpsdata->newdata.climb = vx*cos(phi)*cos(lambda)+vy*cos(phi)*sin(lambda)+vz*sin(phi);
+ gpsdata->newdata.speed = sqrt(pow(vnorth,2) + pow(veast,2));
heading = atan2(veast,vnorth);
/*@ +evalorder @*/
if (heading < 0)
heading += 2 * PI;
- gpsdata->fix.track = heading * RAD_2_DEG;
+ gpsdata->newdata.track = heading * RAD_2_DEG;
}
#ifdef TESTMAIN