Set tx/rx en correctly as well as rf ant switch (#1420)

This commit is contained in:
Ben Meadors 2022-04-28 20:11:03 -05:00 committed by GitHub
parent 888af31d4f
commit 5088940751
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -65,7 +65,7 @@ bool SX126xInterface<T>::init()
#ifdef SX126X_TXEN #ifdef SX126X_TXEN
// 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 == ERR_NONE) if (res == ERR_NONE)
res = lora.setDio2AsRfSwitch(false); res = lora.setDio2AsRfSwitch(true);
#endif #endif
#if 0 #if 0
@ -129,9 +129,6 @@ bool SX126xInterface<T>::reconfigure()
err = lora.setSyncWord(syncWord); err = lora.setSyncWord(syncWord);
assert(err == ERR_NONE); assert(err == ERR_NONE);
err = lora.setCurrentLimit(currentLimit);
assert(err == ERR_NONE);
err = lora.setPreambleLength(preambleLength); err = lora.setPreambleLength(preambleLength);
assert(err == ERR_NONE); assert(err == ERR_NONE);
@ -191,7 +188,11 @@ void SX126xInterface<T>::addReceiveMetadata(MeshPacket *mp)
template<typename T> template<typename T>
void SX126xInterface<T>::configHardwareForSend() void SX126xInterface<T>::configHardwareForSend()
{ {
#ifdef SX126X_TXEN // we have RXEN/TXEN control - turn on TX power / off RX power // If we have RXEN/TXEN control - turn on TX power / off RX power
#ifdef SX126X_RXEN
digitalWrite(SX126X_RXEN, LOW);
#endif
#ifdef SX126X_TXEN
digitalWrite(SX126X_TXEN, HIGH); digitalWrite(SX126X_TXEN, HIGH);
#endif #endif
@ -210,7 +211,11 @@ void SX126xInterface<T>::startReceive()
setStandby(); setStandby();
#ifdef SX126X_RXEN // we have RXEN/TXEN control - turn on RX power / off TX power // If we have RXEN/TXEN control - turn on RX power / off TX power
#ifdef SX126X_TXEN
digitalWrite(SX126X_TXEN, LOW);
#endif
#ifdef SX126X_RXEN
digitalWrite(SX126X_RXEN, HIGH); digitalWrite(SX126X_RXEN, HIGH);
#endif #endif