]> git.tnoah.ca Git - lora-radio.git/commitdiff
Fixed intermittent radio init failure on T3S3 SX1280
authorMark Qvist <mark@unsigned.io>
Sat, 4 Jan 2025 21:08:04 +0000 (22:08 +0100)
committerMark Qvist <mark@unsigned.io>
Sat, 4 Jan 2025 21:08:04 +0000 (22:08 +0100)
sx128x.cpp
sx128x.h

index 34eb14fb4a70ea8d875d12d9a97b3a0e73208f6b..ed7415e542f486934cd4b8f3426db7707420785c 100644 (file)
@@ -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); }
index 203a2653580cac1e5d360a4853c83ea7f85de169..8a3e7d1391ceb64aab69cf6edcd120b81c30cc6b 100644 (file)
--- 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();