From 0d3435c5959e028bb2195f2f790be4fdd7c352ce Mon Sep 17 00:00:00 2001 From: jgromes Date: Thu, 18 Feb 2021 18:48:09 +0100 Subject: [PATCH] [RFM9x] Fixed frequency setting not saved (#253) --- src/modules/SX127x/SX1276.cpp | 8 ++++++-- src/modules/SX127x/SX1277.cpp | 6 +++++- src/modules/SX127x/SX1279.cpp | 8 ++++++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/modules/SX127x/SX1276.cpp b/src/modules/SX127x/SX1276.cpp index 299a2747..1877862b 100644 --- a/src/modules/SX127x/SX1276.cpp +++ b/src/modules/SX127x/SX1276.cpp @@ -116,8 +116,12 @@ int16_t SX1276::setFrequency(float freq) { } } - // set frequency - return(SX127x::setFrequencyRaw(freq)); + // set frequency and if successful, save the new setting + int16_t state = SX127x::setFrequencyRaw(freq); + if(state == ERR_NONE) { + SX127x::_freq = freq; + } + return(state); } #endif diff --git a/src/modules/SX127x/SX1277.cpp b/src/modules/SX127x/SX1277.cpp index c4498e84..2a5a942e 100644 --- a/src/modules/SX127x/SX1277.cpp +++ b/src/modules/SX127x/SX1277.cpp @@ -117,7 +117,11 @@ int16_t SX1277::setFrequency(float freq) { } // set frequency and if successful, save the new setting - return(SX127x::setFrequencyRaw(freq)); + int16_t state = SX127x::setFrequencyRaw(freq); + if(state == ERR_NONE) { + SX127x::_freq = freq; + } + return(state); } int16_t SX1277::setSpreadingFactor(uint8_t sf) { diff --git a/src/modules/SX127x/SX1279.cpp b/src/modules/SX127x/SX1279.cpp index d443902b..179b7507 100644 --- a/src/modules/SX127x/SX1279.cpp +++ b/src/modules/SX127x/SX1279.cpp @@ -53,8 +53,12 @@ int16_t SX1279::beginFSK(float freq, float br, float freqDev, float rxBw, int8_t int16_t SX1279::setFrequency(float freq) { RADIOLIB_CHECK_RANGE(freq, 137.0, 960.0, ERR_INVALID_FREQUENCY); - // set frequency - return(SX127x::setFrequencyRaw(freq)); + // set frequency and if successful, save the new setting + int16_t state = SX127x::setFrequencyRaw(freq); + if(state == ERR_NONE) { + SX127x::_freq = freq; + } + return(state); } #endif