Drivers

Democratising Wireless Innovation
Revision as of 09:04, 6 June 2024 by AndrewBack (talk | contribs) (→‎LMS7002M Driver)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Drivers are provided for both operating system level device access — e.g. via USB 3.0 — and SDR application support.

Operating system

Windows O/S drivers must be installed when using the LimeSDR and STREAM boards with Windows.

Additional drivers are not required with Linux and Mac OS X, since these are provided by the kernel.

SDR

Software-defined radio (SDR) drivers control the transceiver and set frequencies, gains and filters etc. They may also provide streaming interfaces over which samples are transferred.

Solution

Lime Suite

Lime Suite provides drivers and SDR application support for the LMS7002M RFIC, and platforms such as the LimeSDR family of software-defined radio boards.

Lime Suite enables the transceiver to be programmed and registers to be read back, provides support for calibrating the transceiver, and various board related controls for Lime platforms. The Lime Suite GUI can also be used to program LimeSDR microcontroller firmware and FPGA configuration flash.

Applications may be developed using native Lime Suite APIs, or using the SoapySDR API via the plug-in for this which is provided as part of Lime Suite. In addition to which plug-ins are available for GNU Radio and the Amarisoft stack, amongst others.

LMS Suite

LMS Suite is for use with LMS6002D-based platforms.

Component

While Lime Suite is the official SDR driver for LMS7002M-based platforms and this is recommended for most applications, there are also alternatives for e.g. embedded use and in rapid prototyping.

LMS7002M Driver

LMS7002M Driver contains a C driver for control of the LMS7002M transceiver. The driver provides user APIs for tuning frequencies, setting gains, setting filters, setting sample rates, setting stream modes, configuring switches, and calibration. Although this driver can select the streaming mode of the LMS7002M, it does not directly interact with receive or transmit baseband data.

WARNING: This is no longer maintained.

Where C language support is required it is recommended to use the embedded code from Lime Suite NG.

pyLMS7002M

pyLMS7002M Python package is platform-independent, and is intended for fast prototyping and algorithm development. It provides low level register access and high level convenience functions for controlling the LMS7002M chip and evaluation boards. Example Python apps are provided for CW Tx and a Vector Network Analyser (VNA), amongst other uses.