No description
Find a file
Kumi aed7255801
Implement auto-device selection and enhance
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.
2024-02-17 16:45:59 +01:00
.github/workflows Update c-cpp.yml 2024-02-10 15:49:57 +01:00
src Implement auto-device selection and enhance 2024-02-17 16:45:59 +01:00
.gitignore Migrate to CMake build system and remove autoconf 2024-02-09 12:38:41 +01:00
CMakeLists.txt Migrate to CMake build system and remove autoconf 2024-02-09 12:38:41 +01:00
README.md Add build instructions for LimeSDR software 2024-02-10 12:56:07 +01:00

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.