From 7de4a4693e69538994926c4b6460f92151e2ad5e Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:10:47 +0200 Subject: [PATCH 01/12] [HAL] Disable EEPROM on Arduino Due --- src/ArduinoHal.cpp | 40 ++++++++++++++++++------------- src/BuildOpt.h | 1 + src/protocols/LoRaWAN/LoRaWAN.cpp | 4 ++++ 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/src/ArduinoHal.cpp b/src/ArduinoHal.cpp index 69b8d90d..b1d4a92f 100644 --- a/src/ArduinoHal.cpp +++ b/src/ArduinoHal.cpp @@ -2,7 +2,9 @@ #if defined(RADIOLIB_BUILD_ARDUINO) +#if !defined(RADIOLIB_EEPROM_UNSUPPORTED) #include +#endif ArduinoHal::ArduinoHal(): RadioLibHal(INPUT, OUTPUT, LOW, HIGH, RISING, FALLING), spi(&RADIOLIB_DEFAULT_SPI), initInterface(true) {} @@ -101,27 +103,31 @@ void inline ArduinoHal::spiEnd() { } void ArduinoHal::readPersistentStorage(uint32_t addr, uint8_t* buff, size_t len) { - #if defined(RADIOLIB_ESP32) - EEPROM.begin(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE); - #endif - for(size_t i = 0; i < len; i++) { - buff[i] = EEPROM.read(addr + i); - } - #if defined(RADIOLIB_ESP32) - EEPROM.end(); + #if !defined(RADIOLIB_EEPROM_UNSUPPORTED) + #if defined(RADIOLIB_ESP32) + EEPROM.begin(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE); + #endif + for(size_t i = 0; i < len; i++) { + buff[i] = EEPROM.read(addr + i); + } + #if defined(RADIOLIB_ESP32) + EEPROM.end(); + #endif #endif } void ArduinoHal::writePersistentStorage(uint32_t addr, uint8_t* buff, size_t len) { - #if defined(RADIOLIB_ESP32) - EEPROM.begin(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE); - #endif - for(size_t i = 0; i < len; i++) { - EEPROM.write(addr + i, buff[i]); - } - #if defined(RADIOLIB_ESP32) - EEPROM.commit(); - EEPROM.end(); + #if !defined(RADIOLIB_EEPROM_UNSUPPORTED) + #if defined(RADIOLIB_ESP32) + EEPROM.begin(RADIOLIB_HAL_PERSISTENT_STORAGE_SIZE); + #endif + for(size_t i = 0; i < len; i++) { + EEPROM.write(addr + i, buff[i]); + } + #if defined(RADIOLIB_ESP32) + EEPROM.commit(); + EEPROM.end(); + #endif #endif } diff --git a/src/BuildOpt.h b/src/BuildOpt.h index 82c777a1..22a1110e 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -117,6 +117,7 @@ // Arduino Due #define RADIOLIB_PLATFORM "Arduino Due" #define RADIOLIB_TONE_UNSUPPORTED + #define RADIOLIB_EEPROM_UNSUPPORTED #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE) // Adafruit nRF52 boards diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp index 679d76b6..56fe4ea0 100644 --- a/src/protocols/LoRaWAN/LoRaWAN.cpp +++ b/src/protocols/LoRaWAN/LoRaWAN.cpp @@ -7,6 +7,10 @@ // flag to indicate whether we have received a downlink static volatile bool downlinkReceived = false; +#if defined(RADIOLIB_EEPROM_UNSUPPORTED) + #warning "Persistent storage not supported!" +#endif + // interrupt service routine to handle downlinks automatically #if defined(ESP8266) || defined(ESP32) IRAM_ATTR From a4aace3ad03fd71feda200100301707dd49e7a7c Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:13:26 +0200 Subject: [PATCH 02/12] Disable EEPROM on Nano 33 BLE and RP2040 --- src/BuildOpt.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/BuildOpt.h b/src/BuildOpt.h index 22a1110e..85ececf1 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -144,6 +144,7 @@ #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode) #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus) #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus) + #define RADIOLIB_EEPROM_UNSUPPORTED // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds #define RADIOLIB_TONE_UNSUPPORTED @@ -176,6 +177,7 @@ #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode) #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus) #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus) + #define RADIOLIB_EEPROM_UNSUPPORTED // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds #define RADIOLIB_TONE_UNSUPPORTED From 253dfd8c508a4e2f32c78ee60cb82f71d7cca7ef Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:31:31 +0200 Subject: [PATCH 03/12] [LoRaWAN] Temporarily cast unused variables until implemented --- src/protocols/LoRaWAN/LoRaWAN.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp index 56fe4ea0..0275b3c1 100644 --- a/src/protocols/LoRaWAN/LoRaWAN.cpp +++ b/src/protocols/LoRaWAN/LoRaWAN.cpp @@ -1175,6 +1175,8 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { uint8_t margin = cmd->payload[0]; uint8_t gwCnt = cmd->payload[1]; RADIOLIB_DEBUG_PRINTLN("Link check: margin = %d dB, gwCnt = %d", margin, gwCnt); + (void)margin; + (void)gwCnt; return(2); } break; @@ -1240,7 +1242,7 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { RADIOLIB_DEBUG_PRINTLN("Max duty cycle: 1/2^%d", maxDutyCycle); // TODO implement this - + (void)maxDutyCycle; return(1); } break; @@ -1297,7 +1299,10 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { RADIOLIB_DEBUG_PRINTLN("New channel: index = %d, freq = %f MHz, maxDr = %d, minDr = %d", chIndex, freq, maxDr, minDr); // TODO implement this - + (void)chIndex; + (void)freq; + (void)maxDr; + (void)minDr; return(5); } break; @@ -1333,6 +1338,9 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { RADIOLIB_DEBUG_PRINTLN("TX timing: dlDwell = %d, dlDwell = %d, maxEirp = %d dBm", dlDwell, ulDwell, maxEirp); // TODO implement this + (void)dlDwell; + (void)ulDwell; + (void)maxEirp; return(1); } break; @@ -1344,6 +1352,8 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { RADIOLIB_DEBUG_PRINTLN("DL channel: index = %d, freq = %f MHz", chIndex, freq); // TODO implement this + (void)chIndex; + (void)freq; return(4); } break; @@ -1363,14 +1373,18 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { uint8_t limitExp = (cmd->payload[0] & 0xF0) >> 4; uint8_t delayExp = cmd->payload[0] & 0x0F; RADIOLIB_DEBUG_PRINTLN("ADR param setup: limitExp = %d, delayExp = %d", limitExp, delayExp); + (void)limitExp; + (void)delayExp; return(1); } break; case(RADIOLIB_LORAWAN_MAC_CMD_DEVICE_TIME): { // TODO implement this - sent by gateway as reply to node request uint32_t gpsEpoch = LoRaWANNode::ntoh(&cmd->payload[0]); - uint8_t fraction = cmd->payload[5]; + uint8_t fraction = cmd->payload[4]; RADIOLIB_DEBUG_PRINTLN("Network time: gpsEpoch = %d s, delayExp = %f", gpsEpoch, (float)fraction/256.0f); + (void)gpsEpoch; + (void)fraction; return(5); } break; @@ -1382,6 +1396,10 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { uint8_t rejoinType = (rejoinReq & 0x0070) >> 4; uint8_t dr = rejoinReq & 0x000F; RADIOLIB_DEBUG_PRINTLN("Force rejoin: period = %d, maxRetries = %d, rejoinType = %d, dr = %d", period, maxRetries, rejoinType, dr); + (void)period; + (void)maxRetries; + (void)rejoinType; + (void)dr; return(2); } break; @@ -1390,6 +1408,8 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { uint8_t maxTime = (cmd->payload[0] & 0xF0) >> 4; uint8_t maxCount = cmd->payload[0] & 0x0F; RADIOLIB_DEBUG_PRINTLN("Rejoin setup: maxTime = %d, maxCount = %d", maxTime, maxCount); + (void)maxTime; + (void)maxCount; return(0); } break; } From 4b80080a373a2d3dff9c25bef4da2109e9563176 Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:31:53 +0200 Subject: [PATCH 04/12] Disable EEPROM on nRF52 and Portenta --- src/BuildOpt.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/BuildOpt.h b/src/BuildOpt.h index 85ececf1..0f4ca55d 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -122,6 +122,7 @@ #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE) // Adafruit nRF52 boards #define RADIOLIB_PLATFORM "Adafruit nRF52" + #define RADIOLIB_EEPROM_UNSUPPORTED #elif defined(ARDUINO_ARC32_TOOLS) // Intel Curie @@ -156,6 +157,7 @@ #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode) #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus) #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus) + #define RADIOLIB_EEPROM_UNSUPPORTED // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds #define RADIOLIB_TONE_UNSUPPORTED From 9279b8ab6d1761ba49ac8a257a99742046b384b4 Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:36:08 +0200 Subject: [PATCH 05/12] [LoRaWAN] Workaround unused variable warning for unimplemented fields --- src/protocols/LoRaWAN/LoRaWAN.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp index 0275b3c1..d2a1860f 100644 --- a/src/protocols/LoRaWAN/LoRaWAN.cpp +++ b/src/protocols/LoRaWAN/LoRaWAN.cpp @@ -1226,8 +1226,11 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { } // TODO implement repeated uplinks with nbTrans + (void)nbTrans; // TODO implement channel mask uint8_t chMaskAck = 0; + (void)chMask; + (void)chMaskCntl; // send the reply cmd->len = 1; @@ -1264,9 +1267,11 @@ size_t LoRaWANNode::execMacCommand(LoRaWANMacCommand_t* cmd) { } // TODO process the RX2 data rate + (void)rx2DataRate; uint8_t rx2Ack = 0; // TODO process the data rate offset + (void)rx1DrOffset; uint8_t rx1OffsAck = 0; // send the reply From a9c66e25f5909e62a681a4178a617b74ba08c355 Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:42:21 +0200 Subject: [PATCH 06/12] [CI] Drop Arduino Leonardo --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 599c5c9b..eeb1025a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -50,8 +50,6 @@ jobs: run: echo "skip-pattern=(STM32WL|SSTV|LoRaWAN)" >> $GITHUB_OUTPUT - id: arduino:avr:mega run: echo "options=':cpu=atmega2560'" >> $GITHUB_OUTPUT - - id: arduino:avr:leonardo - run: echo "skip-pattern=(STM32WL|SSTV|Pager)" >> $GITHUB_OUTPUT - id: arduino:mbed:nano33ble - id: arduino:mbed:envie_m4 - id: arduino:megaavr:uno2018 From 1dec070c0e043f69881badf06cae16a096627b7e Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 18:42:55 +0200 Subject: [PATCH 07/12] [CI] Remove Leonardo option --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eeb1025a..512989e0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,6 @@ on: - none - arduino:avr:uno - arduino:avr:mega - - arduino:avr:leonardo - arduino:mbed:nano33ble - arduino:mbed:envie_m4 - arduino:megaavr:uno2018 From bc7e82999c5c80a47a2a2e336d3db24d8246e5dc Mon Sep 17 00:00:00 2001 From: jgromes Date: Fri, 15 Sep 2023 20:20:00 +0200 Subject: [PATCH 08/12] Disable EEPROM on SAMD --- src/BuildOpt.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/BuildOpt.h b/src/BuildOpt.h index 0f4ca55d..4aeeb80f 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -105,6 +105,7 @@ #elif defined(SAMD_SERIES) // Adafruit SAMD boards (M0 and M4) #define RADIOLIB_PLATFORM "Adafruit SAMD" + #define RADIOLIB_EEPROM_UNSUPPORTED #elif defined(ARDUINO_ARCH_SAMD) // Arduino SAMD (Zero, MKR, etc.) @@ -112,6 +113,7 @@ #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode) #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus) #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus) + #define RADIOLIB_EEPROM_UNSUPPORTED #elif defined(__SAM3X8E__) // Arduino Due From c13ab856703f4056cabcd8c2d65bb31bdcaa69b2 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 16 Sep 2023 07:45:35 +0200 Subject: [PATCH 09/12] Added LoRaWAN to properties files --- library.json | 2 +- library.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library.json b/library.json index a1205953..19a4120d 100644 --- a/library.json +++ b/library.json @@ -2,7 +2,7 @@ "name": "RadioLib", "version": "6.1.0", "description": "Universal wireless communication library. User-friendly library for sub-GHz radio modules (SX1278, RF69, CC1101, SX1268, and many others), as well as ham radio digital modes (RTTY, SSTV, AX.25 etc.).", - "keywords": "radio, communication, morse, cc1101, aprs, sx1276, sx1278, sx1272, rtty, ax25, afsk, nrf24, rfm96, sx1231, rfm96, rfm98, sstv, sx1278, sx1272, sx1276, sx1280, sx1281, sx1282, sx1261, sx1262, sx1268, si4432, rfm22, llcc68, pager, pocsag", + "keywords": "radio, communication, morse, cc1101, aprs, sx1276, sx1278, sx1272, rtty, ax25, afsk, nrf24, rfm96, sx1231, rfm96, rfm98, sstv, sx1278, sx1272, sx1276, sx1280, sx1281, sx1282, sx1261, sx1262, sx1268, si4432, rfm22, llcc68, pager, pocsag, lorawan", "homepage": "https://github.com/jgromes/RadioLib", "repository": { diff --git a/library.properties b/library.properties index e2f70317..1429d3b1 100644 --- a/library.properties +++ b/library.properties @@ -3,7 +3,7 @@ version=6.1.0 author=Jan Gromes maintainer=Jan Gromes sentence=Universal wireless communication library -paragraph=User-friendly library for sub-GHz radio modules (SX1278, RF69, CC1101, SX1268, and many others), as well as ham radio digital modes (RTTY, SSTV, AX.25 etc.). +paragraph=User-friendly library for sub-GHz radio modules (SX1278, RF69, CC1101, SX1268, and many others), as well as ham radio digital modes (RTTY, SSTV, AX.25 etc.) and other protocols (Pagers, LoRaWAN). category=Communication url=https://github.com/jgromes/RadioLib architectures=* From d03d4c29eed59f24d6214bcd3e6c1cdb1065b5be Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 16 Sep 2023 07:45:52 +0200 Subject: [PATCH 10/12] Moved FAQ to Wiki --- README.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/README.md b/README.md index f33652be..6d2904bc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ## Universal wireless communication library for embedded devices -## See the [Wiki](https://github.com/jgromes/RadioLib/wiki) for further information. See the [GitHub Pages](https://jgromes.github.io/RadioLib) for detailed and up-to-date API reference. +## See the [Wiki](https://github.com/jgromes/RadioLib/wiki) and [FAQ](https://github.com/jgromes/RadioLib/wiki/Frequently-Asked-Questions) for further information. See the [GitHub Pages](https://jgromes.github.io/RadioLib) for detailed and up-to-date API reference. RadioLib allows its users to integrate all sorts of different wireless communication modules, protocols and even digital modes into a single consistent system. Want to add a Bluetooth interface to your LoRa network? Sure thing! Do you just want to go really old-school and play around with radio teletype, slow-scan TV, or even Hellschreiber using nothing but a cheap radio module? Why not! @@ -88,17 +88,3 @@ SX127x, RFM9x, SX126x and SX128x * [__Teensy__](https://github.com/PaulStoffregen/cores) - Teensy 2.x, 3.x and 4.x boards The list above is by no means exhaustive - RadioLib code is independent of the used platform! Compilation of all examples is tested for all platforms officially supported prior to releasing new version. In addition, RadioLib includes an internal hardware abstraction layer, which allows it to be easily ported even to non-Arduino environments. - -## Frequently Asked Questions - -### Where should I start? -First of all, take a look at the [examples](https://github.com/jgromes/RadioLib/tree/master/examples) and the [Wiki](https://github.com/jgromes/RadioLib/wiki) - especially the [Basics](https://github.com/jgromes/RadioLib/wiki/Basics) page. There's a lot of useful information over there. If something isn't working as expected, try searching the [issues](https://github.com/jgromes/RadioLib/issues/). - -### Does RadioLib require Arduino? -While RadioLib was originally written with Arduino in mind, it has since evolved and contains its own lightweight hardware abstraction layer. Thanks to this layer, RadioLib can be used on non-Arduino frameworks as well. See [this Wiki page](https://github.com/jgromes/RadioLib/wiki/Porting-to-non-Arduino-Platforms) for details. - -### Help, my module isn't working! -The fastest way to get help is by creating an [issue](https://github.com/jgromes/RadioLib/issues/new/choose) using the appropriate template. It is also highly recommended to try running the examples first - their functionality is tested from time to time and they should work. Finally, RadioLib is still under development, which means that sometimes, backwards-incompatible changes might be introduced. Though these are kept at minimum, sometimes it is unavoidable. You can check the [release changelog](https://github.com/jgromes/RadioLib/releases) to find out if there's been such a major change recently. - -### RadioLib doesn't support my module! What should I do? -Start by creating new issue (if it doesn't exist yet). If you have some experience with microcontrollers and C/C++ in general, you can try to add the support yourself! Use the template files in `/extras/` folder to get started. This is by far the fastest way to implement new modules into RadioLib, since I can't be working on everything all the time. If you don't trust your programming skills enough to have a go at it yourself, don't worry. I will try to implement all requested modules, but it will take me a while. From df8eeebb7209eeea5810ee15866ac99f1fe677aa Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 16 Sep 2023 08:20:25 +0200 Subject: [PATCH 11/12] Added debug info to compilation process --- src/RadioLib.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/RadioLib.h b/src/RadioLib.h index e3b9db4f..8eaa072a 100644 --- a/src/RadioLib.h +++ b/src/RadioLib.h @@ -51,6 +51,20 @@ #warning "God mode active, I hope it was intentional. Buckle up, lads." #endif +// print debug info +#if defined(RADIOLIB_DEBUG) + #define RADIOLIB_VALUE_TO_STRING(x) #x + #define RADIOLIB_VALUE(x) RADIOLIB_VALUE_TO_STRING(x) + #pragma message("\nRadioLib Debug Info\nVersion " \ + RADIOLIB_VALUE(RADIOLIB_VERSION_MAJOR) "." \ + RADIOLIB_VALUE(RADIOLIB_VERSION_MINOR) "." \ + RADIOLIB_VALUE(RADIOLIB_VERSION_PATCH) "." \ + RADIOLIB_VALUE(RADIOLIB_VERSION_EXTRA) "\n" \ + "Platform: " RADIOLIB_VALUE(RADIOLIB_PLATFORM) "\n" \ + "Compiled: " RADIOLIB_VALUE(__DATE__) " " RADIOLIB_VALUE(__TIME__) \ + ) +#endif + // check unknown/unsupported platform #if defined(RADIOLIB_UNKNOWN_PLATFORM) #warning "RadioLib might not be compatible with this Arduino board - check supported platforms at https://github.com/jgromes/RadioLib!" From 690a050ebb46e6097c5d00c371e961c1caa3b52e Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 16 Sep 2023 08:21:25 +0200 Subject: [PATCH 12/12] Bump version to 6.2.0 --- library.json | 4 ++-- library.properties | 2 +- src/BuildOpt.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/library.json b/library.json index 19a4120d..55a0bc46 100644 --- a/library.json +++ b/library.json @@ -1,7 +1,7 @@ { "name": "RadioLib", - "version": "6.1.0", - "description": "Universal wireless communication library. User-friendly library for sub-GHz radio modules (SX1278, RF69, CC1101, SX1268, and many others), as well as ham radio digital modes (RTTY, SSTV, AX.25 etc.).", + "version": "6.2.0", + "description": "Universal wireless communication library. User-friendly library for sub-GHz radio modules (SX1278, RF69, CC1101, SX1268, and many others), as well as ham radio digital modes (RTTY, SSTV, AX.25 etc.) and other protocols (Pagers, LoRaWAN).", "keywords": "radio, communication, morse, cc1101, aprs, sx1276, sx1278, sx1272, rtty, ax25, afsk, nrf24, rfm96, sx1231, rfm96, rfm98, sstv, sx1278, sx1272, sx1276, sx1280, sx1281, sx1282, sx1261, sx1262, sx1268, si4432, rfm22, llcc68, pager, pocsag, lorawan", "homepage": "https://github.com/jgromes/RadioLib", "repository": diff --git a/library.properties b/library.properties index 1429d3b1..1a4c6ebe 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=RadioLib -version=6.1.0 +version=6.2.0 author=Jan Gromes maintainer=Jan Gromes sentence=Universal wireless communication library diff --git a/src/BuildOpt.h b/src/BuildOpt.h index 4aeeb80f..5fe2e0ba 100644 --- a/src/BuildOpt.h +++ b/src/BuildOpt.h @@ -506,7 +506,7 @@ // version definitions #define RADIOLIB_VERSION_MAJOR (0x06) -#define RADIOLIB_VERSION_MINOR (0x01) +#define RADIOLIB_VERSION_MINOR (0x02) #define RADIOLIB_VERSION_PATCH (0x00) #define RADIOLIB_VERSION_EXTRA (0x00)