diff options
author | Gary E. Miller <gem@rellim.com> | 2018-06-17 21:30:25 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2018-06-17 21:30:25 -0700 |
commit | 3c38408c66ce1ea008418b61c95d2a3dff5ed642 (patch) | |
tree | f444d3823d9283ff62a0c1b7ee36dc433c2d13f2 /driver_skytraq.c | |
parent | cec85b55d8f7a6dac02ba1febc2107990907c269 (diff) | |
download | gpsd-3c38408c66ce1ea008418b61c95d2a3dff5ed642.tar.gz |
driver_skytraq: report ECEF data in TPV.
Diffstat (limited to 'driver_skytraq.c')
-rw-r--r-- | driver_skytraq.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/driver_skytraq.c b/driver_skytraq.c index 2861d39b..0f23d4fd 100644 --- a/driver_skytraq.c +++ b/driver_skytraq.c @@ -293,13 +293,17 @@ static gps_mask_t sky_msg_DF(struct gps_device_t *session, f_tow = getbed64((const char *)buf, 5); /* position/velocity is bytes 13-48, meters and m/s */ + session->newdata.ecef.x = (double)getbed64((const char *)buf, 13), + session->newdata.ecef.y = (double)getbed64((const char *)buf, 21), + session->newdata.ecef.z = (double)getbed64((const char *)buf, 29), + session->newdata.ecef.vx = (double)getbef32((const char *)buf, 37), + session->newdata.ecef.vy = (double)getbef32((const char *)buf, 41), + session->newdata.ecef.vz = (double)getbef32((const char *)buf, 46); + ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, - (double)getbed64((const char *)buf, 13), - (double)getbed64((const char *)buf, 21), - (double)getbed64((const char *)buf, 29), - (double)getbef32((const char *)buf, 37), - (double)getbef32((const char *)buf, 41), - (double)getbef32((const char *)buf, 46)); + session->newdata.ecef.x, session->newdata.ecef.y, + session->newdata.ecef.z, session->newdata.ecef.vx, + session->newdata.ecef.vy, session->newdata.ecef.vz); clock_bias = getbed64((const char *)buf, 49); clock_drift = getbes32(buf, 57); @@ -325,7 +329,7 @@ static gps_mask_t sky_msg_DF(struct gps_device_t *session, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); - mask |= TIME_SET | LATLON_SET | TRACK_SET | + mask |= TIME_SET | LATLON_SET | TRACK_SET | ECEF_SET | VECEF_SET | SPEED_SET | STATUS_SET | MODE_SET | DOP_SET | CLEAR_IS | REPORT_IS; return mask; } |