diff --git a/library.properties b/library.properties index 81829f5b..bee08568 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=RadioLib -version=3.3.0 +version=3.3.1 author=Jan Gromes maintainer=Jan Gromes sentence=Universal wireless communication library for Arduino diff --git a/src/Module.cpp b/src/Module.cpp index 27181535..bce8abd4 100644 --- a/src/Module.cpp +++ b/src/Module.cpp @@ -73,8 +73,14 @@ void Module::init(uint8_t interface) { } void Module::term() { - // stop SPI - _spi->end(); + // stop hardware interfaces + if(_spi != nullptr) { + _spi->end(); + } + + if(ModuleSerial != nullptr) { + ModuleSerial->end(); + } } void Module::ATemptyBuffer() { diff --git a/src/TypeDef.h b/src/TypeDef.h index fb5455ae..8ed5b4ee 100644 --- a/src/TypeDef.h +++ b/src/TypeDef.h @@ -10,7 +10,7 @@ // version definitions #define RADIOLIB_VERSION_MAJOR (0x03) #define RADIOLIB_VERSION_MINOR (0x03) -#define RADIOLIB_VERSION_PATCH (0x00) +#define RADIOLIB_VERSION_PATCH (0x01) #define RADIOLIB_VERSION_EXTRA (0x00) #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MAJOR << 16) | (RADIOLIB_VERSION_MAJOR << 8) | (RADIOLIB_VERSION_EXTRA)) diff --git a/src/modules/RF69/RF69.cpp b/src/modules/RF69/RF69.cpp index aeb1e618..b652a5fd 100644 --- a/src/modules/RF69/RF69.cpp +++ b/src/modules/RF69/RF69.cpp @@ -47,7 +47,7 @@ int16_t RF69::begin(float freq, float br, float freqDev, float rxBw, int8_t powe if(!flagFound) { RADIOLIB_DEBUG_PRINTLN(F("No RF69 found!")); - SPI.end(); + _mod->term(); return(ERR_CHIP_NOT_FOUND); } else { RADIOLIB_DEBUG_PRINTLN(F("Found RF69! (match by RF69_REG_VERSION == 0x24)")); @@ -326,9 +326,6 @@ int16_t RF69::readData(uint8_t* data, size_t len) { // read packet data _mod->SPIreadRegisterBurst(RF69_REG_FIFO, length, data); - // add terminating null - data[length] = 0; - // update RSSI lastPacketRSSI = -1.0 * (_mod->SPIgetRegValue(RF69_REG_RSSI_VALUE)/2.0); diff --git a/src/modules/SX1231/SX1231.cpp b/src/modules/SX1231/SX1231.cpp index 8c38e8cb..b7412bcb 100644 --- a/src/modules/SX1231/SX1231.cpp +++ b/src/modules/SX1231/SX1231.cpp @@ -37,7 +37,7 @@ int16_t SX1231::begin(float freq, float br, float rxBw, float freqDev, int8_t po if(!flagFound) { RADIOLIB_DEBUG_PRINTLN(F("No SX1231 found!")); - SPI.end(); + _mod->term(); return(ERR_CHIP_NOT_FOUND); } else { RADIOLIB_DEBUG_PRINTLN(F("Found SX1231!")); diff --git a/src/modules/SX127x/SX127x.cpp b/src/modules/SX127x/SX127x.cpp index 36e4f857..73d796bf 100644 --- a/src/modules/SX127x/SX127x.cpp +++ b/src/modules/SX127x/SX127x.cpp @@ -74,6 +74,10 @@ int16_t SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxB RADIOLIB_ASSERT(state); } + // enable/disable OOK + state = setOOK(enableOOK); + RADIOLIB_ASSERT(state); + // set bit rate state = SX127x::setBitRate(br); RADIOLIB_ASSERT(state); @@ -103,10 +107,6 @@ int16_t SX127x::beginFSK(uint8_t chipVersion, float br, float freqDev, float rxB state = disableAddressFiltering(); RADIOLIB_ASSERT(state); - // enable/disable OOK - state = setOOK(enableOOK); - RADIOLIB_ASSERT(state); - // set default RSSI measurement config state = setRSSIConfig(2); RADIOLIB_ASSERT(state); diff --git a/src/modules/nRF24/nRF24.cpp b/src/modules/nRF24/nRF24.cpp index 67985a72..732fc20b 100644 --- a/src/modules/nRF24/nRF24.cpp +++ b/src/modules/nRF24/nRF24.cpp @@ -218,9 +218,6 @@ int16_t nRF24::readData(uint8_t* data, size_t len) { // read packet data SPIreadRxPayload(data, length); - // add terminating null - data[length] = 0; - // clear interrupt clearIRQ();