53 supportedSignals.insert(
NavSignalID(SatelliteSystem::GPS,
60 bool YumaNavDataFactory ::
65 return process(filename, cb);
69 bool YumaNavDataFactory ::
70 process(
const std::string& filename,
74 bool processAlm = (procNavTypes.count(NavMessageType::Almanac) > 0);
75 bool processHea = (procNavTypes.count(NavMessageType::Health) > 0);
91 if (is.eof() && gotdata)
100 if (!convertToOrbit(
data, alm))
105 if (!convertToHealth(
data, health))
113 case NavValidityType::ValidOnly:
117 case NavValidityType::InvalidOnly:
130 if (alm->validate() == expect)
138 if (health->validate() == expect)
165 catch (std::exception& exc)
168 cerr << exc.
what() << endl;
173 cerr <<
"Unknown exception" << endl;
179 std::string YumaNavDataFactory ::
180 getFactoryFormats()
const
182 if (procNavTypes.empty() ||
183 (procNavTypes.count(NavMessageType::Almanac) > 0) ||
184 (procNavTypes.count(NavMessageType::Health) > 0))
192 bool YumaNavDataFactory ::
197 navOut = std::make_shared<GPSLNavAlm>();
198 gps =
dynamic_cast<GPSLNavAlm*
>(navOut.get());
200 fillNavData(navIn, navOut);
215 SVHealth::Unhealthy);
243 bool YumaNavDataFactory ::
248 healthOut = std::make_shared<GPSLNavHealth>();
251 fillNavData(navIn, healthOut);
261 void YumaNavDataFactory ::
266 navOut->signal.sat =
SatID(navIn.
PRN,SatelliteSystem::GPS);
267 navOut->signal.xmitSat =
SatID(navIn.
PRN,SatelliteSystem::GPS);
268 navOut->signal.system = SatelliteSystem::GPS;
272 navOut->signal.nav = NavType::GPSLNAV;