aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/subdev_spec_python.hpp
diff options
context:
space:
mode:
authorPaul David <paul.david@ettus.com>2017-05-02 14:10:05 -0400
committerMartin Braun <martin.braun@ettus.com>2018-06-20 19:02:32 -0500
commite74cf7635ba3360b5b7002a2f7317941f65ffa16 (patch)
tree46b63039f31c5aedf26773b4b626b2a7932999db /host/lib/usrp/subdev_spec_python.hpp
parent22e24497a510c174e6de7718ad918a423d1973dd (diff)
downloaduhd-e74cf7635ba3360b5b7002a2f7317941f65ffa16.tar.gz
uhd-e74cf7635ba3360b5b7002a2f7317941f65ffa16.tar.bz2
uhd-e74cf7635ba3360b5b7002a2f7317941f65ffa16.zip
python: Separating exposed Python data structures
- Separating exposed Python data structures into logical sections - Exposes all of the multi_usrp API - Adds a layer of Python for documentation and adding helper methods - Adds improvements and fixes to the MultiUSRP object - Includes additional exposed data structures (like time_spec_t, etc.) - Add code to release the Python GIL during long C++ calls
Diffstat (limited to 'host/lib/usrp/subdev_spec_python.hpp')
-rw-r--r--host/lib/usrp/subdev_spec_python.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/host/lib/usrp/subdev_spec_python.hpp b/host/lib/usrp/subdev_spec_python.hpp
new file mode 100644
index 000000000..ed91099f9
--- /dev/null
+++ b/host/lib/usrp/subdev_spec_python.hpp
@@ -0,0 +1,37 @@
+//
+// Copyright 2017-2018 Ettus Research, a National Instruments Company
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#ifndef INCLUDED_UHD_USRP_SUBDEV_SPEC_PYTHON_HPP
+#define INCLUDED_UHD_USRP_SUBDEV_SPEC_PYTHON_HPP
+
+#include <uhd/usrp/subdev_spec.hpp>
+
+void export_subdev_spec()
+{
+ using subdev_spec_pair_t = uhd::usrp::subdev_spec_pair_t;
+ using subdev_spec_t = uhd::usrp::subdev_spec_t;
+
+ bp::class_<subdev_spec_pair_t>
+ ("subdev_spec_pair", bp::init<const std::string&, const std::string &>())
+
+ // Properties
+ .add_property("db_name", &subdev_spec_pair_t::db_name)
+ .add_property("sd_name", &subdev_spec_pair_t::sd_name)
+ ;
+
+ bp::class_<std::vector<subdev_spec_pair_t> >("subdev_spec_vector")
+ .def(bp::vector_indexing_suite<std::vector<subdev_spec_pair_t> >());
+
+ bp::class_<subdev_spec_t, bp::bases<std::vector<subdev_spec_pair_t> > >
+ ("subdev_spec", bp::init<const std::string &>())
+
+ // Methods
+ .def("__str__", &subdev_spec_t::to_pp_string)
+ .def("to_string", &subdev_spec_t::to_string)
+ ;
+}
+
+#endif /* INCLUDED_UHD_USRP_SUBDEV_SPEC_PYTHON_HPP */