diff options
| -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>(); | 
