18 #ifndef GNSS_SDR_BASE_DLL_PLL_TRACKING_FPGA_H 19 #define GNSS_SDR_BASE_DLL_PLL_TRACKING_FPGA_H 44 const std::string&
role,
45 unsigned int in_streams,
46 unsigned int out_streams);
57 std::string
role()
override {
return role_; }
62 size_t item_size()
override {
return sizeof(int16_t); }
67 void connect(gr::top_block_sptr top_block)
override;
72 void disconnect(gr::top_block_sptr top_block)
override;
112 static const int32_t LOCAL_CODE_FPGA_ENABLE_WRITE_MEMORY = 0x0C000000;
113 static const int32_t LOCAL_CODE_FPGA_CORRELATOR_SELECT_COUNT = 0x20000000;
116 inline const Dll_Pll_Conf_Fpga& config_params_fpga()
const {
return trk_params_; }
119 dll_pll_veml_tracking_fpga_sptr tracking_fpga_sc_sptr_;
123 inline static const std::map<std::string, std::string> signal_to_device_ = {
124 {
"1C",
"multicorrelator_resampler_S00_AXI"},
125 {
"2S",
"multicorrelator_resampler_S00_AXI"},
126 {
"L5",
"multicorrelator_resampler_3_1_AXI"},
127 {
"1B",
"multicorrelator_resampler_5_1_AXI"},
128 {
"5X",
"multicorrelator_resampler_3_1_AXI"},
131 inline static const std::map<std::string, std::string> signal_to_alternative_device_ = {
132 {
"1C",
"multicorrelator_resampler_5_1_AXI"}};
135 inline static std::map<std::string, int> channel_counts_;
137 void set_signal_channel_base_index_locked_();
138 uint32_t get_num_alternative_devices_locked_()
const;
141 const std::string role_;
143 std::string device_name_;
145 inline static std::mutex channel_counts_mtx_;
148 uint32_t signal_base_channel_index_;
153 #endif // GNSS_SDR_BASE_DLL_PLL_TRACKING_FPGA_H void configure_fpga_tracking_channel_mapping(std::string signal)
configure FPGA tracking channel mapping
gr::basic_block_sptr get_right_block() override
Get right block from the Tracking block adapter.
Implementation of a code DLL + carrier PLL tracking block using an FPGA.
void start_tracking() override
Start the tracking process in the FPGA.
Class that contains all the configuration parameters for generic tracking block based on a DLL and a ...
gr::basic_block_sptr get_left_block() override
Get left block from the Tracking block adapter.
BaseDllPllTrackingFpga(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams)
Base constructor of FPGA-based Tracking block adapters.
virtual ~BaseDllPllTrackingFpga()=default
Base destructor of FPGA-based Tracking block adapters.
This is the class that contains the information that is shared by the processing blocks.
This abstract class represents an interface to configuration parameters.
size_t item_size() override
Get item_size from the Tracking block adapter.
void set_channel(unsigned int channel) override
Set tracking channel unique ID.
This abstract class represents an interface to a tracking block.
void connect(gr::top_block_sptr top_block) override
Connect the Tracking block adapter.
std::string role() override
Get role from the Tracking block adapter.
void disconnect(gr::top_block_sptr top_block) override
Disconnect the Tracking block adapter.
void set_gnss_synchro(Gnss_Synchro *p_gnss_synchro) override
Set acquisition/tracking common Gnss_Synchro object pointer to efficiently exchange synchronization d...
void stop_tracking() override
Stop the tracking process in the FPGA.
This class represents an interface to a tracking block.