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.
24 #include "usrp_source_base.h"
27 class usrp_source_base : public usrp_base
30 usrp_source_base() throw (std::runtime_error);
33 bool set_decim_rate (unsigned int rate);
34 bool set_nchannels (int nchan);
35 bool set_mux (int mux);
36 %rename(_real_determine_rx_mux_value) determine_rx_mux_value;
37 int determine_rx_mux_value(usrp_subdev_spec ss);
38 int determine_rx_mux_value(usrp_subdev_spec ss_a, usrp_subdev_spec ss_b);
39 bool set_rx_freq (int channel, double freq);
40 bool set_fpga_mode (int mode);
41 bool set_ddc_phase(int channel, int phase);
42 long adc_rate() const { return converter_rate(); }
43 long adc_freq() const { return converter_rate(); }
44 unsigned int decim_rate () const;
45 int nchannels () const;
47 double rx_freq (int channel) const;
48 int noverruns () const { return d_noverruns; }
49 bool has_rx_halfband();
50 bool has_tx_halfband();
53 bool set_format(unsigned int format);
54 static unsigned int make_format(int width=16, int shift=0,
55 bool want_q=true, bool bypass_halfband=false);
56 static int format_width(unsigned int format);
57 static int format_shift(unsigned int format);
58 static bool format_want_q(unsigned int format);
59 static bool format_bypass_halfband(unsigned int format);
60 %rename(_real_tune) tune;
61 bool tune(int chan, db_base_sptr db, double target_freq, usrp_tune_result *result);
62 %rename(_real_pick_rx_subdevice) pick_rx_subdevice();
63 usrp_subdev_spec pick_rx_subdevice();