diff --git a/src/mesh/SX126xInterface.cpp b/src/mesh/SX126xInterface.cpp index c26b773f..5305adfe 100644 --- a/src/mesh/SX126xInterface.cpp +++ b/src/mesh/SX126xInterface.cpp @@ -60,16 +60,19 @@ template bool SX126xInterface::init() LOG_DEBUG("Current limit set to %f\n", currentLimit); LOG_DEBUG("Current limit set result %d\n", res); -#ifdef SX126X_E22 +#if defined(SX126X_E22) // E22 Emulation explicitly requires DIO2 as RF switch, so set it to TRUE again for good measure. In case somebody defines // SX126X_TX for an E22 Module - if (res == RADIOLIB_ERR_NONE) + if (res == RADIOLIB_ERR_NONE) { + LOG_DEBUG("SX126X_E22 mode enabled. Setting DIO2 as RF Switch\n"); res = lora.setDio2AsRfSwitch(true); + } #endif #if defined(SX126X_TXEN) && (SX126X_TXEN != RADIOLIB_NC) // lora.begin sets Dio2 as RF switch control, which is not true if we are manually controlling RX and TX if (res == RADIOLIB_ERR_NONE) { + LOG_DEBUG("SX126X_TX/RX EN pins defined. Setting RF Switch: RXEN=%i, TXEN=%i\n", SX126X_RXEN, SX126X_TXEN); res = lora.setDio2AsRfSwitch(false); lora.setRfSwitchPins(SX126X_RXEN, SX126X_TXEN); } diff --git a/variants/diy/v1/variant.h b/variants/diy/v1/variant.h index da9e4155..c4743764 100644 --- a/variants/diy/v1/variant.h +++ b/variants/diy/v1/variant.h @@ -38,9 +38,8 @@ #define SX126X_DIO1 LORA_DIO1 #define SX126X_BUSY LORA_DIO2 #define SX126X_RESET LORA_RESET -//#define SX126X_RXEN 14 -//#define SX126X_TXEN 13 -#define SX126X_POWER_EN (13) +#define SX126X_RXEN RADIOLIB_NC // Defining the RXEN ruins RFSwitching for the E22 900M30S in RadioLib +#define SX126X_TXEN 13 // RX/TX for RFM95/SX127x #define RF95_RXEN 14