mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-24 11:04:53 +00:00
TCP port and RTCM station ID are now configured by the printer
Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
@@ -79,8 +79,10 @@ GalileoE1Pvt::GalileoE1Pvt(ConfigurationInterface* configuration,
|
||||
rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
|
||||
bool flag_rtcm_server;
|
||||
flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
|
||||
unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
|
||||
unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
|
||||
// make PVT object
|
||||
pvt_ = galileo_e1_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
|
||||
pvt_ = galileo_e1_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname);
|
||||
DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
|
||||
}
|
||||
|
||||
|
||||
@@ -81,14 +81,16 @@ GpsL1CaPvt::GpsL1CaPvt(ConfigurationInterface* configuration,
|
||||
rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
|
||||
bool flag_rtcm_server;
|
||||
flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
|
||||
unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
|
||||
unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
|
||||
|
||||
// getting names from the config file, if available
|
||||
// default filename for assistance data
|
||||
const std::string eph_default_xml_filename = "./gps_ephemeris.xml";
|
||||
const std::string utc_default_xml_filename = "./gps_utc_model.xml";
|
||||
const std::string iono_default_xml_filename = "./gps_iono.xml";
|
||||
const std::string ref_time_default_xml_filename = "./gps_ref_time.xml";
|
||||
const std::string ref_location_default_xml_filename = "./gps_ref_location.xml";
|
||||
//const std::string utc_default_xml_filename = "./gps_utc_model.xml";
|
||||
//const std::string iono_default_xml_filename = "./gps_iono.xml";
|
||||
//const std::string ref_time_default_xml_filename = "./gps_ref_time.xml";
|
||||
//const std::string ref_location_default_xml_filename = "./gps_ref_location.xml";
|
||||
eph_xml_filename_= configuration->property("GNSS-SDR.SUPL_gps_ephemeris_xml", eph_default_xml_filename);
|
||||
//std::string utc_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_utc_model.xml", utc_default_xml_filename);
|
||||
//std::string iono_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_iono_xml", iono_default_xml_filename);
|
||||
@@ -96,7 +98,7 @@ GpsL1CaPvt::GpsL1CaPvt(ConfigurationInterface* configuration,
|
||||
//std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename);
|
||||
|
||||
// make PVT object
|
||||
pvt_ = gps_l1_ca_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname );
|
||||
pvt_ = gps_l1_ca_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname );
|
||||
DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
|
||||
}
|
||||
|
||||
@@ -104,10 +106,10 @@ bool GpsL1CaPvt::save_assistance_to_XML()
|
||||
{
|
||||
// return variable (true == succeeded)
|
||||
bool ret = false;
|
||||
|
||||
|
||||
LOG(INFO) << "SUPL: Try to save GPS ephemeris to XML file " << eph_xml_filename_;
|
||||
std::map<int,Gps_Ephemeris> eph_map = pvt_->get_GPS_L1_ephemeris_map();
|
||||
|
||||
std::map<int,Gps_Ephemeris> eph_map=pvt_->get_GPS_L1_ephemeris_map();
|
||||
if (eph_map.size() > 0)
|
||||
{
|
||||
try
|
||||
@@ -120,7 +122,7 @@ bool GpsL1CaPvt::save_assistance_to_XML()
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
LOG(ERROR) << e.what();
|
||||
LOG(WARNING) << e.what();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -131,58 +133,58 @@ bool GpsL1CaPvt::save_assistance_to_XML()
|
||||
return false;
|
||||
}
|
||||
// Only try to save {utc, iono, ref time, ref location} if SUPL is enabled
|
||||
// bool enable_gps_supl_assistance = configuration_->property("GNSS-SDR.SUPL_gps_enabled", false);
|
||||
// if (enable_gps_supl_assistance == true)
|
||||
// {
|
||||
// // try to save utc model xml file
|
||||
// std::map<int, Gps_Utc_Model> utc_copy = global_gps_utc_model_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_utc_map_xml(utc_xml_filename, utc_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved UTC Model XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save utc XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// // try to save iono model xml file
|
||||
// std::map<int, Gps_Iono> iono_copy = global_gps_iono_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_iono_map_xml(iono_xml_filename, iono_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved IONO Model XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save iono XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// // try to save ref time xml file
|
||||
// std::map<int, Gps_Ref_Time> ref_time_copy = global_gps_ref_time_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_ref_time_map_xml(ref_time_xml_filename, ref_time_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved Ref Time XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save ref time XML file";
|
||||
// //ref = false;
|
||||
// }
|
||||
// // try to save ref location xml file
|
||||
// std::map<int, Gps_Ref_Location> ref_location_copy = global_gps_ref_location_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_ref_location_map_xml(ref_location_xml_filename, ref_location_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved Ref Location XML file";
|
||||
// //ref = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save ref location XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// }
|
||||
// bool enable_gps_supl_assistance = configuration_->property("GNSS-SDR.SUPL_gps_enabled", false);
|
||||
// if (enable_gps_supl_assistance == true)
|
||||
// {
|
||||
// // try to save utc model xml file
|
||||
// std::map<int, Gps_Utc_Model> utc_copy = global_gps_utc_model_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_utc_map_xml(utc_xml_filename, utc_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved UTC Model XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save utc XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// // try to save iono model xml file
|
||||
// std::map<int, Gps_Iono> iono_copy = global_gps_iono_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_iono_map_xml(iono_xml_filename, iono_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved IONO Model XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save iono XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// // try to save ref time xml file
|
||||
// std::map<int, Gps_Ref_Time> ref_time_copy = global_gps_ref_time_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_ref_time_map_xml(ref_time_xml_filename, ref_time_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved Ref Time XML file";
|
||||
// //ret = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save ref time XML file";
|
||||
// //ref = false;
|
||||
// }
|
||||
// // try to save ref location xml file
|
||||
// std::map<int, Gps_Ref_Location> ref_location_copy = global_gps_ref_location_map.get_map_copy();
|
||||
// if (supl_client_acquisition_.save_ref_location_map_xml(ref_location_xml_filename, ref_location_copy) == true)
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Successfully saved Ref Location XML file";
|
||||
// //ref = true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LOG(INFO) << "SUPL: Error while trying to save ref location XML file";
|
||||
// //ret = false;
|
||||
// }
|
||||
// }
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,8 @@ HybridPvt::HybridPvt(ConfigurationInterface* configuration,
|
||||
rtcm_dump_devname = configuration->property(role + ".rtcm_dump_devname", default_rtcm_dump_devname);
|
||||
bool flag_rtcm_server;
|
||||
flag_rtcm_server = configuration->property(role + ".flag_rtcm_server", false);
|
||||
unsigned short rtcm_tcp_port = configuration->property(role + ".rtcm_tcp_port", 2101);
|
||||
unsigned short rtcm_station_id = configuration->property(role + ".rtcm_station_id", 1234);
|
||||
|
||||
// getting names from the config file, if available
|
||||
// default filename for assistance data
|
||||
@@ -97,7 +99,7 @@ HybridPvt::HybridPvt(ConfigurationInterface* configuration,
|
||||
//std::string ref_location_xml_filename = configuration_->property("GNSS-SDR.SUPL_gps_ref_location_xml", ref_location_default_xml_filename);
|
||||
|
||||
// make PVT object
|
||||
pvt_ = hybrid_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
|
||||
pvt_ = hybrid_make_pvt_cc(in_streams_, dump_, dump_filename_, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname);
|
||||
DLOG(INFO) << "pvt(" << pvt_->unique_id() << ")";
|
||||
}
|
||||
|
||||
|
||||
@@ -43,11 +43,12 @@ using google::LogMessage;
|
||||
|
||||
galileo_e1_pvt_cc_sptr galileo_e1_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth,
|
||||
bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename,
|
||||
std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname)
|
||||
std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id, std::string rtcm_dump_devname)
|
||||
{
|
||||
return galileo_e1_pvt_cc_sptr(new galileo_e1_pvt_cc(nchannels, dump, dump_filename, averaging_depth,
|
||||
flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname,
|
||||
flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname));
|
||||
flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname));
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +107,8 @@ void galileo_e1_pvt_cc::msg_handler_telemetry(pmt::pmt_t msg)
|
||||
|
||||
galileo_e1_pvt_cc::galileo_e1_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth,
|
||||
bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) :
|
||||
bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id, std::string rtcm_dump_devname) :
|
||||
gr::block("galileo_e1_pvt_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)), gr::io_signature::make(0, 0, sizeof(gr_complex)))
|
||||
{
|
||||
d_output_rate_ms = output_rate_ms;
|
||||
@@ -138,7 +140,9 @@ galileo_e1_pvt_cc::galileo_e1_pvt_cc(unsigned int nchannels, bool dump, std::str
|
||||
//initialize rtcm_printer
|
||||
std::string rtcm_dump_filename;
|
||||
rtcm_dump_filename = d_dump_filename;
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
|
||||
unsigned short _port = rtcm_tcp_port;
|
||||
unsigned short _station_id = rtcm_station_id;
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, _port, _station_id, rtcm_dump_devname);
|
||||
|
||||
d_dump_filename.append("_raw.dat");
|
||||
dump_ls_pvt_filename.append("_ls_pvt.dat");
|
||||
@@ -298,7 +302,7 @@ int galileo_e1_pvt_cc::general_work (int noutput_items __attribute__((unused)),
|
||||
gal_ephemeris_iter = d_ls_pvt->galileo_ephemeris_map.begin();
|
||||
if (gal_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
|
||||
{
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -313,7 +317,7 @@ int galileo_e1_pvt_cc::general_work (int noutput_items __attribute__((unused)),
|
||||
|
||||
if (gal_ephemeris_iter != d_ls_pvt->galileo_ephemeris_map.end())
|
||||
{
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, {}, {}, gal_ephemeris_iter->second, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
|
||||
}
|
||||
b_rtcm_writing_started = true;
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@ galileo_e1_pvt_cc_sptr galileo_e1_make_pvt_cc(unsigned int n_channels,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
|
||||
/*!
|
||||
@@ -79,6 +81,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
galileo_e1_pvt_cc(unsigned int nchannels,
|
||||
bool dump, std::string dump_filename,
|
||||
@@ -91,6 +95,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
|
||||
void msg_handler_telemetry(pmt::pmt_t msg);
|
||||
|
||||
@@ -43,9 +43,36 @@
|
||||
using google::LogMessage;
|
||||
|
||||
gps_l1_ca_pvt_cc_sptr
|
||||
gps_l1_ca_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname)
|
||||
gps_l1_ca_make_pvt_cc(unsigned int nchannels,
|
||||
bool dump, std::string dump_filename,
|
||||
int averaging_depth,
|
||||
bool flag_averaging,
|
||||
int output_rate_ms,
|
||||
int display_rate_ms,
|
||||
bool flag_nmea_tty_port,
|
||||
std::string nmea_dump_filename,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname)
|
||||
{
|
||||
return gps_l1_ca_pvt_cc_sptr(new gps_l1_ca_pvt_cc(nchannels, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname));
|
||||
return gps_l1_ca_pvt_cc_sptr(new gps_l1_ca_pvt_cc(nchannels,
|
||||
dump,
|
||||
dump_filename,
|
||||
averaging_depth,
|
||||
flag_averaging,
|
||||
output_rate_ms,
|
||||
display_rate_ms,
|
||||
flag_nmea_tty_port,
|
||||
nmea_dump_filename,
|
||||
nmea_dump_devname,
|
||||
flag_rtcm_server,
|
||||
flag_rtcm_tty_port,
|
||||
rtcm_tcp_port,
|
||||
rtcm_station_id,
|
||||
rtcm_dump_devname));
|
||||
}
|
||||
|
||||
|
||||
@@ -160,6 +187,8 @@ gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsigned int nchannels,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname) :
|
||||
gr::block("gps_l1_ca_pvt_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
||||
gr::io_signature::make(0, 0, sizeof(gr_complex)) )
|
||||
@@ -194,7 +223,9 @@ gps_l1_ca_pvt_cc::gps_l1_ca_pvt_cc(unsigned int nchannels,
|
||||
//initialize rtcm_printer
|
||||
std::string rtcm_dump_filename;
|
||||
rtcm_dump_filename = d_dump_filename;
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
|
||||
d_rtcm_tcp_port = rtcm_tcp_port;
|
||||
d_rtcm_station_id = rtcm_station_id;
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, d_rtcm_tcp_port, d_rtcm_station_id, rtcm_dump_devname);
|
||||
b_rtcm_writing_started = false;
|
||||
|
||||
d_dump_filename.append("_raw.dat");
|
||||
@@ -349,7 +380,7 @@ int gps_l1_ca_pvt_cc::general_work (int noutput_items __attribute__((unused)), g
|
||||
gps_ephemeris_iter = d_ls_pvt->gps_ephemeris_map.begin();
|
||||
if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
|
||||
{
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -365,7 +396,7 @@ int gps_l1_ca_pvt_cc::general_work (int noutput_items __attribute__((unused)), g
|
||||
|
||||
if (gps_ephemeris_iter != d_ls_pvt->gps_ephemeris_map.end())
|
||||
{
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 1234, 0, 0, 0, 0, 0);
|
||||
d_rtcm_printer->Print_Rtcm_MSM(7, gps_ephemeris_iter->second, {}, {}, d_rx_time, gnss_pseudoranges_map, 0, 0, 0, 0, 0);
|
||||
}
|
||||
b_rtcm_writing_started = true;
|
||||
}
|
||||
|
||||
@@ -57,6 +57,8 @@ gps_l1_ca_pvt_cc_sptr gps_l1_ca_make_pvt_cc(unsigned int n_channels,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname
|
||||
);
|
||||
|
||||
@@ -78,6 +80,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
gps_l1_ca_pvt_cc(unsigned int nchannels,
|
||||
bool dump,
|
||||
@@ -91,6 +95,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
|
||||
void msg_handler_telemetry(pmt::pmt_t msg);
|
||||
@@ -100,6 +106,8 @@ private:
|
||||
bool b_rinex_sbs_header_writen;
|
||||
bool b_rinex_header_updated;
|
||||
bool b_rtcm_writing_started;
|
||||
unsigned short d_rtcm_tcp_port;
|
||||
unsigned short d_rtcm_station_id;
|
||||
|
||||
void print_receiver_status(Gnss_Synchro** channels_synchronization_data);
|
||||
int d_last_status_print_seg; //for status printer
|
||||
|
||||
@@ -41,9 +41,37 @@
|
||||
using google::LogMessage;
|
||||
|
||||
hybrid_pvt_cc_sptr
|
||||
hybrid_make_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename, int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port, std::string nmea_dump_filename, std::string nmea_dump_devname, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname)
|
||||
hybrid_make_pvt_cc(unsigned int nchannels,
|
||||
bool dump,
|
||||
std::string dump_filename,
|
||||
int averaging_depth,
|
||||
bool flag_averaging,
|
||||
int output_rate_ms,
|
||||
int display_rate_ms,
|
||||
bool flag_nmea_tty_port,
|
||||
std::string nmea_dump_filename,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname)
|
||||
{
|
||||
return hybrid_pvt_cc_sptr(new hybrid_pvt_cc(nchannels, dump, dump_filename, averaging_depth, flag_averaging, output_rate_ms, display_rate_ms, flag_nmea_tty_port, nmea_dump_filename, nmea_dump_devname, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname));
|
||||
return hybrid_pvt_cc_sptr(new hybrid_pvt_cc(nchannels,
|
||||
dump,
|
||||
dump_filename,
|
||||
averaging_depth,
|
||||
flag_averaging,
|
||||
output_rate_ms,
|
||||
display_rate_ms,
|
||||
flag_nmea_tty_port,
|
||||
nmea_dump_filename,
|
||||
nmea_dump_devname,
|
||||
flag_rtcm_server,
|
||||
flag_rtcm_tty_port,
|
||||
rtcm_tcp_port,
|
||||
rtcm_station_id,
|
||||
rtcm_dump_devname));
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +167,8 @@ std::map<int,Gps_Ephemeris> hybrid_pvt_cc::get_GPS_L1_ephemeris_map()
|
||||
hybrid_pvt_cc::hybrid_pvt_cc(unsigned int nchannels, bool dump, std::string dump_filename,
|
||||
int averaging_depth, bool flag_averaging, int output_rate_ms, int display_rate_ms, bool flag_nmea_tty_port,
|
||||
std::string nmea_dump_filename, std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname) :
|
||||
bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id, std::string rtcm_dump_devname) :
|
||||
gr::block("hybrid_pvt_cc", gr::io_signature::make(nchannels, nchannels, sizeof(Gnss_Synchro)),
|
||||
gr::io_signature::make(0, 0, sizeof(gr_complex)))
|
||||
|
||||
@@ -173,7 +202,7 @@ hybrid_pvt_cc::hybrid_pvt_cc(unsigned int nchannels, bool dump, std::string dump
|
||||
//initialize rtcm_printer
|
||||
std::string rtcm_dump_filename;
|
||||
rtcm_dump_filename = d_dump_filename;
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_dump_devname);
|
||||
d_rtcm_printer = std::make_shared<Rtcm_Printer>(rtcm_dump_filename, flag_rtcm_server, flag_rtcm_tty_port, rtcm_tcp_port, rtcm_station_id, rtcm_dump_devname);
|
||||
|
||||
d_dump_filename.append("_raw.dat");
|
||||
dump_ls_pvt_filename.append("_ls_pvt.dat");
|
||||
|
||||
@@ -59,6 +59,8 @@ hybrid_pvt_cc_sptr hybrid_make_pvt_cc(unsigned int n_channels,
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
|
||||
/*!
|
||||
@@ -79,6 +81,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
hybrid_pvt_cc(unsigned int nchannels,
|
||||
bool dump, std::string dump_filename,
|
||||
@@ -91,6 +95,8 @@ private:
|
||||
std::string nmea_dump_devname,
|
||||
bool flag_rtcm_server,
|
||||
bool flag_rtcm_tty_port,
|
||||
unsigned short rtcm_tcp_port,
|
||||
unsigned short rtcm_station_id,
|
||||
std::string rtcm_dump_devname);
|
||||
|
||||
void msg_handler_telemetry(pmt::pmt_t msg);
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_devname, bool time_tag_name)
|
||||
Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port, unsigned short rtcm_station_id, std::string rtcm_dump_devname, bool time_tag_name)
|
||||
{
|
||||
time_t rawtime;
|
||||
struct tm * timeinfo;
|
||||
@@ -113,7 +113,11 @@ Rtcm_Printer::Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool fla
|
||||
rtcm_dev_descriptor = -1;
|
||||
}
|
||||
|
||||
rtcm = std::make_shared<Rtcm>();
|
||||
port = rtcm_tcp_port;
|
||||
station_id = rtcm_station_id;
|
||||
|
||||
rtcm = std::make_shared<Rtcm>(port);
|
||||
|
||||
if(flag_rtcm_server)
|
||||
{
|
||||
rtcm->run_server();
|
||||
@@ -143,7 +147,7 @@ Rtcm_Printer::~Rtcm_Printer()
|
||||
|
||||
bool Rtcm_Printer::Print_Rtcm_MT1001(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
|
||||
{
|
||||
std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges);
|
||||
std::string m1001 = rtcm->print_MT1001(gps_eph, obs_time, pseudoranges, station_id);
|
||||
Rtcm_Printer::Print_Message(m1001);
|
||||
return true;
|
||||
}
|
||||
@@ -151,7 +155,7 @@ bool Rtcm_Printer::Print_Rtcm_MT1001(const Gps_Ephemeris& gps_eph, double obs_ti
|
||||
|
||||
bool Rtcm_Printer::Print_Rtcm_MT1002(const Gps_Ephemeris& gps_eph, double obs_time, const std::map<int, Gnss_Synchro> & pseudoranges)
|
||||
{
|
||||
std::string m1002 = rtcm->print_MT1002(gps_eph, obs_time, pseudoranges);
|
||||
std::string m1002 = rtcm->print_MT1002(gps_eph, obs_time, pseudoranges, station_id);
|
||||
Rtcm_Printer::Print_Message(m1002);
|
||||
return true;
|
||||
}
|
||||
@@ -178,7 +182,6 @@ bool Rtcm_Printer::Print_Rtcm_MSM(unsigned int msm_number, const Gps_Ephemeris &
|
||||
const Galileo_Ephemeris & gal_eph,
|
||||
double obs_time,
|
||||
const std::map<int, Gnss_Synchro> & pseudoranges,
|
||||
unsigned int ref_id,
|
||||
unsigned int clock_steering_indicator,
|
||||
unsigned int external_clock_indicator,
|
||||
int smooth_int,
|
||||
@@ -188,31 +191,31 @@ bool Rtcm_Printer::Print_Rtcm_MSM(unsigned int msm_number, const Gps_Ephemeris &
|
||||
std::string msm;
|
||||
if(msm_number == 1)
|
||||
{
|
||||
msm = rtcm->print_MSM_1(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_1(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 2)
|
||||
{
|
||||
msm = rtcm->print_MSM_2(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_2(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 3)
|
||||
{
|
||||
msm = rtcm->print_MSM_3(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_3(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 4)
|
||||
{
|
||||
msm = rtcm->print_MSM_4(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_4(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 5)
|
||||
{
|
||||
msm = rtcm->print_MSM_5(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_5(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 6)
|
||||
{
|
||||
msm = rtcm->print_MSM_6(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_6(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else if(msm_number == 7)
|
||||
{
|
||||
msm = rtcm->print_MSM_7(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, ref_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
msm = rtcm->print_MSM_7(gps_eph, gps_cnav_eph, gal_eph, obs_time, pseudoranges, station_id, clock_steering_indicator, external_clock_indicator, smooth_int, divergence_free, more_messages);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -261,7 +264,6 @@ int Rtcm_Printer::init_serial(std::string serial_device)
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Rtcm_Printer::close_serial()
|
||||
{
|
||||
if (rtcm_dev_descriptor != -1)
|
||||
@@ -271,7 +273,6 @@ void Rtcm_Printer::close_serial()
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool Rtcm_Printer::Print_Message(const std::string & message)
|
||||
{
|
||||
//write to file
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
/*!
|
||||
* \brief Default constructor.
|
||||
*/
|
||||
Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, std::string rtcm_dump_filename, bool time_tag_name = true);
|
||||
Rtcm_Printer(std::string filename, bool flag_rtcm_server, bool flag_rtcm_tty_port, unsigned short rtcm_tcp_port, unsigned short rtcm_station_id, std::string rtcm_dump_filename, bool time_tag_name = true);
|
||||
|
||||
/*!
|
||||
* \brief Default destructor.
|
||||
@@ -65,7 +65,6 @@ public:
|
||||
const Galileo_Ephemeris & gal_eph,
|
||||
double obs_time,
|
||||
const std::map<int, Gnss_Synchro> & pseudoranges,
|
||||
unsigned int ref_id,
|
||||
unsigned int clock_steering_indicator,
|
||||
unsigned int external_clock_indicator,
|
||||
int smooth_int,
|
||||
@@ -81,6 +80,8 @@ private:
|
||||
std::string rtcm_filename; // String with the RTCM log filename
|
||||
std::ofstream rtcm_file_descriptor; // Output file stream for RTCM log file
|
||||
std::string rtcm_devname;
|
||||
unsigned short port;
|
||||
unsigned short station_id;
|
||||
int rtcm_dev_descriptor; // RTCM serial device descriptor (i.e. COM port)
|
||||
int init_serial (std::string serial_device); //serial port control
|
||||
void close_serial ();
|
||||
|
||||
Reference in New Issue
Block a user