diff options
author | Sylvain Munaut <tnt@246tNt.com> | 2009-12-28 15:47:21 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-01-07 10:22:24 +0100 |
commit | b74cbcf7ec94f0d927f94e8152f6a8c395fd6e3a (patch) | |
tree | 4fa21061f655dd7a7dc05995e858108997961012 /rrlp-ephemeris/rrlp.c | |
parent | a17324c7fe86497879f3e4891b2ecbcc63d972d6 (diff) |
rrlp-ephemeris: Add support for filling ReferenceTime IE
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'rrlp-ephemeris/rrlp.c')
-rw-r--r-- | rrlp-ephemeris/rrlp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/rrlp-ephemeris/rrlp.c b/rrlp-ephemeris/rrlp.c index 5e55d1d3a..e60c3ab01 100644 --- a/rrlp-ephemeris/rrlp.c +++ b/rrlp-ephemeris/rrlp.c @@ -430,16 +430,17 @@ _rrlp_add_reference_time( { struct ReferenceTime *rrlp_reftime; - /* FIXME: Check if info is in gps_ad */ + if (!(gps_ad->fields & GPS_FIELD_REFTIME)) + return -EINVAL; rrlp_reftime = calloc(1, sizeof(*rrlp_reftime)); if (!rrlp_reftime) return -ENOMEM; rrlp_gps_ad->controlHeader.referenceTime = rrlp_reftime; - /* FIXME */ -// rrlp_reftime.gpsTime.gpsTOW23b = g_gps_tow / 80; /* 23 bits */ -// rrlp_reftime.gpsTime.gpsWeek = g_gps_week & 0x3ff; /* 10 bits */ + rrlp_reftime->gpsTime.gpsWeek = gps_ad->ref_time.wn & 0x3ff; /* 10b */ + rrlp_reftime->gpsTime.gpsTOW23b = + ((int)floor(gps_ad->ref_time.tow / 0.08)) & 0x7fffff; /* 23b */ return 0; } |