3 * Copyright 2008 Free Software Foundation, Inc.
5 * This file is part of GNU Radio
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
27 #include <usrp2_source_base.h>
28 #include <gr_io_signature.h>
31 usrp2_source_base::usrp2_source_base(const char *name,
32 gr_io_signature_sptr output_signature,
33 const std::string &ifc,
34 const std::string &mac)
35 throw (std::runtime_error)
37 gr_make_io_signature(0, 0, 0),
44 usrp2_source_base::~usrp2_source_base ()
50 usrp2_source_base::set_antenna(int ant)
52 return d_u2->set_rx_antenna(ant);
56 usrp2_source_base::set_gain(double gain)
58 return d_u2->set_rx_gain(gain);
62 usrp2_source_base::set_lo_offset(double frequency)
64 return d_u2->set_rx_lo_offset(frequency);
68 usrp2_source_base::set_center_freq(double frequency, usrp2::tune_result *tr)
70 return d_u2->set_rx_center_freq(frequency, tr);
74 usrp2_source_base::set_decim(int decimation_factor)
76 return d_u2->set_rx_decim(decimation_factor);
80 usrp2_source_base::set_scale_iq(int scale_i, int scale_q)
82 return d_u2->set_rx_scale_iq(scale_i, scale_q);
86 usrp2_source_base::decim()
88 return d_u2->rx_decim();
92 usrp2_source_base::adc_rate(long *rate)
94 return d_u2->adc_rate(rate);
98 usrp2_source_base::gain_min()
100 return d_u2->rx_gain_min();
104 usrp2_source_base::gain_max()
106 return d_u2->rx_gain_max();
110 usrp2_source_base::gain_db_per_step()
112 return d_u2->rx_gain_db_per_step();
116 usrp2_source_base::freq_min()
118 return d_u2->rx_freq_min();
122 usrp2_source_base::freq_max()
124 return d_u2->rx_freq_max();
128 usrp2_source_base::daughterboard_id(int *dbid)
130 return d_u2->rx_daughterboard_id(dbid);
134 usrp2_source_base::overruns()
136 return d_u2->rx_overruns();
140 usrp2_source_base::missing()
142 return d_u2->rx_missing();
146 usrp2_source_base::start()
148 return d_u2->start_rx_streaming(0); // FIXME: someday sources will have channel #s
152 usrp2_source_base::stop()
154 return d_u2->stop_rx_streaming(0); // FIXME: someday sources will have channel #s
158 usrp2_source_base::set_gpio_ddr(uint16_t value, uint16_t mask)
160 return d_u2->set_gpio_ddr(usrp2::GPIO_RX_BANK, value, mask);
164 usrp2_source_base::set_gpio_sels(std::string sels)
166 return d_u2->set_gpio_sels(usrp2::GPIO_RX_BANK, sels);
170 usrp2_source_base::write_gpio(uint16_t value, uint16_t mask)
172 return d_u2->write_gpio(usrp2::GPIO_RX_BANK, value, mask);
176 usrp2_source_base::read_gpio(uint16_t *value)
178 return d_u2->read_gpio(usrp2::GPIO_RX_BANK, value);
182 usrp2_source_base::enable_gpio_streaming(int enable)
184 return d_u2->enable_gpio_streaming(usrp2::GPIO_RX_BANK, enable);