Kumi
aed7255801
channel handling Refactored code to improve usability and error handling by implementing automatic device selection when no device is explicitly specified. New functionalities include opening devices based on provided info, and a more robust way to retrieve and validate the number of RX and TX channels. These changes streamline the device and channel setup process, especially for systems with a single connected device. - Introduced `openDevice` to encapsulate device opening logic with fallback to the first available device. - Added `getDeviceChannels` and `getChannelsFromInfo` for retrieving channel information. - Ensured LimeConfig struct now includes a `device` field to store the selected device. - Modified experiment setup to automatically select a device if not configured and validate channel availability. - Updated HDF attribute population to include device information. These improvements should reduce the likelihood of user errors and simplify the configuration process when working with LimeSDR devices. |
||
---|---|---|
.github/workflows | ||
src | ||
.gitignore | ||
CMakeLists.txt | ||
README.md |
Information
These files are used for the control of the LimeSDR based spectrometer. With permission from the author Andrin Doll, the files are included in this repository.
A. Doll; Pulsed and continuous-wave magnetic resonance spectroscopy using a low-cost software-defined radio. AIP Advances 1 November 2019; 9 (11): 115110. https://doi.org/10.1063/1.5127746
Building
The software is written in C++ and uses the LimeSuite and HDF5 libraries. The software is built using CMake.
On Debian-based systems, the following packages are required to build the software:
sudo apt-get install g++ cmake liblimesuite-dev libhdf5-dev
On Arch Linux, the following packages are required to build the software:
sudo pacman -S gcc cmake limesuite hdf5
To build the software, run the following commands in the root directory of the repository:
cmake -B build
cmake --build build
This will create an executable called limedriver
in the build
directory.