Commit graph

25 commits

Author SHA1 Message Date
Aaron Rossetto
fec41cd6a1 python: Add siggen RFNoC block controller bindings 2020-07-30 13:03:16 -05:00
Jesse Zhang
aca52b7002 python: Add Switchboard block python bindings 2020-07-30 12:51:11 -05:00
mattprost
1ec7380cf7 python: Add moving average RFNoC block controller bindings
Signed-off-by: mattprost <matt.prost@ni.com>
2020-07-16 12:14:49 -05:00
Samuel O'Brien
919a147afc python: Add bindings for C++ CHDR Parser
This commit adds pybind11 glue code for the userland chdr parsing code
introduced in the uhd::utils::chdr namespace. Additionally, it moves
some pybind11 adapter code to a common pybind_adaptors.hpp file which
originally existed in the cal_python.hpp file.

This commit also adds unit tests for the python bindings using a
captured wireshark trace which is located in rfnoc_packets_*.py and some
handwritten packets in hardcoded_packets.py

Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
2020-07-16 09:59:25 -05:00
Aaron Rossetto
f2509fd88c python: Add window RFNoC block controller bindings 2020-06-29 13:41:15 -05:00
Aaron Rossetto
19f19c77a9 python: Add FFT RFNoC block controller bindings 2020-06-18 07:48:25 -05:00
Aaron Rossetto
65578ebd05 python: Add null RFNoC block controller bindings 2020-06-09 07:12:15 -05:00
Aaron Rossetto
378287b381 python: Add vector IIR RFNoC block controller bindings 2020-06-09 07:12:15 -05:00
Aaron Rossetto
18460e3478 python: Add radio RFNoC block controller bindings 2020-06-09 07:10:57 -05:00
Aaron Rossetto
87ba553c3f python: Add FIR filter RFNoC block controller bindings 2020-06-09 07:09:34 -05:00
Aaron Rossetto
1117ef6cf0 python: Add Fosphor RFNoC block controller bindings 2020-06-09 07:09:34 -05:00
Aaron Rossetto
5d861ec14f python: Add DUC RFNoC block controller bindings 2020-06-09 07:09:34 -05:00
Aaron Rossetto
463dbf9ac3 python: Add DDC RFNoC block controller bindings 2020-06-09 07:09:34 -05:00
Martin Braun
3fe5ccf700 uhd: cal: Add iq_cal calibration data container class
This class can be used to store calibration coefficients for the X300
DC offset and IQ imbalance calibration.

Note: This also modifies Doxyfile.in to not document files generated by
flatc.
2020-04-02 11:55:17 -05:00
Martin Braun
e806238b27 python: Export UHD paths utility functions
All of the functions defined in uhd/utils/paths.hpp are now available in
Python, with the exception of get_module_paths().

    #!/usr/bin/env python3
    import uhd
    print(uhd.get_lib_path()) # Prints location of libuhd
2020-03-12 07:27:46 -05:00
Martin Braun
f8d3fe4109 python: Remove Python2-specific code 2020-03-12 07:27:46 -05:00
Martin Braun
876d4150aa uhd: Apply clang-format against all .cpp and .hpp files in host/
Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of
files that clang-format gets applied against.
2020-03-03 08:51:32 -06:00
Brent Stapleton
400b00c343 rfnoc: adding RFNoC Python API
Adding Python bindings for the RFNoC API. This includes the
rfnoc_graph, noc_block_base, and several other supporting classes.

Templated functions are not currently supported. For example,
`rfnoc_graph::get_block` can only return the basic block controller.
2020-01-02 15:38:56 -08:00
Martin Braun
1fe98e8701 uhd: Replace usage of boost smart pointers with C++11 counterparts
This removes the following Boost constructs:
- boost::shared_ptr, boost::weak_ptr
- boost::enable_shared_from_this
- boost::static_pointer_cast, boost::dynamic_pointer_cast

The appropriate includes were also removed. All C++11 versions of these
require #include <memory>.
Note that the stdlib and Boost versions have the exact same syntax, they
only differ in the namespace (boost vs. std). The modifications were all
done using sed, with the exception of boost::scoped_ptr, which was
replaced by std::unique_ptr.

References to boost::smart_ptr were also removed.

boost::intrusive_ptr is not removed in this commit, since it does not
have a 1:1 mapping to a C++11 construct.
2019-11-26 12:21:32 -08:00
erickshepherdNI
ebb06c983a python: Included complex.h to allow pybind to convert that data type 2019-11-01 16:35:33 -07:00
Martin Braun
692ddc71b1 python: Replace Boost.Python with PyBind11
This does not change the Python API itself, but it is still
a significant change. Most importantly, it removes the dependency on
Boost.Python.
2019-02-22 16:56:52 -08:00
Brent Stapleton
32457928dd python: Add sync source to Python API
Exposing getters, setters, and options for multi_usrp sync source.
2018-11-29 09:50:02 -08:00
Marcus Müllr
89eac133ea python: Fixing Boost.Python initializer visibility
With Boost 1.64 to 1.65 (which, of course, Ubuntu LTS ships), the
`PyInit_Libraryname` are invisible when one sets the default visibility
to "hidden" (which is reasonable, and which we do).
2018-08-03 16:26:33 -07:00
Paul David
e74cf7635b python: Separating exposed Python data structures
- Separating exposed Python data structures into logical sections
- Exposes all of the multi_usrp API
- Adds a layer of Python for documentation and adding helper methods
- Adds improvements and fixes to the MultiUSRP object
- Includes additional exposed data structures (like time_spec_t, etc.)
- Add code to release the Python GIL during long C++ calls
2018-06-20 19:02:32 -05:00
Andrej Rode
22e24497a5 python: Initial commit of Python API
Initial commit of the Python API using Boost.Python. Bind the
MultiUSRP API for use in Python. Bindings intended to provide as
complete coverage as possible.
- Wrap most multi_usrp calls
- Adding multi channel send/recv examples in examples/python
- Adding setuptools support
- Initial attempt at binding the UHD types and filters
2018-06-20 19:02:32 -05:00