diff options
author | jcorgan | 2008-09-08 01:00:12 +0000 |
---|---|---|
committer | jcorgan | 2008-09-08 01:00:12 +0000 |
commit | e0fcbaee124d3e8c4c11bdda662f88e082352058 (patch) | |
tree | a51ef1c8b949681f45e5664478e8515065cfff5b /gr-usrp2/src/usrp2.i | |
parent | c86f6c23c6883f73d953d64c28ab42cedb77e4d7 (diff) | |
download | gnuradio-e0fcbaee124d3e8c4c11bdda662f88e082352058.tar.gz gnuradio-e0fcbaee124d3e8c4c11bdda662f88e082352058.tar.bz2 gnuradio-e0fcbaee124d3e8c4c11bdda662f88e082352058.zip |
Merged r9433:9527 from features/gr-usrp2 into trunk. Adds usrp2 and gr-usrp2 top-level components. Trunk passes distcheck with mb-gcc installed, but currently not without them. The key issue is that when mb-gcc is not installed, the build system skips over the usrp2/firmware directory, and the firmware include files don't get put into the dist tarball. But we can't do the usual DIST_SUBDIRS method as the firmware is a subpackage.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9528 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gr-usrp2/src/usrp2.i')
-rw-r--r-- | gr-usrp2/src/usrp2.i | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/gr-usrp2/src/usrp2.i b/gr-usrp2/src/usrp2.i new file mode 100644 index 000000000..fba6c18e3 --- /dev/null +++ b/gr-usrp2/src/usrp2.i @@ -0,0 +1,146 @@ +/* -*- 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. + */ + +%feature("autodoc", "1"); // generate python docstrings + +%include "exception.i" +%import "gnuradio.i" // the common stuff + +%{ +#include <gnuradio_swig_bug_workaround.h> +//#include "usrp2_sink_32fc.h" +#include "usrp2_source_16sc.h" +#include "usrp2_source_32fc.h" +%} + +%include <usrp2/tune_result.h> + +#if 0 +// ---------------------------------------------------------------- + +class usrp2_sink_base : public gr_sync_block { + +protected: + usrp2_sink_base(const std::string &name, + gr_io_signature_sptr input_signature) + throw (std::runtime_error); + +public: + ~usrp2_sink_base(); + +}; + +// ---------------------------------------------------------------- + +GR_SWIG_BLOCK_MAGIC(usrp2,sink_32fc) + +usrp2_sink_32fc_sptr +usrp2_make_sink_32fc() throw (std::runtime_error); + +class usrp2_sink_32fc : public usrp2_sink_base { + +protected: + usrp2_sink_32fc(); + +public: + ~usrp2_sink_32fc(); + +}; +#endif + +// ---------------------------------------------------------------- + +class usrp2_source_base : public gr_sync_block { + +protected: + usrp2_source_base(const char *name, + gr_io_signature_sptr output_signature) + throw (std::runtime_error); + +public: + ~usrp2_source_base(); +}; + +// ---------------------------------------------------------------- + +GR_SWIG_BLOCK_MAGIC(usrp2,source_32fc) + +usrp2_source_32fc_sptr +usrp2_make_source_32fc(const std::string ifc, const std::string mac) + throw (std::runtime_error); + +class usrp2_source_32fc : public usrp2_source_base { + +protected: + usrp2_source_32fc(const std::string &ifc, const std::string &mac); + +public: + ~usrp2_source_32fc(); + + bool set_gain(double gain); + %rename(_real_set_center_freq) set_center_freq; + bool set_center_freq(double frequency, usrp2::tune_result *r); + bool set_decim(int decimation_factor); + + std::string mac_addr(); +}; + +// ---------------------------------------------------------------- + +GR_SWIG_BLOCK_MAGIC(usrp2,source_16sc) + +usrp2_source_16sc_sptr +usrp2_make_source_16sc(const std::string ifc, const std::string mac) + throw (std::runtime_error); + +class usrp2_source_16sc : public usrp2_source_base { + +protected: + usrp2_source_16sc(const std::string &ifc, const std::string &mac); + +public: + ~usrp2_source_16sc(); + + bool set_gain(double gain); + %rename(_real_set_center_freq) set_center_freq; + bool set_center_freq(double frequency, usrp2::tune_result *r); + bool set_decim(int decimation_factor); + + std::string mac_addr(); +}; + +// ---------------------------------------------------------------- + +// create a more pythonic interface +%pythoncode %{ + +def __set_center_freq(self, freq): + tr = tune_result() + r = self._real_set_center_freq(freq, tr) + if r: + return tr + else: + return None + +usrp2_source_32fc_sptr.set_center_freq = __set_center_freq +usrp2_source_16sc_sptr.set_center_freq = __set_center_freq +%} |