LimeDriverBindings/README.md
Kumi bee60673fb
Add README with setup and usage instructions for
Python bindings

Introduce a comprehensive README for the Python bindings project of the
LimeDriver library. The README includes required dependencies for both
Debian/Ubuntu and Arch Linux systems, and a step-by-step guide to
creating a virtual environment, installing the package using pip, and a
basic usage example with Python code demonstrating how to interact with
the LimeDriver library. Documentation facilitates easier onboarding and
usage of the Python bindings for new users.
2024-02-10 14:56:32 +01:00

63 lines
1.3 KiB
Markdown

# Python Bindings for LimeDriver
This is a Python package for the [LimeDriver](https://github.com/nqrduck/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
```bash
sudo apt-get install g++ cmake libhdf5-dev liblimesuite-dev python3-dev python3-pip python3-venv
```
### Arch Linux
```bash
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:
```bash
python3 -m venv venv
source venv/bin/activate
```
The Python bindings can be installed using pip:
```bash
pip install .
```
## Usage
The Python bindings provide a high-level interface to the LimeDriver library:
```python
# 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()
```