diff options
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/property_tree_python.cpp | 5 | ||||
-rw-r--r-- | host/lib/types/types_python.hpp | 5 |
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>(); |