From a387b3b70648ffb7714b01c17bfdb7bbc7071e0a Mon Sep 17 00:00:00 2001 From: jgromes Date: Thu, 4 Apr 2024 21:28:17 +0200 Subject: [PATCH] [SX126x] Fix image calibration (#1051) --- src/modules/SX126x/SX126x.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index 2c029e54..c0db2f84 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -1841,8 +1841,13 @@ int16_t SX126x::setRfFrequency(uint32_t frf) { return(this->mod->SPIwriteStream(RADIOLIB_SX126X_CMD_SET_RF_FREQUENCY, data, 4)); } -int16_t SX126x::calibrateImage(float freqMin, float freqMax) { +int16_t SX126x::calibrateImageRejection(float freqMin, float freqMax) { + // calculate the calibration coefficients and calibrate image uint8_t data[] = { (uint8_t)floor((freqMin - 1.0f) / 4.0f), (uint8_t)ceil((freqMax + 1.0f) / 4.0f) }; + return(this->calibrateImage(data)); +} + +int16_t SX126x::calibrateImage(uint8_t* data) { int16_t state = this->mod->SPIwriteStream(RADIOLIB_SX126X_CMD_CALIBRATE_IMAGE, data, 2); // if something failed, show the device errors