diff --git a/src/mesh/SX126xInterface.cpp b/src/mesh/SX126xInterface.cpp index aa55335b4..ab1f5eb38 100644 --- a/src/mesh/SX126xInterface.cpp +++ b/src/mesh/SX126xInterface.cpp @@ -569,6 +569,10 @@ template void SX126xInterface::resetAGC() // 5. Re-calibrate image rejection for actual operating frequency // Calibrate(0x7F) defaults to 902-928 MHz which is wrong for other regions. lora.calibrateImage(getFreq()); + // 6. CalibrateImage keeps working internally after it returns, and BUSY does not + // stay asserted for it; a register write in that window fails write-verify + // (RADIOLIB_ERR_SPI_WRITE_FAILED) and stalls the chip. + module.hal->delay(50); // Re-apply settings that calibration may have reset @@ -592,7 +596,7 @@ template void SX126xInterface::resetAGC() LOG_WARN("SX126x resetAGC: 0x8B5 RX patch re-apply failed"); } - // 6. Resume receiving + // 7. Resume receiving startReceive(); }