GNU Radio Radar Toolbox
usrp_echotimer_cc_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2014 Communications Engineering Lab, KIT.
4 *
5 * This is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3, or (at your option)
8 * any later version.
9 *
10 * This software is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this software; see the file COPYING. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street,
18 * Boston, MA 02110-1301, USA.
19 */
20
21#ifndef INCLUDED_RADAR_USRP_ECHOTIMER_CC_IMPL_H
22#define INCLUDED_RADAR_USRP_ECHOTIMER_CC_IMPL_H
23
25
26#include <uhd/usrp/multi_usrp.hpp>
27#include <uhd/utils/thread.hpp>
28
29namespace gr {
30namespace radar {
31
33{
34private:
35 // Nothing to declare in this block.
36
37protected:
38 int calculate_output_stream_length(const gr_vector_int& ninput_items);
39
40public:
42 float center_freq,
43 int num_delay_samps,
44 std::string args_tx,
45 std::string wire_tx,
46 std::string clock_source_tx,
47 std::string time_source_tx,
48 std::string antenna_tx,
49 float gain_tx,
50 float timeout_tx,
51 float wait_tx,
52 float lo_offset_tx,
53 std::string args_rx,
54 std::string wire_rx,
55 std::string clock_source_rx,
56 std::string time_source_rx,
57 std::string antenna_rx,
58 float gain_rx,
59 float timeout_rx,
60 float wait_rx,
61 float lo_offset_rx,
62 const std::string& len_key);
64 void send();
65 void receive();
66 void set_num_delay_samps(int num_samps);
67 void set_rx_gain(float gain);
68 void set_tx_gain(float gain);
69
73 std::vector<gr_complex> d_out_buffer;
74
75 std::string d_args_tx, d_args_rx;
77 std::string d_wire_tx, d_wire_rx;
80 uhd::usrp::multi_usrp::sptr d_usrp_tx, d_usrp_rx;
82 uhd::tx_streamer::sptr d_tx_stream;
83 uhd::rx_streamer::sptr d_rx_stream;
84 uhd::tx_metadata_t d_metadata_tx;
85 uhd::rx_metadata_t d_metadata_rx;
90
91 uhd::time_spec_t d_time_now_tx, d_time_now_rx;
92
93 gr::thread::thread d_thread_recv;
94 gr_complex* d_out_recv;
97
98 gr::thread::thread d_thread_send;
99 gr_complex* d_in_send;
101
102 // Where all the action really happens
103 int work(int noutput_items,
104 gr_vector_int& ninput_items,
105 gr_vector_const_void_star& input_items,
106 gr_vector_void_star& output_items);
107};
108
109} // namespace radar
110} // namespace gr
111
112#endif /* INCLUDED_RADAR_USRP_ECHOTIMER_CC_IMPL_H */
Definition usrp_echotimer_cc_impl.h:33
uhd::usrp::multi_usrp::sptr d_usrp_tx
Definition usrp_echotimer_cc_impl.h:80
usrp_echotimer_cc_impl(int samp_rate, float center_freq, int num_delay_samps, std::string args_tx, std::string wire_tx, std::string clock_source_tx, std::string time_source_tx, std::string antenna_tx, float gain_tx, float timeout_tx, float wait_tx, float lo_offset_tx, std::string args_rx, std::string wire_rx, std::string clock_source_rx, std::string time_source_rx, std::string antenna_rx, float gain_rx, float timeout_rx, float wait_rx, float lo_offset_rx, const std::string &len_key)
uhd::time_spec_t d_time_now_rx
Definition usrp_echotimer_cc_impl.h:91
uhd::tune_request_t d_tune_request_tx
Definition usrp_echotimer_cc_impl.h:81
void set_num_delay_samps(int num_samps)
std::string d_args_tx
Definition usrp_echotimer_cc_impl.h:75
int d_samp_rate
Definition usrp_echotimer_cc_impl.h:70
pmt::pmt_t d_time_key
Definition usrp_echotimer_cc_impl.h:96
gr::thread::thread d_thread_recv
Definition usrp_echotimer_cc_impl.h:93
double d_lo_offset_rx
Definition usrp_echotimer_cc_impl.h:86
float d_gain_rx
Definition usrp_echotimer_cc_impl.h:89
int calculate_output_stream_length(const gr_vector_int &ninput_items)
uhd::tx_streamer::sptr d_tx_stream
Definition usrp_echotimer_cc_impl.h:82
pmt::pmt_t d_time_val
Definition usrp_echotimer_cc_impl.h:96
float d_wait_tx
Definition usrp_echotimer_cc_impl.h:88
std::string d_time_source_tx
Definition usrp_echotimer_cc_impl.h:79
double d_lo_offset_tx
Definition usrp_echotimer_cc_impl.h:86
std::string d_args_rx
Definition usrp_echotimer_cc_impl.h:75
uhd::rx_streamer::sptr d_rx_stream
Definition usrp_echotimer_cc_impl.h:83
pmt::pmt_t d_srcid
Definition usrp_echotimer_cc_impl.h:96
float d_timeout_tx
Definition usrp_echotimer_cc_impl.h:87
uhd::tune_request_t d_tune_request_rx
Definition usrp_echotimer_cc_impl.h:81
float d_center_freq
Definition usrp_echotimer_cc_impl.h:71
std::string d_antenna_tx
Definition usrp_echotimer_cc_impl.h:78
std::string d_time_source_rx
Definition usrp_echotimer_cc_impl.h:79
int work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
std::string d_wire_rx
Definition usrp_echotimer_cc_impl.h:77
float d_timeout_rx
Definition usrp_echotimer_cc_impl.h:87
int d_noutput_items_recv
Definition usrp_echotimer_cc_impl.h:95
uhd::time_spec_t d_time_now_tx
Definition usrp_echotimer_cc_impl.h:91
uhd::usrp::multi_usrp::sptr d_usrp_rx
Definition usrp_echotimer_cc_impl.h:80
float d_gain_tx
Definition usrp_echotimer_cc_impl.h:89
std::string d_wire_tx
Definition usrp_echotimer_cc_impl.h:77
std::string d_antenna_rx
Definition usrp_echotimer_cc_impl.h:78
gr_complex * d_in_send
Definition usrp_echotimer_cc_impl.h:99
std::string d_clock_source_tx
Definition usrp_echotimer_cc_impl.h:76
gr_complex * d_out_recv
Definition usrp_echotimer_cc_impl.h:94
int d_num_delay_samps
Definition usrp_echotimer_cc_impl.h:72
gr::thread::thread d_thread_send
Definition usrp_echotimer_cc_impl.h:98
std::vector< gr_complex > d_out_buffer
Definition usrp_echotimer_cc_impl.h:73
uhd::tx_metadata_t d_metadata_tx
Definition usrp_echotimer_cc_impl.h:84
uhd::rx_metadata_t d_metadata_rx
Definition usrp_echotimer_cc_impl.h:85
std::string d_clock_source_rx
Definition usrp_echotimer_cc_impl.h:76
int d_noutput_items_send
Definition usrp_echotimer_cc_impl.h:100
float d_wait_rx
Definition usrp_echotimer_cc_impl.h:88
<+description of block+>
Definition usrp_echotimer_cc.h:36
Definition crop_matrix_vcvc.h:28