From 00c3dc29c227b11c86ce3fc1854858e999f5cb76 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Fri, 1 Nov 2019 14:53:16 -0700 Subject: python: Make multi_usrp::get_*_usrp_info() return a Python dict By using the conversion ability to std::map<>, we can make the Python versions of get_?x_usrp_info() return a dict in Python. Sample Python session: >>> import uhd >>> U = uhd.usrp.MultiUsrp(args) >>> U.get_usrp_rx_info() {'mboard_id': 'B200', 'rx_subdev_name': 'FE-RX2', ...} --- host/lib/usrp/multi_usrp_python.hpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'host/lib/usrp/multi_usrp_python.hpp') diff --git a/host/lib/usrp/multi_usrp_python.hpp b/host/lib/usrp/multi_usrp_python.hpp index ef0cb0097..48da794fb 100644 --- a/host/lib/usrp/multi_usrp_python.hpp +++ b/host/lib/usrp/multi_usrp_python.hpp @@ -48,8 +48,18 @@ void export_multi_usrp(py::module& m) .def("set_tx_gain" , (void (multi_usrp::*)(double, const std::string&, size_t)) &multi_usrp::set_tx_gain, py::arg("gain"), py::arg("name"), py::arg("chan") = 0) .def("set_tx_gain" , (void (multi_usrp::*)(double, size_t)) &multi_usrp::set_tx_gain, py::arg("gain"), py::arg("chan") = 0) .def("set_tx_rate" , &multi_usrp::set_tx_rate, py::arg("rate"), py::arg("chan") = ALL_CHANS) - .def("get_usrp_rx_info" , &multi_usrp::get_usrp_rx_info, py::arg("chan") = 0) - .def("get_usrp_tx_info" , &multi_usrp::get_usrp_tx_info, py::arg("chan") = 0) + .def("get_usrp_rx_info", + [](multi_usrp& self, const size_t chan = 0) { + return static_cast>( + self.get_usrp_rx_info(chan)); + }, + py::arg("chan") = 0) + .def("get_usrp_tx_info", + [](multi_usrp& self, const size_t chan = 0) { + return static_cast>( + self.get_usrp_tx_info(chan)); + }, + py::arg("chan") = 0) .def("set_master_clock_rate" , &multi_usrp::set_master_clock_rate, py::arg("rate"), py::arg("mboard") = ALL_MBOARDS) .def("get_master_clock_rate" , &multi_usrp::get_master_clock_rate, py::arg("mboard") = 0) .def("get_master_clock_rate_range", &multi_usrp::get_master_clock_rate_range, py::arg("mboard") = ALL_MBOARDS) -- cgit v1.2.3