summaryrefslogtreecommitdiff
path: root/gr-usrp/src/usrp_source_base.i
diff options
context:
space:
mode:
Diffstat (limited to 'gr-usrp/src/usrp_source_base.i')
-rw-r--r--gr-usrp/src/usrp_source_base.i63
1 files changed, 63 insertions, 0 deletions
diff --git a/gr-usrp/src/usrp_source_base.i b/gr-usrp/src/usrp_source_base.i
new file mode 100644
index 0000000000..6a70c74129
--- /dev/null
+++ b/gr-usrp/src/usrp_source_base.i
@@ -0,0 +1,63 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2008 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+%{
+#include "usrp_source_base.h"
+%}
+
+class usrp_source_base : public usrp_base
+{
+private:
+ usrp_source_base() throw (std::runtime_error);
+
+public:
+ bool set_decim_rate (unsigned int rate);
+ bool set_nchannels (int nchan);
+ bool set_mux (int mux);
+ %rename(_real_determine_rx_mux_value) determine_rx_mux_value;
+ int determine_rx_mux_value(usrp_subdev_spec ss);
+ bool set_rx_freq (int channel, double freq);
+ bool set_fpga_mode (int mode);
+ bool set_ddc_phase(int channel, int phase);
+ long adc_rate() const { return converter_rate(); }
+ long adc_freq() const { return converter_rate(); }
+ unsigned int decim_rate () const;
+ int nchannels () const;
+ int mux () const;
+ double rx_freq (int channel) const;
+ int noverruns () const { return d_noverruns; }
+ bool has_rx_halfband();
+ bool has_tx_halfband();
+ int nddcs();
+ int nducs();
+ bool set_format(unsigned int format);
+ static unsigned int make_format(int width=16, int shift=0,
+ bool want_q=true, bool bypass_halfband=false);
+ static int format_width(unsigned int format);
+ static int format_shift(unsigned int format);
+ static bool format_want_q(unsigned int format);
+ static bool format_bypass_halfband(unsigned int format);
+ %rename(_real_tune) tune;
+ bool tune(int chan, db_base_sptr db, double target_freq, usrp_tune_result *result);
+ %rename(_real_pick_rx_subdevice) pick_rx_subdevice();
+ usrp_subdev_spec pick_rx_subdevice();
+};