diff options
Diffstat (limited to 'host')
| -rw-r--r-- | host/lib/device_python.cpp | 19 | ||||
| -rw-r--r-- | host/lib/device_python.hpp | 9 | ||||
| -rw-r--r-- | host/python/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | host/python/pyuhd.cpp | 4 | ||||
| -rw-r--r-- | host/python/uhd/__init__.py | 1 | 
5 files changed, 34 insertions, 0 deletions
| diff --git a/host/lib/device_python.cpp b/host/lib/device_python.cpp new file mode 100644 index 000000000..43147a09c --- /dev/null +++ b/host/lib/device_python.cpp @@ -0,0 +1,19 @@ +// +// Copyright 2020 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#include <pybind11/complex.h> +#include <pybind11/pybind11.h> +#include <pybind11/stl.h> + +namespace py = pybind11; + +#include "device_python.hpp" +#include <uhd/device.hpp> + +void export_device(py::module& m) +{ +    m.def("find", [](const uhd::device_addr_t& hint) { return uhd::device::find(hint); }); +} diff --git a/host/lib/device_python.hpp b/host/lib/device_python.hpp new file mode 100644 index 000000000..1cc0445cd --- /dev/null +++ b/host/lib/device_python.hpp @@ -0,0 +1,9 @@ +// +// Copyright 2020 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#pragma once + +void export_device(py::module& m); diff --git a/host/python/CMakeLists.txt b/host/python/CMakeLists.txt index 1e9fefa43..234870c5f 100644 --- a/host/python/CMakeLists.txt +++ b/host/python/CMakeLists.txt @@ -32,6 +32,7 @@ execute_process(  add_library(pyuhd SHARED      pyuhd.cpp      ${CMAKE_SOURCE_DIR}/lib/property_tree_python.cpp +    ${CMAKE_SOURCE_DIR}/lib/device_python.cpp      ${CMAKE_SOURCE_DIR}/lib/usrp/multi_usrp_python.cpp  )  # python expects extension modules with a particular suffix diff --git a/host/python/pyuhd.cpp b/host/python/pyuhd.cpp index eadb88d40..ca06f2d97 100644 --- a/host/python/pyuhd.cpp +++ b/host/python/pyuhd.cpp @@ -14,6 +14,7 @@  namespace py = pybind11;  #include "cal/cal_python.hpp" +#include "device_python.hpp"  #include "property_tree_python.hpp"  #include "rfnoc/ddc_block_control_python.hpp"  #include "rfnoc/duc_block_control_python.hpp" @@ -61,6 +62,9 @@ PYBIND11_MODULE(libpyuhd, m)      // (otherwise we will see segmentation faults)      init_numpy(); +    // Register uhd::device::find +    export_device(m); +      // Register paths submodule      auto paths_module = m.def_submodule("paths", "Path Utilities");      export_paths(paths_module); diff --git a/host/python/uhd/__init__.py b/host/python/uhd/__init__.py index bf11ac513..bfbe9a57f 100644 --- a/host/python/uhd/__init__.py +++ b/host/python/uhd/__init__.py @@ -14,6 +14,7 @@ from . import rfnoc  from . import dsp  from . import chdr  from .libpyuhd.paths import * +from .libpyuhd import find  from .property_tree import PropertyTree | 
