Python bindings for the LimeDriver
Find a file
2024-04-23 06:22:03 +02:00
.github/workflows Splitting up deployment into different workflow files to avoid timeout. 2024-04-23 06:22:03 +02:00
extern Update limedriver submodule to latest commit 2024-02-17 18:21:04 +01:00
src/limedriver Removed matplotlib dependency. 2024-04-21 19:47:58 +02:00
.gitignore Enhance package build process 2024-02-08 15:19:25 +01:00
.gitmodules Update LimeDriver submodule URL to HTTPS 2024-02-10 18:17:46 +01:00
build_wheel.sh Removed sudo. 2024-04-22 13:24:17 +02:00
LICENSE Update LICENSE 2024-02-10 14:56:32 +01:00
MANIFEST.in Enhance package build process 2024-02-08 15:19:25 +01:00
pyproject.toml Removed ... interesting build targets. 2024-04-21 20:41:34 +02:00
README.md Updated README with submodule init instructions 2024-02-10 15:00:57 +01:00
setup.py Updated CXX env var and removed redundant 2024-02-10 20:00:27 +01:00

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

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.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()