mirror of
https://github.com/nqrduck/LimeDriverBindings.git
synced 2024-11-05 18:20:03 +00:00
Python bindings for the LimeDriver
4d9a980471
Fix Arch CI build error by installing system expat |
||
---|---|---|
.github/workflows | ||
extern | ||
src/limedriver | ||
.gitignore | ||
.gitmodules | ||
build_wheel.sh | ||
LICENSE | ||
MANIFEST.in | ||
pyproject.toml | ||
README.md | ||
setup.py |
Python Bindings for LimeDriver
This is a Python package for the LimeDriver library.
Dependencies
To build the Python bindings, you will need to have the dependencies for LimeDriver installed, as well as the Python development headers.
Debian/Ubuntu
sudo apt-get install g++ cmake libhdf5-dev liblimesuite-dev python3-dev python3-pip python3-venv
Arch Linux
sudo pacman -S gcc cmake hdf5 limesuite python python-pip
Installation
It is recommended to install the Python bindings in a virtual environment. To create a new virtual environment, run the following commands:
python3 -m venv venv
source venv/bin/activate
You can install the Python bindings using pip:
pip install limedriver
Alternatively you can clone the repository and install the Python bindings from source:
git clone <this-repo-url>
cd LimeDriverBindings
Ensure that the LimeDriver submodule is initialized:
git submodule update --init
Now, the Python bindings can be built and installed using pip:
pip install .
Usage
The Python bindings provide a high-level interface to the LimeDriver library:
# Import the LimeDriver module
import limedriver
# Set the number of pulses to generate
Npulses = 1000
# Create a new PyLimeConfig object
config = limedriver.binding.PyLimeConfig(Npulses)
# Modify the config as needed
config.srate = 1e6
# Execute the config on the LimeSDR
config.run()
# Get the path to the output file
filename = config.get_path()
# Use the built-in HDF5 reader to read the output file
data = limedriver.hdf_reader.HDF(filename)
data.print_params()