2024-02-10 13:56:32 +00:00
|
|
|
# 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
|
|
|
|
```
|
|
|
|
|
2024-02-10 14:00:57 +00:00
|
|
|
Ensure that the LimeDriver submodule is initialized:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git submodule update --init
|
|
|
|
```
|
|
|
|
|
|
|
|
Now, the Python bindings can be built and installed using pip:
|
2024-02-10 13:56:32 +00:00
|
|
|
|
|
|
|
```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()
|
|
|
|
```
|