19 #ifndef GNSS_SDR_AD936X_IIO_SOURCE_H 20 #define GNSS_SDR_AD936X_IIO_SOURCE_H 26 #include <gnuradio/block.h> 45 using ad936x_iio_source_sptr = gnss_shared_ptr<ad936x_iio_source>;
47 ad936x_iio_source_sptr ad936x_iio_make_source_sptr(
48 const std::string &pluto_uri_,
49 const std::string &board_type_,
53 const std::string &rf_port_select_,
54 const std::string &rf_filter,
55 const std::string &gain_mode_rx0_,
56 const std::string &gain_mode_rx1_,
63 bool customsamplesize_,
64 const std::string &fe_ip_,
69 double lo_attenuation_db_,
87 int general_work(
int noutput_items,
88 gr_vector_int &ninput_items,
89 gr_vector_const_void_star &input_items,
90 gr_vector_void_star &output_items);
93 friend ad936x_iio_source_sptr ad936x_iio_make_source_sptr(
94 const std::string &pluto_uri_,
95 const std::string &board_type_,
99 const std::string &rf_port_select_,
100 const std::string &rf_filter,
101 const std::string &gain_mode_rx0_,
102 const std::string &gain_mode_rx1_,
109 bool customsamplesize_,
110 const std::string &fe_ip_,
115 double lo_attenuation_db_,
120 const std::string &pluto_uri_,
121 const std::string &board_type_,
123 int64_t sample_rate_,
125 const std::string &rf_port_select_,
126 const std::string &rf_filter,
127 const std::string &gain_mode_rx0_,
128 const std::string &gain_mode_rx1_,
135 bool customsamplesize_,
136 const std::string &fe_ip_,
141 double lo_attenuation_db_,
145 void ad9361_channel_demux_to_buffer(
ad936x_iio_samples *samples_in,
int nchannels, gr_vector_void_star &output_items);
146 void ad9361_channel_demux_and_record(
ad936x_iio_samples *samples_in,
int nchannels, std::vector<std::fstream> *files_out);
148 std::thread pps_rx_thread;
149 std::unique_ptr<ad936x_iio_custom> ad936x_custom;
150 std::shared_ptr<pps_tcp_rx> pps_rx;
151 std::shared_ptr<Concurrent_Queue<PpsSamplestamp>> ppsqueue;
153 std::vector<std::fstream> samplesfile;
159 #endif // GNSS_SDR_AD936X_IIO_SOURCE_H Interface of a thread-safe std::queue.
This interface represents a GNSS block.
bool start()
start the sample transmission
TCP client class for front-end PPS samplestamp information reception.
This class implements conversion between Labsat 2, 3 and 3 Wideband formats to gr_complex.
A direct IIO custom front-end driver for the AD936x AD front-end family with special FPGA custom func...
bool stop()
stop the sample transmission