48 const std::string &role,
unsigned int in_stream,
51 ~DMASignalSourceFPGA();
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 dyn_bit_sel_device_name = std::string(
"dynamic_bits_selector");
67 const std::string empty_string;
68 const uint64_t default_bandwidth = 12500000;
70 const uint32_t Gain_control_period_ms = 500;
72 const int sample_block_size = 16384;
73 const int32_t switch_to_DMA = 0;
75 void run_DMA_process(
const std::string &filename0,
76 const std::string &filename1,
77 uint64_t &samples_to_skip,
81 uint32_t &dma_buff_offset_pos,
84 void run_dynamic_bit_selection_process();
86 std::thread thread_file_to_dma;
87 std::thread thread_dynamic_bit_selection;
89 std::shared_ptr<Fpga_Switch> switch_fpga;
90 std::shared_ptr<Fpga_dynamic_bit_selection> dynamic_bit_selection_fpga;
91 std::shared_ptr<Fpga_DMA> dma_fpga;
94 std::mutex dynamic_bit_selection_mutex;
98 std::string filename0_;
99 std::string filename1_;
101 uint64_t sample_rate_;
102 uint64_t samples_to_skip_;
104 uint32_t num_input_files_;
105 uint32_t dma_buff_offset_pos_;
107 uint32_t out_stream_;
111 bool enable_dynamic_bit_selection_;