mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-10-02 17:00:50 +00:00
Add IGM01, IGM02, IGM03 and IGM05 messages to the Rtcm_Printer
This commit is contained in:
parent
c49e7184e6
commit
1e19fd9aff
@ -1462,6 +1462,40 @@ void Rtcm_Printer::Print_Rtcm_Messages(const Rtklib_Solver* pvt_solver,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Rtcm_Printer::Print_IGM_Messages(const Galileo_HAS_data& has_data)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (has_data.header.orbit_correction_flag && has_data.header.clock_fullset_flag)
|
||||||
|
{
|
||||||
|
Print_IGM03(has_data);
|
||||||
|
}
|
||||||
|
if (has_data.header.orbit_correction_flag && !has_data.header.clock_fullset_flag)
|
||||||
|
{
|
||||||
|
Print_IGM01(has_data);
|
||||||
|
}
|
||||||
|
if (!has_data.header.orbit_correction_flag && has_data.header.clock_fullset_flag)
|
||||||
|
{
|
||||||
|
Print_IGM02(has_data);
|
||||||
|
}
|
||||||
|
if (has_data.header.code_bias_flag)
|
||||||
|
{
|
||||||
|
Print_IGM05(has_data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const boost::exception& ex)
|
||||||
|
{
|
||||||
|
std::cout << "RTCM boost exception: " << boost::diagnostic_information(ex) << '\n';
|
||||||
|
LOG(ERROR) << "RTCM boost exception: " << boost::diagnostic_information(ex);
|
||||||
|
}
|
||||||
|
catch (const std::exception& ex)
|
||||||
|
{
|
||||||
|
std::cout << "RTCM std exception: " << ex.what() << '\n';
|
||||||
|
LOG(ERROR) << "RTCM std exception: " << ex.what();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Rtcm_Printer::Print_Rtcm_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int32_t, Gnss_Synchro>& observables)
|
bool Rtcm_Printer::Print_Rtcm_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int32_t, Gnss_Synchro>& observables)
|
||||||
{
|
{
|
||||||
const std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, observables, station_id);
|
const std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, observables, station_id);
|
||||||
@ -1601,7 +1635,7 @@ bool Rtcm_Printer::Print_Rtcm_MSM(uint32_t msm_number, const Gps_Ephemeris& gps_
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Rtcm_Printer::Print_Rtcm_IGM01(const Galileo_HAS_data& has_data)
|
bool Rtcm_Printer::Print_IGM01(const Galileo_HAS_data& has_data)
|
||||||
{
|
{
|
||||||
const std::vector<std::string> msgs = rtcm->print_IGM01(has_data);
|
const std::vector<std::string> msgs = rtcm->print_IGM01(has_data);
|
||||||
if (msgs.empty())
|
if (msgs.empty())
|
||||||
@ -1616,6 +1650,51 @@ bool Rtcm_Printer::Print_Rtcm_IGM01(const Galileo_HAS_data& has_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Rtcm_Printer::Print_IGM02(const Galileo_HAS_data& has_data)
|
||||||
|
{
|
||||||
|
const std::vector<std::string> msgs = rtcm->print_IGM02(has_data);
|
||||||
|
if (msgs.empty())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (const auto& s : msgs)
|
||||||
|
{
|
||||||
|
Rtcm_Printer::Print_Message(s);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Rtcm_Printer::Print_IGM03(const Galileo_HAS_data& has_data)
|
||||||
|
{
|
||||||
|
const std::vector<std::string> msgs = rtcm->print_IGM03(has_data);
|
||||||
|
if (msgs.empty())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (const auto& s : msgs)
|
||||||
|
{
|
||||||
|
Rtcm_Printer::Print_Message(s);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool Rtcm_Printer::Print_IGM05(const Galileo_HAS_data& has_data)
|
||||||
|
{
|
||||||
|
const std::vector<std::string> msgs = rtcm->print_IGM05(has_data);
|
||||||
|
if (msgs.empty())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (const auto& s : msgs)
|
||||||
|
{
|
||||||
|
Rtcm_Printer::Print_Message(s);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int Rtcm_Printer::init_serial(const std::string& serial_device)
|
int Rtcm_Printer::init_serial(const std::string& serial_device)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -99,6 +99,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
uint32_t lock_time(const Glonass_Gnav_Ephemeris& eph, double obs_time, const Gnss_Synchro& gnss_synchro);
|
uint32_t lock_time(const Glonass_Gnav_Ephemeris& eph, double obs_time, const Gnss_Synchro& gnss_synchro);
|
||||||
|
|
||||||
|
void Print_IGM_Messages(const Galileo_HAS_data& has_data);
|
||||||
|
|
||||||
std::string print_MT1005_test(); //!< For testing purposes
|
std::string print_MT1005_test(); //!< For testing purposes
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -179,7 +181,10 @@ private:
|
|||||||
bool divergence_free,
|
bool divergence_free,
|
||||||
bool more_messages);
|
bool more_messages);
|
||||||
|
|
||||||
bool Print_Rtcm_IGM01(const Galileo_HAS_data& has_data); // SSR Orbit Corrections
|
bool Print_IGM01(const Galileo_HAS_data& has_data); // SSR Orbit Corrections
|
||||||
|
bool Print_IGM02(const Galileo_HAS_data& has_data); // SSR Clock Corrections
|
||||||
|
bool Print_IGM03(const Galileo_HAS_data& has_data); // SSR Combined Orbit & Clock Corrections
|
||||||
|
bool Print_IGM05(const Galileo_HAS_data& has_data); // SSR Bias Corrections
|
||||||
|
|
||||||
int32_t init_serial(const std::string& serial_device); // serial port control
|
int32_t init_serial(const std::string& serial_device); // serial port control
|
||||||
void close_serial() const;
|
void close_serial() const;
|
||||||
|
Loading…
Reference in New Issue
Block a user