aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/property_tree_python.cpp5
-rw-r--r--host/lib/types/types_python.hpp5
2 files changed, 9 insertions, 1 deletions
diff --git a/host/lib/property_tree_python.cpp b/host/lib/property_tree_python.cpp
index 0b7f18aa2..d1c242e01 100644
--- a/host/lib/property_tree_python.cpp
+++ b/host/lib/property_tree_python.cpp
@@ -6,6 +6,7 @@
#include "property_tree_python.hpp"
#include <uhd/property_tree.hpp>
+#include <uhd/types/device_addr.hpp>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <string>
@@ -39,6 +40,7 @@ void export_property_tree(py::module& m)
export_property<double>(m, "double");
export_property<std::string>(m, "str");
export_property<bool>(m, "bool");
+ export_property<uhd::device_addr_t>(m, "device_addr");
py::class_<property_tree>(m, "property_tree")
.def("subtree", &property_tree::subtree, py::arg("path"))
@@ -56,6 +58,9 @@ void export_property_tree(py::module& m)
.def("access_bool",
&property_tree::access<bool>,
py::return_value_policy::reference)
+ .def("access_device_addr",
+ &property_tree::access<uhd::device_addr_t>,
+ py::return_value_policy::reference)
// End of types
;
}
diff --git a/host/lib/types/types_python.hpp b/host/lib/types/types_python.hpp
index 0e5bd3cdc..54d1a2188 100644
--- a/host/lib/types/types_python.hpp
+++ b/host/lib/types/types_python.hpp
@@ -43,7 +43,10 @@ void export_types(py::module& m)
// Methods
.def("__str__", &uhd::device_addr_t::to_pp_string)
.def("to_string", &uhd::device_addr_t::to_string)
- .def("to_pp_string", &uhd::device_addr_t::to_pp_string);
+ .def("to_pp_string", &uhd::device_addr_t::to_pp_string)
+ .def("to_dict", [](uhd::device_addr_t& self) {
+ return static_cast<std::map<std::string, std::string>>(self);
+ });
// This will allow functions in Python that take a device_addr to also take
// a string:
py::implicitly_convertible<std::string, uhd::device_addr_t>();