Merge pull request #2484 from meshtastic/fix-hydra-rf-switch

Fix hydra rf switch
This commit is contained in:
Thomas Göttgens 2023-05-12 10:53:52 +02:00 committed by GitHub
commit b0c3816a8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View File

@ -60,16 +60,19 @@ template <typename T> bool SX126xInterface<T>::init()
LOG_DEBUG("Current limit set to %f\n", currentLimit); LOG_DEBUG("Current limit set to %f\n", currentLimit);
LOG_DEBUG("Current limit set result %d\n", res); 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 // 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 // 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); res = lora.setDio2AsRfSwitch(true);
}
#endif #endif
#if defined(SX126X_TXEN) && (SX126X_TXEN != RADIOLIB_NC) #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 // 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) { 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); res = lora.setDio2AsRfSwitch(false);
lora.setRfSwitchPins(SX126X_RXEN, SX126X_TXEN); lora.setRfSwitchPins(SX126X_RXEN, SX126X_TXEN);
} }

View File

@ -38,9 +38,8 @@
#define SX126X_DIO1 LORA_DIO1 #define SX126X_DIO1 LORA_DIO1
#define SX126X_BUSY LORA_DIO2 #define SX126X_BUSY LORA_DIO2
#define SX126X_RESET LORA_RESET #define SX126X_RESET LORA_RESET
//#define SX126X_RXEN 14 #define SX126X_RXEN RADIOLIB_NC // Defining the RXEN ruins RFSwitching for the E22 900M30S in RadioLib
//#define SX126X_TXEN 13 #define SX126X_TXEN 13
#define SX126X_POWER_EN (13)
// RX/TX for RFM95/SX127x // RX/TX for RFM95/SX127x
#define RF95_RXEN 14 #define RF95_RXEN 14