95 int xmitWeek = xws.week;
96 long xmitSOW = (long) xws.sow;
97 bool isNominalToe = (
long)toeWS.
sow % 7200 == 0;
107 xmitSOW = xmitSOW - (xmitSOW % 7200);
127 long sow = (long) toeWS.
sow;
128 long num900secIntervals = sow / 900;
129 long midPointSOW = (num900secIntervals+1) * 900;
130 double adjustUp = (double) (midPointSOW - sow);
145 ios::fmtflags oldFlags = s.flags();
147 s.setf(ios::fixed, ios::floatfield);
148 s.setf(ios::right, ios::adjustfield);
149 s.setf(ios::uppercase);
153 std::string svn(
"0");
156 s << setw(2) <<
" " << svn <<
" ";
165 string tform =
"%3j %02H:%02M:%02S";
177 s << setw(4) <<
"N/A" <<
" ! ";
179 s <<
"0x" << setfill(
'0') << hex << setw(3) <<
iodc <<
" ! ";
180 s <<
"0x" << setfill(
'0') << setw(2) << (unsigned)
healthBits;
181 s << setfill(
' ') << dec;
182 s <<
" " << setw(2) << (unsigned)
healthBits <<
" ! ";
192 const ios::fmtflags oldFlags = s.flags();
197 s <<
" SUBFRAME OVERHEAD" << endl << endl
198 <<
" SOW DOW:HH:MM:SS IOD ALERT A-S ISF"
202 <<
" 0x" << hex << setw(3) <<
internal << setfill(
'0')
203 << nouppercase <<
iodc << dec << setfill(
' ') <<
" "
204 << noboolalpha <<
alert <<
" " << (
asFlag ?
" on " :
"off ")
205 << (
isf ?
"enhanced" :
"legacy") << endl
208 <<
" 0x" << hex << setw(2) <<
internal << setfill(
'0')
209 << nouppercase <<
iode << dec << setfill(
' ') <<
" "
211 << (
isf2 ?
"enhanced" :
"legacy") << endl
214 <<
" 0x" << hex << setw(2) <<
internal << setfill(
'0')
215 << nouppercase <<
iode << dec << setfill(
' ') <<
" "
217 << (
isf3 ?
"enhanced" :
"legacy") << endl
219 <<
" SV STATUS" << endl << endl
220 <<
"Health bits : 0x" << setw(2)
221 <<
internal << setfill(
'0') << hex <<
health << dec
222 <<
", " << setfill(
' ') <<
health << endl
223 <<
"Fit interval flag :" << setw(10) << (unsigned)
fitIntFlag << endl
224 <<
"URA index :" << setw(10) << (unsigned)
uraIndex << endl
227 <<
"L2 P Nav data :" <<
" " << (
L2Pdata ?
"off" :
" on")
229 <<
"Tgd :" << setw(14) << setprecision(6) << scientific
230 << uppercase <<
tgd <<
" sec" << endl;
233 s <<
"AODO :" << setw(10) <<
aodo <<
" sec" << endl;
242 const std::shared_ptr<GPSLNavEph> rhs)
const
244 if (lhs->signal < rhs->signal)
return true;
245 if (rhs->signal < lhs->signal)
return false;
247 if (lws.week < rws.
week)
return true;
248 if (rws.
week < lws.week)
return false;
249 if (lhs->iodc < rhs->iodc)
return true;
256 const std::shared_ptr<GPSLNavEph> rhs)
const
260 if (lhs->signal < rhs->signal)
return true;
261 if (rhs->signal < lhs->signal)
return false;
263 if (lws.week < rws.
week)
return true;
264 if (rws.
week < lws.week)
return false;
265 if (lhs->iodc < rhs->iodc)
return true;
266 if (rhs->iodc < lhs->iodc)
return false;
270 if (lhs->healthBits < rhs->healthBits)
return true;
271 if (rhs->healthBits < lhs->healthBits)
return false;
272 if (lhs->uraIndex < rhs->uraIndex)
return true;
273 if (rhs->uraIndex < lhs->uraIndex)
return false;
274 if (lhs->tgd < rhs->tgd)
return true;
275 if (rhs->tgd < lhs->tgd)
return false;
276 if (lhs->af0 < rhs->af0)
return true;
277 if (rhs->af0 < lhs->af0)
return false;
278 if (lhs->af1 < rhs->af1)
return true;
279 if (rhs->af1 < lhs->af1)
return false;
280 if (lhs->af2 < rhs->af2)
return true;
281 if (rhs->af2 < lhs->af2)
return false;
282 if (lhs->Toc < rhs->Toc)
return true;
283 if (rhs->Toc < lhs->Toc)
return false;
284 if (lhs->Ahalf < rhs->Ahalf)
return true;
285 if (rhs->Ahalf < lhs->Ahalf)
return false;
286 if (lhs->dn < rhs->dn)
return true;
287 if (rhs->dn < lhs->dn)
return false;
288 if (lhs->fitIntFlag < rhs->fitIntFlag)
return true;
289 if (rhs->fitIntFlag < lhs->fitIntFlag)
return false;
290 if (lhs->ecc < rhs->ecc)
return true;
291 if (rhs->ecc < lhs->ecc)
return false;
292 if (lhs->M0 < rhs->M0)
return true;
293 if (rhs->M0 < lhs->M0)
return false;
294 if (lhs->Toe < rhs->Toe)
return true;
295 if (rhs->Toe < lhs->Toe)
return false;
296 if (lhs->Crs < rhs->Crs)
return true;
297 if (rhs->Crs < lhs->Crs)
return false;
298 if (lhs->Cuc < rhs->Cuc)
return true;
299 if (rhs->Cuc < lhs->Cuc)
return false;
300 if (lhs->Cus < rhs->Cus)
return true;
301 if (rhs->Cus < lhs->Cus)
return false;
302 if (lhs->iode < rhs->iode)
return true;
303 if (rhs->iode < lhs->iode)
return false;
304 if (lhs->isf < rhs->isf)
return true;
305 if (rhs->isf < lhs->isf)
return false;
306 if (lhs->isf2 < rhs->isf2)
return true;
307 if (rhs->isf2 < lhs->isf2)
return false;
308 if (lhs->isf3 < rhs->isf3)
return true;
309 if (rhs->isf3 < lhs->isf3)
return false;
310 if (lhs->w < rhs->w)
return true;
311 if (rhs->w < lhs->w)
return false;
312 if (lhs->OMEGAdot < rhs->OMEGAdot)
return true;
313 if (rhs->OMEGAdot < lhs->OMEGAdot)
return false;
314 if (lhs->OMEGA0 < rhs->OMEGA0)
return true;
315 if (rhs->OMEGA0 < lhs->OMEGA0)
return false;
316 if (lhs->i0 < rhs->i0)
return true;
317 if (rhs->i0 < lhs->i0)
return false;
318 if (lhs->idot < rhs->idot)
return true;
319 if (rhs->idot < lhs->idot)
return false;
320 if (lhs->Cic < rhs->Cic)
return true;
321 if (rhs->Cic < lhs->Cic)
return false;
322 if (lhs->Cis < rhs->Cis)
return true;
323 if (rhs->Cis < lhs->Cis)
return false;
324 if (lhs->Crc < rhs->Crc)
return true;
325 if (rhs->Crc < lhs->Crc)
return false;
326 if (lhs->alert < rhs->alert)
return true;
327 if (rhs->alert < lhs->alert)
return false;
328 if (lhs->alert2 < rhs->alert2)
return true;
329 if (rhs->alert2 < lhs->alert2)
return false;
330 if (lhs->alert3 < rhs->alert3)
return true;
331 if (rhs->alert3 < lhs->alert3)
return false;