50 const std::string &role,
unsigned int in_stream,
53 ~Adrv9361z7035SignalSourceFPGA();
55 inline size_t item_size()
override
60 void connect(gr::top_block_sptr top_block)
override;
61 void disconnect(gr::top_block_sptr top_block)
override;
62 gr::basic_block_sptr get_left_block()
override;
63 gr::basic_block_sptr get_right_block()
override;
66 const std::string default_dump_filename = std::string(
"FPGA_buffer_monitor_dump.dat");
67 const std::string default_rf_port_select = std::string(
"A_BALANCED");
68 const std::string default_gain_mode = std::string(
"slow_attack");
69 const double default_tx_attenuation_db = -10.0;
70 const double default_manual_gain_rx1 = 64.0;
71 const double default_manual_gain_rx2 = 64.0;
72 const uint64_t default_bandwidth = 12500000;
75 const uint32_t Gain_control_period_ms = 500;
77 const uint32_t buffer_monitor_period_ms = 1000;
79 const uint32_t buffer_monitoring_initial_delay_ms = 2000;
80 const int32_t switch_to_real_time_mode = 2;
82 void run_dynamic_bit_selection_process();
83 void run_buffer_monitor_process();
85 mutable std::mutex dynamic_bit_selection_mutex;
86 mutable std::mutex buffer_monitor_mutex;
88 std::thread thread_dynamic_bit_selection;
89 std::thread thread_buffer_monitor;
91 std::shared_ptr<Fpga_Switch> switch_fpga;
92 std::shared_ptr<Fpga_dynamic_bit_selection> dynamic_bit_selection_fpga;
93 std::shared_ptr<Fpga_buffer_monitor> buffer_monitor_fpga;
95 std::string gain_mode_rx1_;
96 std::string gain_mode_rx2_;
97 std::string rf_port_select_;
98 std::string filter_file_;
99 std::string filter_source_;
100 std::string filter_filename_;
104 double scale_dds_dbfs_;
105 double phase_dds_deg_;
106 double tx_attenuation_db_;
109 uint64_t sample_rate_;
111 uint64_t freq_dds_tx_hz_;
112 uint64_t freq_rf_tx_hz_;
113 uint64_t tx_bandwidth_;
118 uint32_t out_stream_;
128 bool enable_dynamic_bit_selection_;
129 bool enable_ovf_check_buffer_monitor_active_;