From: Mark Qvist Date: Sat, 4 Jan 2025 21:08:04 +0000 (+0100) Subject: Fixed intermittent radio init failure on T3S3 SX1280 X-Git-Url: https://git.tnoah.ca/?a=commitdiff_plain;h=564e2f26f32049b90aa43a655f7528e000597cdd;p=lora-radio.git Fixed intermittent radio init failure on T3S3 SX1280 --- diff --git a/sx128x.cpp b/sx128x.cpp index 34eb14f..ed7415e 100644 --- a/sx128x.cpp +++ b/sx128x.cpp @@ -300,7 +300,7 @@ void sx128x::setPacketParams(uint32_t preamble, uint8_t headermode, uint8_t leng executeOpcode(OP_PACKET_PARAMS_8X, buf, 7); } -int sx128x::begin(unsigned long frequency) { +void sx128x::reset() { if (_reset != -1) { pinMode(_reset, OUTPUT); digitalWrite(_reset, LOW); @@ -308,6 +308,10 @@ int sx128x::begin(unsigned long frequency) { digitalWrite(_reset, HIGH); delay(10); } +} + +int sx128x::begin(unsigned long frequency) { + reset(); if (_rxen != -1) { pinMode(_rxen, OUTPUT); } if (_txen != -1) { pinMode(_txen, OUTPUT); } diff --git a/sx128x.h b/sx128x.h index 203a265..8a3e7d1 100644 --- a/sx128x.h +++ b/sx128x.h @@ -25,6 +25,7 @@ public: int begin(unsigned long frequency); void end(); + void reset(); int beginPacket(int implicitHeader = false); int endPacket();