NavCom Sapphire Rev.J User Manual
Page 396

Sapphire Technical Reference Manual Rev. J
396
latlonResidual latCor;
latCor.latlon = rev1_latlonlsb;
// convert bitfield to U08
R64 rLatX= latCor.extended.lat;
// convert the lat corr to float
rLatX /= 32768.0;
// convert to arc-seconds
// add the correction, yielding arc-seconds
xTmp += rLatX;
// convert the sum to degrees
xTmp = xTmp / 3600.0;
return
xTmp;
}
return
latitude;
}
// convert from S32 in arc-seconds scaled to 2^-11
// to R64 as degrees.minutes
R64 CNovaPVT1B::GetLongitude()
// see above for lat
{
if
(IsPvtRevision1OrPvtRevision2())
{
R64 xTmp = rev1_longitude;
// convert S32 to R64
xTmp = xTmp / 2048.0;
// convert to arc-seconds
// pull the longitude correction
latlonResidual lonCor;
lonCor.latlon = rev1_latlonlsb;
// convert bitfield to U08
R64 rLatX= lonCor.extended.lon;
// convert the lat corr to float
rLatX /= 32768.0;
// convert to arc-seconds
// add the correction, yielding arc-seconds
xTmp += rLatX;
// convert the sum to degrees
xTmp = xTmp / 3600.0;
return
xTmp;
}
return
longitude;
}
R32 CNovaPVT1B::GetHeight()
// see above for lat,long
{
if
(IsPvtRevision1OrPvtRevision2())
{
R32 xTmp = (R32) rev1_ell_height;
// convert S32 to R32
xTmp = xTmp / 1000;
// convert to meters
return
xTmp;
}
return
height;
}