21 #ifndef GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H 22 #define GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H 41 const std::string &role,
unsigned int in_stream,
46 inline std::string role()
override 56 return "Ad9361_Fpga_Signal_Source";
59 inline size_t item_size()
override 64 void connect(gr::top_block_sptr top_block)
override;
65 void disconnect(gr::top_block_sptr top_block)
override;
66 gr::basic_block_sptr get_left_block()
override;
67 gr::basic_block_sptr get_right_block()
override;
71 static const uint32_t Gain_control_period_ms = 500;
73 void run_DMA_process(
const std::string &FreqBand,
74 const std::string &Filename1,
75 const std::string &Filename2);
77 void run_dynamic_bit_selection_process(
void);
79 std::thread thread_file_to_dma;
80 std::thread thread_dynamic_bit_selection;
82 std::shared_ptr<Fpga_Switch> switch_fpga;
83 std::shared_ptr<Fpga_dynamic_bit_selection> dynamic_bit_selection_fpga;
88 std::string gain_mode_rx1_;
89 std::string gain_mode_rx2_;
90 std::string rf_port_select_;
91 std::string filter_file_;
92 std::string filter_source_;
93 std::string filter_filename_;
94 std::string filename_rx1;
95 std::string filename_rx2;
96 std::string freq_band;
101 uint64_t sample_rate_;
107 double scale_dds_dbfs_;
108 double phase_dds_deg_;
109 double tx_attenuation_db_;
110 uint64_t freq_rf_tx_hz_;
111 uint64_t freq_dds_tx_hz_;
112 uint64_t tx_bandwidth_;
115 uint32_t out_stream_;
116 int32_t switch_position;
126 bool enable_dynamic_bit_selection_;
129 std::mutex dma_mutex;
130 std::mutex dynamic_bit_selection_mutex;
133 #endif // GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H
Interface of a thread-safe std::queue.
This interface represents a GNSS block.
This abstract class represents an interface to configuration parameters.
Switch that connects the HW accelerator queues to the analog front end or the DMA.
This abstract class represents an interface to GNSS blocks.
Dynamic bit selection in the received signal.
std::string implementation() override
Returns "Ad9361_Fpga_Signal_Source".