From d5d04060de0c21666d4c0c41a5c07426aca534f8 Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Wed, 5 Aug 2020 19:39:45 +0800 Subject: [PATCH] Support older limesuite versions e.g. what's available on Raspbian Buster. Unfortunately limesuite doesn't seem to provide an API identifier, so we can't detect whether LMS_PATH_AUTO is supported or not. Change the fallback to LMS_PATH_LNAW, since that appears to work on both mini and full-fat limesdrs. --- sdr_limesdr.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sdr_limesdr.c b/sdr_limesdr.c index 8c5107b..07cbdef 100644 --- a/sdr_limesdr.c +++ b/sdr_limesdr.c @@ -83,7 +83,9 @@ static void limesdrLogHandler(int lvl, const char *msg) break; case LMS_LOG_WARNING: case LMS_LOG_ERROR: +#ifdef LMS_LOG_CRITICAL case LMS_LOG_CRITICAL: +#endif out = stderr; break; } @@ -155,7 +157,7 @@ bool limesdrHandleOption(int argc, char **argv, int *jptr) static size_t selectAntenna() { - int result = LMS_PATH_AUTO; + ssize_t result = -1; lms_name_t *names = NULL; int numAntennas = LMS_GetAntennaList(LimeSDR.dev, LMS_CH_RX, LimeSDR.stream.channel, NULL); @@ -191,8 +193,11 @@ static size_t selectAntenna() } done: - if (result == LMS_PATH_AUTO) - limesdrLogHandler(LMS_LOG_INFO, "limesdr: no suitable antenna found, letting LimeSuite do automatic antenna selection"); + if (result < 0) { + limesdrLogHandler(LMS_LOG_WARNING, "no suitable rx antenna range found, using LNAW"); + result = LMS_PATH_LNAW; + } + if (names) free(names); return result;