mirror of https://github.com/gnss-sdr/gnss-sdr
Add debug internal logging for destructors. Sort destructor order
This commit is contained in:
parent
df7c466de0
commit
5a3db5a53d
|
@ -795,6 +795,7 @@ Rtklib_Pvt::Rtklib_Pvt(ConfigurationInterface* configuration,
|
||||||
|
|
||||||
Rtklib_Pvt::~Rtklib_Pvt()
|
Rtklib_Pvt::~Rtklib_Pvt()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "PVT adapter destructor called.";
|
||||||
rtkfree(&rtk);
|
rtkfree(&rtk);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -160,6 +160,9 @@ private:
|
||||||
bool save_gnss_synchro_map_xml(const std::string& file_name); // debug helper function
|
bool save_gnss_synchro_map_xml(const std::string& file_name); // debug helper function
|
||||||
bool load_gnss_synchro_map_xml(const std::string& file_name); // debug helper function
|
bool load_gnss_synchro_map_xml(const std::string& file_name); // debug helper function
|
||||||
|
|
||||||
|
std::shared_ptr<Rtklib_Solver> d_internal_pvt_solver;
|
||||||
|
std::shared_ptr<Rtklib_Solver> d_user_pvt_solver;
|
||||||
|
|
||||||
std::unique_ptr<Rinex_Printer> d_rp;
|
std::unique_ptr<Rinex_Printer> d_rp;
|
||||||
std::unique_ptr<Kml_Printer> d_kml_dump;
|
std::unique_ptr<Kml_Printer> d_kml_dump;
|
||||||
std::unique_ptr<Gpx_Printer> d_gpx_dump;
|
std::unique_ptr<Gpx_Printer> d_gpx_dump;
|
||||||
|
@ -168,9 +171,6 @@ private:
|
||||||
std::unique_ptr<Rtcm_Printer> d_rtcm_printer;
|
std::unique_ptr<Rtcm_Printer> d_rtcm_printer;
|
||||||
std::unique_ptr<Monitor_Pvt_Udp_Sink> d_udp_sink_ptr;
|
std::unique_ptr<Monitor_Pvt_Udp_Sink> d_udp_sink_ptr;
|
||||||
|
|
||||||
std::shared_ptr<Rtklib_Solver> d_internal_pvt_solver;
|
|
||||||
std::shared_ptr<Rtklib_Solver> d_user_pvt_solver;
|
|
||||||
|
|
||||||
std::chrono::time_point<std::chrono::system_clock> d_start;
|
std::chrono::time_point<std::chrono::system_clock> d_start;
|
||||||
std::chrono::time_point<std::chrono::system_clock> d_end;
|
std::chrono::time_point<std::chrono::system_clock> d_end;
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,7 @@ GeoJSON_Printer::GeoJSON_Printer(const std::string& base_path)
|
||||||
|
|
||||||
GeoJSON_Printer::~GeoJSON_Printer()
|
GeoJSON_Printer::~GeoJSON_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GeoJSON printer destructor called.";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
GeoJSON_Printer::close_file();
|
GeoJSON_Printer::close_file();
|
||||||
|
|
|
@ -228,6 +228,7 @@ bool Gpx_Printer::close_file()
|
||||||
|
|
||||||
Gpx_Printer::~Gpx_Printer()
|
Gpx_Printer::~Gpx_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GPX printer destructor called.";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
close_file();
|
close_file();
|
||||||
|
|
|
@ -340,6 +340,7 @@ bool Kml_Printer::close_file()
|
||||||
|
|
||||||
Kml_Printer::~Kml_Printer()
|
Kml_Printer::~Kml_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "KML printer destructor called.";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
close_file();
|
close_file();
|
||||||
|
|
|
@ -125,6 +125,7 @@ Nmea_Printer::Nmea_Printer(const std::string& filename, bool flag_nmea_output_fi
|
||||||
|
|
||||||
Nmea_Printer::~Nmea_Printer()
|
Nmea_Printer::~Nmea_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "NMEA printer destructor called.";
|
||||||
auto pos = nmea_file_descriptor.tellp();
|
auto pos = nmea_file_descriptor.tellp();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -234,6 +234,7 @@ Rinex_Printer::Rinex_Printer(int32_t conf_version, const std::string& base_path,
|
||||||
|
|
||||||
Rinex_Printer::~Rinex_Printer()
|
Rinex_Printer::~Rinex_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "RINEX printer destructor called.";
|
||||||
// close RINEX files
|
// close RINEX files
|
||||||
int64_t posn;
|
int64_t posn;
|
||||||
int64_t poso;
|
int64_t poso;
|
||||||
|
|
|
@ -49,6 +49,7 @@ Rtcm::Rtcm(uint16_t port)
|
||||||
|
|
||||||
Rtcm::~Rtcm()
|
Rtcm::~Rtcm()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "RTCM object destructor called.";
|
||||||
if (server_is_running)
|
if (server_is_running)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "galileo_ephemeris.h"
|
#include "galileo_ephemeris.h"
|
||||||
#include "glonass_gnav_ephemeris.h"
|
#include "glonass_gnav_ephemeris.h"
|
||||||
#include "glonass_gnav_utc_model.h"
|
#include "glonass_gnav_utc_model.h"
|
||||||
|
#include "gnss_sdr_make_unique.h"
|
||||||
#include "gnss_synchro.h"
|
#include "gnss_synchro.h"
|
||||||
#include "gps_cnav_ephemeris.h"
|
#include "gps_cnav_ephemeris.h"
|
||||||
#include "gps_ephemeris.h"
|
#include "gps_ephemeris.h"
|
||||||
|
@ -170,7 +171,7 @@ Rtcm_Printer::Rtcm_Printer(const std::string& filename, bool flag_rtcm_file_dump
|
||||||
port = rtcm_tcp_port;
|
port = rtcm_tcp_port;
|
||||||
station_id = rtcm_station_id;
|
station_id = rtcm_station_id;
|
||||||
|
|
||||||
rtcm = std::make_shared<Rtcm>(port);
|
rtcm = std::make_unique<Rtcm>(port);
|
||||||
|
|
||||||
if (flag_rtcm_server)
|
if (flag_rtcm_server)
|
||||||
{
|
{
|
||||||
|
@ -181,6 +182,7 @@ Rtcm_Printer::Rtcm_Printer(const std::string& filename, bool flag_rtcm_file_dump
|
||||||
|
|
||||||
Rtcm_Printer::~Rtcm_Printer()
|
Rtcm_Printer::~Rtcm_Printer()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "RTCM printer destructor called.";
|
||||||
if (rtcm->is_server_running())
|
if (rtcm->is_server_running())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -150,7 +150,7 @@ private:
|
||||||
void close_serial();
|
void close_serial();
|
||||||
bool Print_Message(const std::string& message);
|
bool Print_Message(const std::string& message);
|
||||||
|
|
||||||
std::shared_ptr<Rtcm> rtcm;
|
std::unique_ptr<Rtcm> rtcm;
|
||||||
std::ofstream rtcm_file_descriptor; // Output file stream for RTCM log file
|
std::ofstream rtcm_file_descriptor; // Output file stream for RTCM log file
|
||||||
std::string rtcm_filename; // String with the RTCM log filename
|
std::string rtcm_filename; // String with the RTCM log filename
|
||||||
std::string rtcm_base_path;
|
std::string rtcm_base_path;
|
||||||
|
|
|
@ -98,6 +98,7 @@ Rtklib_Solver::Rtklib_Solver(int nchannels, const std::string &dump_filename, bo
|
||||||
|
|
||||||
Rtklib_Solver::~Rtklib_Solver()
|
Rtklib_Solver::~Rtklib_Solver()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Rtklib_Solver destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
auto pos = d_dump_file.tellp();
|
auto pos = d_dump_file.tellp();
|
||||||
|
|
|
@ -149,25 +149,25 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
Acq_Conf acq_parameters_;
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string role_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
size_t item_size_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
float threshold_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int num_codes_;
|
unsigned int num_codes_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
|
|
@ -148,25 +148,25 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
Acq_Conf acq_parameters_;
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string role_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
size_t item_size_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
float threshold_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int num_codes_;
|
unsigned int num_codes_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
|
|
@ -152,30 +152,30 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
Acq_Conf acq_parameters_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
size_t item_size_;
|
||||||
|
float threshold_;
|
||||||
|
int doppler_center_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
bool acquire_pilot_;
|
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int doppler_center_;
|
|
||||||
unsigned int sampled_ms_;
|
unsigned int sampled_ms_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool acquire_pilot_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H
|
#endif // GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_H
|
||||||
|
|
|
@ -185,20 +185,20 @@ private:
|
||||||
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
||||||
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
||||||
|
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||||
bool acquire_pilot_;
|
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
||||||
uint32_t channel_;
|
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int32_t doppler_center_;
|
||||||
|
uint32_t channel_;
|
||||||
uint32_t doppler_max_;
|
uint32_t doppler_max_;
|
||||||
uint32_t doppler_step_;
|
uint32_t doppler_step_;
|
||||||
int32_t doppler_center_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
bool acquire_pilot_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_FPGA_H
|
#endif // GNSS_SDR_GALILEO_E1_PCPS_AMBIGUOUS_ACQUISITION_FPGA_H
|
||||||
|
|
|
@ -143,29 +143,29 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
Acq_Conf acq_parameters_;
|
Acq_Conf acq_parameters_;
|
||||||
size_t item_size_;
|
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
bool acq_pilot_;
|
int64_t fs_in_;
|
||||||
bool acq_iq_;
|
size_t item_size_;
|
||||||
|
float threshold_;
|
||||||
|
int doppler_center_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int doppler_center_;
|
|
||||||
unsigned int sampled_ms_;
|
unsigned int sampled_ms_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
int64_t fs_in_;
|
bool acq_pilot_;
|
||||||
float threshold_;
|
bool acq_iq_;
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GALILEO_E5A_PCPS_ACQUISITION_H
|
#endif // GNSS_SDR_GALILEO_E5A_PCPS_ACQUISITION_H
|
||||||
|
|
|
@ -192,22 +192,22 @@ private:
|
||||||
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
||||||
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
||||||
|
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
std::string role_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
int32_t doppler_center_;
|
||||||
bool acq_pilot_;
|
|
||||||
bool acq_iq_;
|
|
||||||
uint32_t channel_;
|
uint32_t channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
uint32_t doppler_max_;
|
uint32_t doppler_max_;
|
||||||
uint32_t doppler_step_;
|
uint32_t doppler_step_;
|
||||||
int32_t doppler_center_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
Gnss_Synchro* gnss_synchro_;
|
bool acq_pilot_;
|
||||||
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
bool acq_iq_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GALILEO_E5A_PCPS_ACQUISITION_FPGA_H
|
#endif // GNSS_SDR_GALILEO_E5A_PCPS_ACQUISITION_FPGA_H
|
||||||
|
|
|
@ -145,26 +145,26 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples __attribute__((unused))) override{};
|
void set_resampler_latency(uint32_t latency_samples __attribute__((unused))) override{};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
Acq_Conf acq_parameters_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
size_t item_size_;
|
||||||
|
float threshold_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
unsigned int sampled_ms_;
|
unsigned int sampled_ms_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
};
|
};
|
||||||
|
|
|
@ -144,26 +144,26 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples __attribute__((unused))) override{};
|
void set_resampler_latency(uint32_t latency_samples __attribute__((unused))) override{};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
Acq_Conf acq_parameters_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
size_t item_size_;
|
||||||
|
float threshold_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
unsigned int sampled_ms_;
|
unsigned int sampled_ms_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
};
|
};
|
||||||
|
|
|
@ -156,26 +156,26 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
Acq_Conf acq_parameters_;
|
std::vector<std::complex<float>> code_;
|
||||||
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
size_t item_size_;
|
||||||
|
float threshold_;
|
||||||
|
int doppler_center_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int doppler_center_;
|
|
||||||
unsigned int sampled_ms_;
|
unsigned int sampled_ms_;
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
};
|
};
|
||||||
|
|
|
@ -190,19 +190,18 @@ private:
|
||||||
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
||||||
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
||||||
|
|
||||||
|
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||||
uint32_t channel_;
|
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
std::string role_;
|
||||||
|
int32_t doppler_center_;
|
||||||
|
uint32_t channel_;
|
||||||
uint32_t doppler_max_;
|
uint32_t doppler_max_;
|
||||||
uint32_t doppler_step_;
|
uint32_t doppler_step_;
|
||||||
int32_t doppler_center_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FPGA_H
|
#endif // GNSS_SDR_GPS_L1_CA_PCPS_ACQUISITION_FPGA_H
|
||||||
|
|
|
@ -153,26 +153,26 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
Acq_Conf acq_parameters_;
|
std::vector<std::complex<float>> code_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
size_t item_size_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
float threshold_;
|
||||||
|
int doppler_center_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int doppler_center_;
|
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
unsigned int num_codes_;
|
unsigned int num_codes_;
|
||||||
|
|
|
@ -151,21 +151,21 @@ private:
|
||||||
static const uint32_t SELECT_ALL_CODE_BITS = 0xFFFFFFFF; // Select a 20 bit word
|
static const uint32_t SELECT_ALL_CODE_BITS = 0xFFFFFFFF; // Select a 20 bit word
|
||||||
static const uint32_t SHL_CODE_BITS = 65536; // shift left by 10 bits
|
static const uint32_t SHL_CODE_BITS = 65536; // shift left by 10 bits
|
||||||
|
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||||
std::string item_type_;
|
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
||||||
unsigned int channel_;
|
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int64_t fs_in_;
|
||||||
float threshold_;
|
float threshold_;
|
||||||
|
unsigned int channel_;
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GPS_L2_M_PCPS_ACQUISITION_FPGA_H
|
#endif // GNSS_SDR_GPS_L2_M_PCPS_ACQUISITION_FPGA_H
|
||||||
|
|
|
@ -153,29 +153,29 @@ public:
|
||||||
void set_resampler_latency(uint32_t latency_samples) override;
|
void set_resampler_latency(uint32_t latency_samples) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ConfigurationInterface* configuration_;
|
|
||||||
pcps_acquisition_sptr acquisition_;
|
pcps_acquisition_sptr acquisition_;
|
||||||
Acq_Conf acq_parameters_;
|
std::vector<std::complex<float>> code_;
|
||||||
gr::blocks::float_to_complex::sptr float_to_complex_;
|
gr::blocks::float_to_complex::sptr float_to_complex_;
|
||||||
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
complex_byte_to_float_x2_sptr cbyte_to_float_x2_;
|
||||||
size_t item_size_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
Acq_Conf acq_parameters_;
|
||||||
std::string item_type_;
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
size_t item_size_;
|
||||||
|
int64_t fs_in_;
|
||||||
|
float threshold_;
|
||||||
|
int doppler_center_;
|
||||||
unsigned int vector_length_;
|
unsigned int vector_length_;
|
||||||
unsigned int code_length_;
|
unsigned int code_length_;
|
||||||
unsigned int channel_;
|
unsigned int channel_;
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
|
||||||
float threshold_;
|
|
||||||
unsigned int doppler_max_;
|
unsigned int doppler_max_;
|
||||||
unsigned int doppler_step_;
|
unsigned int doppler_step_;
|
||||||
int doppler_center_;
|
|
||||||
int64_t fs_in_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
std::vector<std::complex<float>> code_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int num_codes_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
unsigned int num_codes_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_H
|
#endif // GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_H
|
||||||
|
|
|
@ -188,21 +188,22 @@ private:
|
||||||
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
static const uint32_t select_all_code_bits = 0xFFFFFFFF; // Select a 20 bit word
|
||||||
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
static const uint32_t shl_code_bits = 65536; // shift left by 10 bits
|
||||||
|
|
||||||
ConfigurationInterface* configuration_;
|
float calculate_threshold(float pfa);
|
||||||
|
|
||||||
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
pcps_acquisition_fpga_sptr acquisition_fpga_;
|
||||||
std::string item_type_;
|
|
||||||
uint32_t channel_;
|
|
||||||
std::weak_ptr<ChannelFsm> channel_fsm_;
|
std::weak_ptr<ChannelFsm> channel_fsm_;
|
||||||
|
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
||||||
|
Gnss_Synchro* gnss_synchro_;
|
||||||
|
ConfigurationInterface* configuration_;
|
||||||
|
std::string item_type_;
|
||||||
|
std::string dump_filename_;
|
||||||
|
std::string role_;
|
||||||
|
int32_t doppler_center_;
|
||||||
|
uint32_t channel_;
|
||||||
uint32_t doppler_max_;
|
uint32_t doppler_max_;
|
||||||
uint32_t doppler_step_;
|
uint32_t doppler_step_;
|
||||||
int32_t doppler_center_;
|
|
||||||
std::string dump_filename_;
|
|
||||||
Gnss_Synchro* gnss_synchro_;
|
|
||||||
std::string role_;
|
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
std::vector<uint32_t> d_all_fft_codes_; // memory that contains all the code ffts
|
|
||||||
float calculate_threshold(float pfa);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H
|
#endif // GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H
|
||||||
|
|
|
@ -97,6 +97,11 @@ class pcps_acquisition : public gr::block
|
||||||
public:
|
public:
|
||||||
~pcps_acquisition() = default;
|
~pcps_acquisition() = default;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Initializes acquisition algorithm and reserves memory.
|
||||||
|
*/
|
||||||
|
void init();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
|
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
|
||||||
* to exchange synchronization data between acquisition and tracking blocks.
|
* to exchange synchronization data between acquisition and tracking blocks.
|
||||||
|
@ -108,6 +113,21 @@ public:
|
||||||
d_gnss_synchro = p_gnss_synchro;
|
d_gnss_synchro = p_gnss_synchro;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Sets local code for PCPS acquisition algorithm.
|
||||||
|
* \param code - Pointer to the PRN code.
|
||||||
|
*/
|
||||||
|
void set_local_code(std::complex<float>* code);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief If set to 1, ensures that acquisition starts at the
|
||||||
|
* first available sample.
|
||||||
|
* \param state - int=1 forces start of acquisition
|
||||||
|
*/
|
||||||
|
void set_state(int32_t state);
|
||||||
|
|
||||||
|
void set_resampler_latency(uint32_t latency_samples);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Returns the maximum peak of grid search.
|
* \brief Returns the maximum peak of grid search.
|
||||||
*/
|
*/
|
||||||
|
@ -116,17 +136,6 @@ public:
|
||||||
return d_mag;
|
return d_mag;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Initializes acquisition algorithm and reserves memory.
|
|
||||||
*/
|
|
||||||
void init();
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Sets local code for PCPS acquisition algorithm.
|
|
||||||
* \param code - Pointer to the PRN code.
|
|
||||||
*/
|
|
||||||
void set_local_code(std::complex<float>* code);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Starts acquisition algorithm, turning from standby mode to
|
* \brief Starts acquisition algorithm, turning from standby mode to
|
||||||
* active mode
|
* active mode
|
||||||
|
@ -138,13 +147,6 @@ public:
|
||||||
d_active = active;
|
d_active = active;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief If set to 1, ensures that acquisition starts at the
|
|
||||||
* first available sample.
|
|
||||||
* \param state - int=1 forces start of acquisition
|
|
||||||
*/
|
|
||||||
void set_state(int32_t state);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set acquisition channel unique ID
|
* \brief Set acquisition channel unique ID
|
||||||
* \param channel - receiver channel.
|
* \param channel - receiver channel.
|
||||||
|
@ -208,8 +210,6 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_resampler_latency(uint32_t latency_samples);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Parallel Code Phase Search Acquisition signal processing.
|
* \brief Parallel Code Phase Search Acquisition signal processing.
|
||||||
*/
|
*/
|
||||||
|
@ -243,7 +243,6 @@ private:
|
||||||
volk_gnsssdr::vector<std::complex<float>> d_data_buffer;
|
volk_gnsssdr::vector<std::complex<float>> d_data_buffer;
|
||||||
volk_gnsssdr::vector<lv_16sc_t> d_data_buffer_sc;
|
volk_gnsssdr::vector<lv_16sc_t> d_data_buffer_sc;
|
||||||
|
|
||||||
std::string d_dump_filename;
|
|
||||||
std::unique_ptr<gr::fft::fft_complex> d_fft_if;
|
std::unique_ptr<gr::fft::fft_complex> d_fft_if;
|
||||||
std::unique_ptr<gr::fft::fft_complex> d_ifft;
|
std::unique_ptr<gr::fft::fft_complex> d_ifft;
|
||||||
std::weak_ptr<ChannelFsm> d_channel_fsm;
|
std::weak_ptr<ChannelFsm> d_channel_fsm;
|
||||||
|
@ -253,6 +252,8 @@ private:
|
||||||
arma::fmat d_grid;
|
arma::fmat d_grid;
|
||||||
arma::fmat d_narrow_grid;
|
arma::fmat d_narrow_grid;
|
||||||
|
|
||||||
|
std::string d_dump_filename;
|
||||||
|
|
||||||
int64_t d_dump_number;
|
int64_t d_dump_number;
|
||||||
uint64_t d_sample_counter;
|
uint64_t d_sample_counter;
|
||||||
|
|
||||||
|
|
|
@ -195,11 +195,11 @@ private:
|
||||||
void acquisition_core(uint32_t num_doppler_bins, uint32_t doppler_step, int32_t doppler_min);
|
void acquisition_core(uint32_t num_doppler_bins, uint32_t doppler_step, int32_t doppler_min);
|
||||||
float first_vs_second_peak_statistic(uint32_t& indext, int32_t& doppler, uint32_t num_doppler_bins, int32_t doppler_max, int32_t doppler_step);
|
float first_vs_second_peak_statistic(uint32_t& indext, int32_t& doppler, uint32_t num_doppler_bins, int32_t doppler_max, int32_t doppler_step);
|
||||||
|
|
||||||
pcpsconf_fpga_t d_acq_parameters;
|
|
||||||
|
|
||||||
std::shared_ptr<Fpga_Acquisition> d_acquisition_fpga;
|
std::shared_ptr<Fpga_Acquisition> d_acquisition_fpga;
|
||||||
std::weak_ptr<ChannelFsm> d_channel_fsm;
|
std::weak_ptr<ChannelFsm> d_channel_fsm;
|
||||||
|
|
||||||
|
pcpsconf_fpga_t d_acq_parameters;
|
||||||
|
|
||||||
Gnss_Synchro* d_gnss_synchro;
|
Gnss_Synchro* d_gnss_synchro;
|
||||||
|
|
||||||
uint64_t d_sample_counter;
|
uint64_t d_sample_counter;
|
||||||
|
|
|
@ -84,14 +84,14 @@ public:
|
||||||
void msg_handler_events(pmt::pmt_t msg);
|
void msg_handler_events(pmt::pmt_t msg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Gnss_Synchro gnss_synchro_{};
|
|
||||||
Gnss_Signal gnss_signal_;
|
|
||||||
std::shared_ptr<AcquisitionInterface> acq_;
|
std::shared_ptr<AcquisitionInterface> acq_;
|
||||||
std::shared_ptr<TrackingInterface> trk_;
|
std::shared_ptr<TrackingInterface> trk_;
|
||||||
std::shared_ptr<TelemetryDecoderInterface> nav_;
|
std::shared_ptr<TelemetryDecoderInterface> nav_;
|
||||||
std::shared_ptr<ChannelFsm> channel_fsm_;
|
std::shared_ptr<ChannelFsm> channel_fsm_;
|
||||||
channel_msg_receiver_cc_sptr channel_msg_rx_;
|
channel_msg_receiver_cc_sptr channel_msg_rx_;
|
||||||
Concurrent_Queue<pmt::pmt_t>* queue_;
|
Concurrent_Queue<pmt::pmt_t>* queue_;
|
||||||
|
Gnss_Synchro gnss_synchro_{};
|
||||||
|
Gnss_Signal gnss_signal_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
std::string implementation_;
|
std::string implementation_;
|
||||||
std::mutex mx_;
|
std::mutex mx_;
|
||||||
|
|
|
@ -52,11 +52,11 @@ public:
|
||||||
// FSM EVENTS
|
// FSM EVENTS
|
||||||
bool Event_start_acquisition();
|
bool Event_start_acquisition();
|
||||||
bool Event_start_acquisition_fpga();
|
bool Event_start_acquisition_fpga();
|
||||||
virtual bool Event_valid_acquisition();
|
|
||||||
bool Event_stop_channel();
|
bool Event_stop_channel();
|
||||||
|
bool Event_failed_tracking_standby();
|
||||||
|
virtual bool Event_valid_acquisition();
|
||||||
virtual bool Event_failed_acquisition_repeat();
|
virtual bool Event_failed_acquisition_repeat();
|
||||||
virtual bool Event_failed_acquisition_no_repeat();
|
virtual bool Event_failed_acquisition_no_repeat();
|
||||||
bool Event_failed_tracking_standby();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void start_tracking();
|
void start_tracking();
|
||||||
|
@ -65,9 +65,6 @@ private:
|
||||||
void request_satellite();
|
void request_satellite();
|
||||||
void notify_stop_tracking();
|
void notify_stop_tracking();
|
||||||
|
|
||||||
uint32_t channel_;
|
|
||||||
uint32_t state_;
|
|
||||||
|
|
||||||
std::shared_ptr<AcquisitionInterface> acq_;
|
std::shared_ptr<AcquisitionInterface> acq_;
|
||||||
std::shared_ptr<TrackingInterface> trk_;
|
std::shared_ptr<TrackingInterface> trk_;
|
||||||
std::shared_ptr<TelemetryDecoderInterface> nav_;
|
std::shared_ptr<TelemetryDecoderInterface> nav_;
|
||||||
|
@ -75,6 +72,9 @@ private:
|
||||||
std::mutex mx_;
|
std::mutex mx_;
|
||||||
|
|
||||||
Concurrent_Queue<pmt::pmt_t>* queue_;
|
Concurrent_Queue<pmt::pmt_t>* queue_;
|
||||||
|
|
||||||
|
uint32_t channel_;
|
||||||
|
uint32_t state_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_CHANNEL_FSM_H
|
#endif // GNSS_SDR_CHANNEL_FSM_H
|
||||||
|
|
|
@ -155,6 +155,7 @@ hybrid_observables_gs::hybrid_observables_gs(const Obs_Conf &conf_) : gr::block(
|
||||||
|
|
||||||
hybrid_observables_gs::~hybrid_observables_gs()
|
hybrid_observables_gs::~hybrid_observables_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Observables block destructor called.";
|
||||||
if (d_dump_file.is_open())
|
if (d_dump_file.is_open())
|
||||||
{
|
{
|
||||||
auto pos = d_dump_file.tellp();
|
auto pos = d_dump_file.tellp();
|
||||||
|
|
|
@ -113,7 +113,7 @@ private:
|
||||||
bool rf_dc_;
|
bool rf_dc_;
|
||||||
bool bb_dc_;
|
bool bb_dc_;
|
||||||
bool rx1_enable_;
|
bool rx1_enable_;
|
||||||
bool rx2_enable_;
|
bool rx2_enable_;
|
||||||
bool enable_DMA_;
|
bool enable_DMA_;
|
||||||
bool rf_shutdown_;
|
bool rf_shutdown_;
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,6 +45,13 @@ public:
|
||||||
|
|
||||||
~BeidouB1iTelemetryDecoder() = default;
|
~BeidouB1iTelemetryDecoder() = default;
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline std::string role() override
|
inline std::string role() override
|
||||||
{
|
{
|
||||||
return role_;
|
return role_;
|
||||||
|
@ -56,17 +63,11 @@ public:
|
||||||
return "BEIDOU_B1I_Telemetry_Decoder";
|
return "BEIDOU_B1I_Telemetry_Decoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
|
||||||
gr::basic_block_sptr get_left_block() override;
|
|
||||||
gr::basic_block_sptr get_right_block() override;
|
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
|
@ -77,12 +78,12 @@ public:
|
||||||
private:
|
private:
|
||||||
beidou_b1i_telemetry_decoder_gs_sptr telemetry_decoder_;
|
beidou_b1i_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -42,6 +42,13 @@ public:
|
||||||
|
|
||||||
~BeidouB3iTelemetryDecoder() = default;
|
~BeidouB3iTelemetryDecoder() = default;
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
void set_satellite(const Gnss_Satellite &satellite) override;
|
||||||
|
|
||||||
inline std::string role() override { return role_; }
|
inline std::string role() override { return role_; }
|
||||||
|
|
||||||
//! Returns "BEIDOU_B3I_Telemetry_Decoder"
|
//! Returns "BEIDOU_B3I_Telemetry_Decoder"
|
||||||
|
@ -50,12 +57,6 @@ public:
|
||||||
return "BEIDOU_B3I_Telemetry_Decoder";
|
return "BEIDOU_B3I_Telemetry_Decoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
|
||||||
gr::basic_block_sptr get_left_block() override;
|
|
||||||
gr::basic_block_sptr get_right_block() override;
|
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite &satellite) override;
|
|
||||||
inline void set_channel(int channel) override
|
inline void set_channel(int channel) override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->set_channel(channel);
|
telemetry_decoder_->set_channel(channel);
|
||||||
|
@ -64,7 +65,6 @@ public:
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override { return 0; }
|
inline size_t item_size() override { return 0; }
|
||||||
|
@ -72,12 +72,12 @@ public:
|
||||||
private:
|
private:
|
||||||
beidou_b3i_telemetry_decoder_gs_sptr telemetry_decoder_;
|
beidou_b3i_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -47,6 +47,13 @@ public:
|
||||||
|
|
||||||
~GalileoE1BTelemetryDecoder() = default;
|
~GalileoE1BTelemetryDecoder() = default;
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline std::string role() override
|
inline std::string role() override
|
||||||
{
|
{
|
||||||
return role_;
|
return role_;
|
||||||
|
@ -60,17 +67,11 @@ public:
|
||||||
return "Galileo_E1B_Telemetry_Decoder";
|
return "Galileo_E1B_Telemetry_Decoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
|
||||||
gr::basic_block_sptr get_left_block() override;
|
|
||||||
gr::basic_block_sptr get_right_block() override;
|
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
|
@ -81,12 +82,12 @@ public:
|
||||||
private:
|
private:
|
||||||
galileo_telemetry_decoder_gs_sptr telemetry_decoder_;
|
galileo_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -48,6 +48,13 @@ public:
|
||||||
|
|
||||||
~GalileoE5aTelemetryDecoder() = default;
|
~GalileoE5aTelemetryDecoder() = default;
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline std::string role() override
|
inline std::string role() override
|
||||||
{
|
{
|
||||||
return role_;
|
return role_;
|
||||||
|
@ -61,17 +68,11 @@ public:
|
||||||
return "Galileo_E5A_Telemetry_Decoder";
|
return "Galileo_E5A_Telemetry_Decoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
|
||||||
gr::basic_block_sptr get_left_block() override;
|
|
||||||
gr::basic_block_sptr get_right_block() override;
|
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
|
@ -82,12 +83,12 @@ public:
|
||||||
private:
|
private:
|
||||||
galileo_telemetry_decoder_gs_sptr telemetry_decoder_;
|
galileo_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GNSS_SDR_GALILEO_E5A_TELEMETRY_DECODER_H
|
#endif // GNSS_SDR_GALILEO_E5A_TELEMETRY_DECODER_H
|
||||||
|
|
|
@ -44,28 +44,32 @@ public:
|
||||||
unsigned int out_streams);
|
unsigned int out_streams);
|
||||||
|
|
||||||
~GlonassL1CaTelemetryDecoder() = default;
|
~GlonassL1CaTelemetryDecoder() = default;
|
||||||
std::string role() override
|
|
||||||
{
|
|
||||||
return role_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Returns "GLONASS_L1_CA_Telemetry_Decoder"
|
|
||||||
std::string implementation() override
|
|
||||||
{
|
|
||||||
return "GLONASS_L1_CA_Telemetry_Decoder";
|
|
||||||
}
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
gr::basic_block_sptr get_left_block() override;
|
gr::basic_block_sptr get_left_block() override;
|
||||||
gr::basic_block_sptr get_right_block() override;
|
gr::basic_block_sptr get_right_block() override;
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
|
||||||
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
|
inline std::string role() override
|
||||||
|
{
|
||||||
|
return role_;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Returns "GLONASS_L1_CA_Telemetry_Decoder"
|
||||||
|
inline std::string implementation() override
|
||||||
|
{
|
||||||
|
return "GLONASS_L1_CA_Telemetry_Decoder";
|
||||||
|
}
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
size_t item_size() override
|
|
||||||
|
inline size_t item_size() override
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -73,12 +77,12 @@ public:
|
||||||
private:
|
private:
|
||||||
glonass_l1_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
glonass_l1_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -43,28 +43,32 @@ public:
|
||||||
unsigned int out_streams);
|
unsigned int out_streams);
|
||||||
|
|
||||||
~GlonassL2CaTelemetryDecoder() = default;
|
~GlonassL2CaTelemetryDecoder() = default;
|
||||||
std::string role() override
|
|
||||||
{
|
|
||||||
return role_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//! Returns "GLONASS_L2_CA_Telemetry_Decoder"
|
|
||||||
std::string implementation() override
|
|
||||||
{
|
|
||||||
return "GLONASS_L2_CA_Telemetry_Decoder";
|
|
||||||
}
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
gr::basic_block_sptr get_left_block() override;
|
gr::basic_block_sptr get_left_block() override;
|
||||||
gr::basic_block_sptr get_right_block() override;
|
gr::basic_block_sptr get_right_block() override;
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
|
||||||
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
|
inline std::string role() override
|
||||||
|
{
|
||||||
|
return role_;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Returns "GLONASS_L2_CA_Telemetry_Decoder"
|
||||||
|
inline std::string implementation() override
|
||||||
|
{
|
||||||
|
return "GLONASS_L2_CA_Telemetry_Decoder";
|
||||||
|
}
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
size_t item_size() override
|
|
||||||
|
inline size_t item_size() override
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -72,12 +76,12 @@ public:
|
||||||
private:
|
private:
|
||||||
glonass_l2_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
glonass_l2_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -44,6 +44,13 @@ public:
|
||||||
|
|
||||||
~GpsL1CaTelemetryDecoder() = default;
|
~GpsL1CaTelemetryDecoder() = default;
|
||||||
|
|
||||||
|
void connect(gr::top_block_sptr top_block) override;
|
||||||
|
void disconnect(gr::top_block_sptr top_block) override;
|
||||||
|
gr::basic_block_sptr get_left_block() override;
|
||||||
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline std::string role() override
|
inline std::string role() override
|
||||||
{
|
{
|
||||||
return role_;
|
return role_;
|
||||||
|
@ -55,17 +62,11 @@ public:
|
||||||
return "GPS_L1_CA_Telemetry_Decoder";
|
return "GPS_L1_CA_Telemetry_Decoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
void connect(gr::top_block_sptr top_block) override;
|
|
||||||
void disconnect(gr::top_block_sptr top_block) override;
|
|
||||||
gr::basic_block_sptr get_left_block() override;
|
|
||||||
gr::basic_block_sptr get_right_block() override;
|
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
|
@ -76,12 +77,12 @@ public:
|
||||||
private:
|
private:
|
||||||
gps_l1_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
gps_l1_ca_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -61,12 +61,14 @@ public:
|
||||||
gr::basic_block_sptr get_right_block() override;
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -75,12 +77,12 @@ public:
|
||||||
private:
|
private:
|
||||||
gps_l2c_telemetry_decoder_gs_sptr telemetry_decoder_;
|
gps_l2c_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -63,12 +63,14 @@ public:
|
||||||
gr::basic_block_sptr get_right_block() override;
|
gr::basic_block_sptr get_right_block() override;
|
||||||
|
|
||||||
void set_satellite(const Gnss_Satellite& satellite) override;
|
void set_satellite(const Gnss_Satellite& satellite) override;
|
||||||
|
|
||||||
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
inline void set_channel(int channel) override { telemetry_decoder_->set_channel(channel); }
|
||||||
|
|
||||||
inline void reset() override
|
inline void reset() override
|
||||||
{
|
{
|
||||||
telemetry_decoder_->reset();
|
telemetry_decoder_->reset();
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline size_t item_size() override
|
inline size_t item_size() override
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -77,12 +79,12 @@ public:
|
||||||
private:
|
private:
|
||||||
gps_l5_telemetry_decoder_gs_sptr telemetry_decoder_;
|
gps_l5_telemetry_decoder_gs_sptr telemetry_decoder_;
|
||||||
Gnss_Satellite satellite_;
|
Gnss_Satellite satellite_;
|
||||||
int channel_;
|
|
||||||
bool dump_;
|
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::string role_;
|
std::string role_;
|
||||||
|
int channel_;
|
||||||
unsigned int in_streams_;
|
unsigned int in_streams_;
|
||||||
unsigned int out_streams_;
|
unsigned int out_streams_;
|
||||||
|
bool dump_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -103,6 +103,7 @@ beidou_b1i_telemetry_decoder_gs::beidou_b1i_telemetry_decoder_gs(
|
||||||
|
|
||||||
beidou_b1i_telemetry_decoder_gs::~beidou_b1i_telemetry_decoder_gs()
|
beidou_b1i_telemetry_decoder_gs::~beidou_b1i_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "BeiDou B1I Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -103,6 +103,7 @@ beidou_b3i_telemetry_decoder_gs::beidou_b3i_telemetry_decoder_gs(
|
||||||
|
|
||||||
beidou_b3i_telemetry_decoder_gs::~beidou_b3i_telemetry_decoder_gs()
|
beidou_b3i_telemetry_decoder_gs::~beidou_b3i_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "BeiDou B3I Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -181,6 +181,7 @@ galileo_telemetry_decoder_gs::galileo_telemetry_decoder_gs(
|
||||||
|
|
||||||
galileo_telemetry_decoder_gs::~galileo_telemetry_decoder_gs()
|
galileo_telemetry_decoder_gs::~galileo_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Galileo Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -96,6 +96,7 @@ glonass_l1_ca_telemetry_decoder_gs::glonass_l1_ca_telemetry_decoder_gs(
|
||||||
|
|
||||||
glonass_l1_ca_telemetry_decoder_gs::~glonass_l1_ca_telemetry_decoder_gs()
|
glonass_l1_ca_telemetry_decoder_gs::~glonass_l1_ca_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Glonass L1 Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -96,6 +96,7 @@ glonass_l2_ca_telemetry_decoder_gs::glonass_l2_ca_telemetry_decoder_gs(
|
||||||
|
|
||||||
glonass_l2_ca_telemetry_decoder_gs::~glonass_l2_ca_telemetry_decoder_gs()
|
glonass_l2_ca_telemetry_decoder_gs::~glonass_l2_ca_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Glonass L2 Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -118,6 +118,7 @@ gps_l1_ca_telemetry_decoder_gs::gps_l1_ca_telemetry_decoder_gs(
|
||||||
|
|
||||||
gps_l1_ca_telemetry_decoder_gs::~gps_l1_ca_telemetry_decoder_gs()
|
gps_l1_ca_telemetry_decoder_gs::~gps_l1_ca_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GPS L1 C/A Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -80,6 +80,7 @@ gps_l2c_telemetry_decoder_gs::gps_l2c_telemetry_decoder_gs(
|
||||||
|
|
||||||
gps_l2c_telemetry_decoder_gs::~gps_l2c_telemetry_decoder_gs()
|
gps_l2c_telemetry_decoder_gs::~gps_l2c_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GPS L2C Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -75,6 +75,7 @@ gps_l5_telemetry_decoder_gs::gps_l5_telemetry_decoder_gs(
|
||||||
|
|
||||||
gps_l5_telemetry_decoder_gs::~gps_l5_telemetry_decoder_gs()
|
gps_l5_telemetry_decoder_gs::~gps_l5_telemetry_decoder_gs()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GPS L5 Telemetry decoder block (channel " << d_channel << ") destructor called.";
|
||||||
if (d_dump_file.is_open() == true)
|
if (d_dump_file.is_open() == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -195,6 +195,7 @@ void ControlThread::init()
|
||||||
|
|
||||||
ControlThread::~ControlThread() // NOLINT(modernize-use-equals-default)
|
ControlThread::~ControlThread() // NOLINT(modernize-use-equals-default)
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "Control Thread destructor called";
|
||||||
if (msqid_ != -1)
|
if (msqid_ != -1)
|
||||||
{
|
{
|
||||||
msgctl(msqid_, IPC_RMID, nullptr);
|
msgctl(msqid_, IPC_RMID, nullptr);
|
||||||
|
|
|
@ -147,6 +147,10 @@ private:
|
||||||
void keyboard_listener();
|
void keyboard_listener();
|
||||||
void sysv_queue_listener();
|
void sysv_queue_listener();
|
||||||
|
|
||||||
|
std::shared_ptr<ConfigurationInterface> configuration_;
|
||||||
|
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> control_queue_;
|
||||||
|
std::shared_ptr<GNSSFlowgraph> flowgraph_;
|
||||||
|
|
||||||
std::thread cmd_interface_thread_;
|
std::thread cmd_interface_thread_;
|
||||||
std::thread keyboard_thread_;
|
std::thread keyboard_thread_;
|
||||||
std::thread sysv_queue_thread_;
|
std::thread sysv_queue_thread_;
|
||||||
|
@ -156,10 +160,6 @@ private:
|
||||||
boost::thread fpga_helper_thread_;
|
boost::thread fpga_helper_thread_;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::shared_ptr<GNSSFlowgraph> flowgraph_;
|
|
||||||
std::shared_ptr<ConfigurationInterface> configuration_;
|
|
||||||
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> control_queue_;
|
|
||||||
|
|
||||||
// default filename for assistance data
|
// default filename for assistance data
|
||||||
const std::string eph_default_xml_filename_ = "./gps_ephemeris.xml";
|
const std::string eph_default_xml_filename_ = "./gps_ephemeris.xml";
|
||||||
const std::string utc_default_xml_filename_ = "./gps_utc_model.xml";
|
const std::string utc_default_xml_filename_ = "./gps_utc_model.xml";
|
||||||
|
|
|
@ -81,6 +81,7 @@ GNSSFlowgraph::GNSSFlowgraph(std::shared_ptr<ConfigurationInterface> configurati
|
||||||
|
|
||||||
GNSSFlowgraph::~GNSSFlowgraph()
|
GNSSFlowgraph::~GNSSFlowgraph()
|
||||||
{
|
{
|
||||||
|
DLOG(INFO) << "GNSSFlowgraph destructor called";
|
||||||
if (connected_)
|
if (connected_)
|
||||||
{
|
{
|
||||||
GNSSFlowgraph::disconnect();
|
GNSSFlowgraph::disconnect();
|
||||||
|
|
|
@ -176,10 +176,27 @@ private:
|
||||||
|
|
||||||
std::vector<std::string> split_string(const std::string& s, char delim);
|
std::vector<std::string> split_string(const std::string& s, char delim);
|
||||||
|
|
||||||
|
gr::top_block_sptr top_block_;
|
||||||
|
|
||||||
|
std::shared_ptr<ConfigurationInterface> configuration_;
|
||||||
|
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> queue_;
|
||||||
|
|
||||||
std::vector<std::shared_ptr<GNSSBlockInterface>> sig_source_;
|
std::vector<std::shared_ptr<GNSSBlockInterface>> sig_source_;
|
||||||
std::vector<std::shared_ptr<GNSSBlockInterface>> sig_conditioner_;
|
std::vector<std::shared_ptr<GNSSBlockInterface>> sig_conditioner_;
|
||||||
std::vector<gr::blocks::null_sink::sptr> null_sinks_;
|
|
||||||
std::vector<std::shared_ptr<ChannelInterface>> channels_;
|
std::vector<std::shared_ptr<ChannelInterface>> channels_;
|
||||||
|
std::shared_ptr<GNSSBlockInterface> observables_;
|
||||||
|
std::shared_ptr<GNSSBlockInterface> pvt_;
|
||||||
|
|
||||||
|
std::map<std::string, gr::basic_block_sptr> acq_resamplers_;
|
||||||
|
std::vector<gr::blocks::null_sink::sptr> null_sinks_;
|
||||||
|
|
||||||
|
gr::basic_block_sptr GnssSynchroMonitor_;
|
||||||
|
channel_status_msg_receiver_sptr channels_status_; // class that receives and stores the current status of the receiver channels
|
||||||
|
gnss_sdr_sample_counter_sptr ch_out_sample_counter_;
|
||||||
|
#if ENABLE_FPGA
|
||||||
|
gnss_sdr_fpga_sample_counter_sptr ch_out_fpga_sample_counter_;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::vector<unsigned int> channels_state_;
|
std::vector<unsigned int> channels_state_;
|
||||||
|
|
||||||
std::list<Gnss_Signal> available_GPS_1C_signals_;
|
std::list<Gnss_Signal> available_GPS_1C_signals_;
|
||||||
|
@ -207,20 +224,6 @@ private:
|
||||||
evBDS_B3
|
evBDS_B3
|
||||||
};
|
};
|
||||||
std::map<std::string, StringValue> mapStringValues_;
|
std::map<std::string, StringValue> mapStringValues_;
|
||||||
std::map<std::string, gr::basic_block_sptr> acq_resamplers_;
|
|
||||||
|
|
||||||
std::shared_ptr<ConfigurationInterface> configuration_;
|
|
||||||
std::shared_ptr<Concurrent_Queue<pmt::pmt_t>> queue_;
|
|
||||||
std::shared_ptr<GNSSBlockInterface> observables_;
|
|
||||||
std::shared_ptr<GNSSBlockInterface> pvt_;
|
|
||||||
|
|
||||||
gr::top_block_sptr top_block_;
|
|
||||||
gr::basic_block_sptr GnssSynchroMonitor_;
|
|
||||||
channel_status_msg_receiver_sptr channels_status_; // class that receives and stores the current status of the receiver channels
|
|
||||||
gnss_sdr_sample_counter_sptr ch_out_sample_counter_;
|
|
||||||
#if ENABLE_FPGA
|
|
||||||
gnss_sdr_fpga_sample_counter_sptr ch_out_fpga_sample_counter_;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
std::string config_file_;
|
std::string config_file_;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue