From 55cd795eb45b3fc6f4c3bd8bbca4b5a421418653 Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 15 Mar 2018 23:48:25 +0100 Subject: [PATCH] LimeSDR: fix NCO direction as Tx is opposed to Rx --- Readme.md | 2 +- devices/limesdr/devicelimesdr.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 8c0b4d340..99ac45cd3 100644 --- a/Readme.md +++ b/Readme.md @@ -119,7 +119,7 @@ HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3. [LimeSDR](https://myriadrf.org/projects/limesdr/) and its smaller clone LimeSDR Mini are supported using LimeSuite library (see next). -

⚠ The plugins should work normally when running as single instances. Support of many Rx and/or Tx instances running concurrently is considered experimental. At least you should always have one of the streams running.

+

⚠ The latest version of LimeSuite is used and must be considered experimental. Hence LimeSDR support in SDRangel is also experimental.

⚠ It seems LimeSDR mini has trouble working with host sample rates lower than 2.5 MS/s particularly in Tx mode.

diff --git a/devices/limesdr/devicelimesdr.cpp b/devices/limesdr/devicelimesdr.cpp index 4e10cab52..25d42c359 100644 --- a/devices/limesdr/devicelimesdr.cpp +++ b/devices/limesdr/devicelimesdr.cpp @@ -50,7 +50,7 @@ bool DeviceLimeSDR::setNCOFrequency(lms_device_t *device, bool dir_tx, std::size return false; } - if (LMS_SetNCOIndex(device, dir_tx, chan, 0, positive) < 0) + if (LMS_SetNCOIndex(device, dir_tx, chan, 0, dir_tx^positive) < 0) { fprintf(stderr, "DeviceLimeSDR::setNCOFrequency: cannot set conversion direction %sfreq\n", positive ? "+" : "-"); return false;