Skip to content

Releases: jgromes/RadioLib

Update 7.6.0

19 Feb 20:50

Choose a tag to compare

Breaking change notice

The method getDataRate() has been removed from the library.

Change log and commit attribution

  • [SX126x] Move PA optimized tables out of derived classes (#1675)
  • [HAL] Add missing pullup flags to RPi Hal
  • [HAL] Make pull/up down configurable through HAL
  • [SX126x] Fix direct transmit not transmitting on some platforms (#1677)
  • [LR2021] set implicit or explicit LoRa header type (#1678) (by @lyusupov)
  • [LR2021] Add support for LR2021 (#1676) (#1457)
  • [HAL] Re-Fix for #1667 (#1681) (by @smunaut)
  • [SX128x] Fix null dereference
  • [PHY] Remove setDIOMapping from PhysicaLayer
  • [LR2021] DIO5 can only do DIO_SLEEP_PULL_UP (#1685) (by @lyusupov)
  • [PHY] Remove measured data rate method getDataRate()
  • [LR2021] fix invalid GFSK payload length unit (#1687) (by @lyusupov)
  • [LR2021] a fix for reverse order of bytes in GFSK sync word (#1686)
  • [LR2021] set max limit of GFSK frequency deviation in accordance with datasheet (#1689) (by @lyusupov)
  • [LR2021] fix for no-CRC GFSK and OOK operations when inverted bit is set (default) (#1688) (by @lyusupov)
  • [LR2021] set max limit of GFSK/OOK bit rate in accordance with datasheet (#1690) (by @lyusupov)
  • [HAL] Fix overflow bug by adding casting to delay(), delayMicroseconds(), millis() and micros() (#1691) (by @olivierouellet)
  • [LoRaWAN] Fix dutycycle not enforced (#1682) (by @StevenCellist)
  • [MOD ]Potential overflow fix for RADIOLIB_SPI_PARANOID (#1698) (by @lyusupov)
  • [LoRaWAN] Move random's seed to session creation (by @StevenCellist)
  • [LoRaWAN] Fix for float not supported on newlib-nano (#1697) (by @olivierouellet)
  • [HAL] Add dwt_init() to ArduinoHal::init() for ARDUINO_ARCH_STM32 (#1701) (by @olivierouellet)
  • [LoRaWAN] Add band and class getters (by @StevenCellist)
  • [LoRaWAN] Fix incorrect DR calculation for fixed band in createSession() (by @Kodo-kakaku)
  • [LoRaWAN] Add version getter (by @StevenCellist)
  • [LoRaWAN] Fix invalid multicast datarate (by @StevenCellist)
  • [LoRaWAN] Open/close RxC window on start/end of multicast session (by @StevenCellist)
  • [Crypto] Add streaming functionality to CMAC (#1707) (by @StevenCellist)
  • [LR2021] Fix incorrect logic of LoRa header IRQ check
  • [LoRaWAN] Change sessionStatus before calculateChannelFlags in activateOTAA (#1706) (by @olivierouellet)
  • [ADS-B] ADS-B support (LR2021 only) (#1700)
  • [LR2021] Fix frequency calibration for LF band

What's Changed

New Contributors

Full Changelog: 7.5.0...7.6.0

Update 7.5.0

10 Jan 12:30

Choose a tag to compare

Change log and commit attribution

  • [SX128x] Add finishRanging method (#1605)
  • [SX128x] Add getRangingResultRaw method (#1605)
  • [SX1280] Add device type check based on register version string
  • [SX126x] Fix incorrect bit rate range check (#1636)
  • [Utils] Add generic (de)scrambler function
  • Add support for Arduino Uno Q (Zephyr) (by @StevenCellist)
  • [SX127x] Enable automatic LDRO by default (#1638)
  • [SX128x] Fix packet length mode not configurable on FLRC (#1644)
  • [SX1280] Use only raw ranging results until we figure out the filter
  • [CC1101] Increase MARCSTATE timeout in Tx to 1600 us (#1647)
  • [HAL] Fix falling interrupts not reported in RPi HAL
  • [CC1101] Reset GDO pins to high-Z state as part of Tx/Rx cleanup (#1647)
  • [SX128x] Fix receive timeout parameter docs (by @jrpear)
  • [SX126x] Autocorrect TCXO selected instead of XTAL
  • [HAL] Add a destructor method to RadioLibHal (#1661) (by @Vinx911)
  • [HAL] Rework RPi Pico interrupts (#1667) (#1669)
  • [LoRaWAN] Fix setting DataRate and TxPower before join (by @StevenCellist)
  • [Pager] Fix receive example implying SX126x can be used (#1672)
  • [SX126x] Add optimized PA configuration table for SX1262 and SX1268 (#1662)

What's Changed

New Contributors

Full Changelog: 7.4.0...7.5.0

Update 7.4.0

26 Oct 09:21

Choose a tag to compare

Change log and commit attribution

  • [SX126x] Update doc of SX126x::getPacketLength (#1611) (by @cleishm)
  • [HAL] Fix RPi HAL initialization order
  • [LoRaWAN] Fix persistent downlink MAC content (#1616) (by @StevenCellist)
  • [LoRaWAN] Fix for Package FPort (by @StevenCellist)
  • [LoRaWAN] Fix for Package MAC commands (by @StevenCellist)
  • [LoRaWAN] Change getMacDeviceTimeAns to return current time (by @StevenCellist)
  • [LoRaWAN] Improve logging (by @StevenCellist)
  • [LoRaWAN] Fix for downlinks after confirmed uplinks (by @StevenCellist)
  • [LoRaWAN] Logic optimization (by @StevenCellist)
  • [LoRaWAN] Process downlinks in-place (by @StevenCellist)
  • [LoRaWAN] Fix MAC-only payload truncation (by @StevenCellist)
  • [LoRaWAN] Cleanup Timeout IRQ, shortcut zero-length AES (by @StevenCellist)
  • [LoRaWAN] Fix for payload processing (#1626 comment) (by @StevenCellist)
  • [LR11x0] Split registers. commands and types into separate headers
  • [LR11x0] Add method to get boot hash
  • [LR11x0] Add GFSK workaround
  • [SX126x] Move command variables to commands file
  • [SX126x] Add experimental BPSK support
  • [SX126x] Add workaround for GFSK
  • [SX126x] Remove setSyncBits method (#1633)
  • [LR11x0] Remove setSyncBits method

What's Changed

  • [SX126x] Update doc of SX126x::getPacketLength by @cleishm in #1611

Full Changelog: 7.3.0...7.4.0

Update 7.3.0

21 Sep 08:01

Choose a tag to compare

Change log and commit attribution

Click to expand

  • [PHY] Add a virtual destructor (#1557) (by @htotoo)
  • Modified the attachInterrupt function in PicoHal.h (#1560) (by @koisto)
  • [SX126x] Add missing state assert (#1561)
  • [HAL] Fix RPiPico detach interrupt (#1558)
  • Fix overload-virtual errors (#1571) (by @Tiaan-Alberts)
  • [SX127x] Clarify FSK FIFO size is due to hardware (#1578)
  • [LoRaWAN] Channel improvements (#1573) (by @StevenCellist)
  • [LoRaWAN] Fixes for network package
  • [LoRaWAN] Put radio to sleep during Rx windows and RetransmitTimeout
  • [SX127x] Add safety delay while entering sleep
  • Add support for LoRa coding rate 4/4 (#1587) (by @GUVWAF)
  • Add methods to retrieve received LoRa header info (#1588) (by @GUVWAF)
  • [SX128x] Fixed a small bug in receive() method (#1590) (by @MarusGradinaru)
  • [LoRaWAN] Add extra padding to prevent adrMasks overflow
  • User-controlled timeout for blocking receive (#1592)
  • [SX126x] Add comment regarding preamble length for duty cycle Rx (#1597)
  • [SX126x] No need to call standby() after a verified reset (#1603) (by @cleishm)
  • [LR11x0] Use IRQ value from map
  • [SX128x] Use IRQ value from map
  • [SX127x] Fix finishReceive clearing IRQ flags prematurely (#1592)
  • [SX126x] Fix finishReceive clearing IRQ flags prematurely (#1592)
  • Add calculateTimeOnAir() method to relevant modules (#1596) (by @GUVWAF)
  • [SX126x] Use a default of either 8 or 12 for minSymbols in startReceiveDutyCycleAuto (#1600) (by @cleishm)
  • [SX126x] For receiveDutyCycleAuto, check senderPreambleLength is shorter than configured preamble (#1602)
  • [PHY] Add calculateTimeOnAir virtual method and override it in module classes
  • [SX126x] Remove extraneous reset after findChip (#1604) (by @cleishm)
  • [LoRaWAN] Update modem, datarate and ToA handling (#1609) (by @StevenCellist)
  • Improve support for LoRa coding rate with Long Interleaver (#1606) (by @GUVWAF)
  • [SX128x] Limit preamble length to 16bit numbers
  • [LoRaWAN] Fix for ADR masks on fixed bands (by @StevenCellist)

What's Changed

  • Update PhysicalLayer.h by @htotoo in #1557
  • Remove hard coded interrupt mode from PicoHAL by @koisto in #1560
  • Fix overload-virtual errors by @NemesisXB in #1571
  • [LoRaWAN] Channel improvements by @StevenCellist in #1573
  • Add support for LoRa coding rate 4/4 by @GUVWAF in #1587
  • Add methods to retrieve received LoRa header info by @GUVWAF in #1588
  • Fixing SX128x.receive() timeout bug by @MarusGradinaru in #1590
  • User-controlled timeout for blocking receive by @jgromes in #1592
  • [SX126x] No need to call standby() after a verified reset by @cleishm in #1603
  • Add calculateTimeOnAir() method to relevant modules by @GUVWAF in #1596
  • [SX126x] Use a default of either 8 or 12 for minSymbols in startReceiveDutyCycleAuto by @cleishm in #1600
  • [SX126x] For receiveDutyCycleAuto, check senderPreambleLength is shorter than configured preamble by @cleishm in #1602
  • [SX126x] Remove extraneous reset after findChip by @cleishm in #1604
  • [LoRaWAN] Update modem, datarate and ToA handling by @StevenCellist in #1609
  • Improve support for LoRa coding rate with Long Interleaver by @GUVWAF in #1606

Backwards compatibility notice

The LoRaWAN Nonces buffer layout has once again decreased, now to the bare essentials. Nonces from before 7.3 will not successfully restore in 7.3+. You can either reset/flush the Nonces on your network server, or hit us up in the Discussions as a solution can be crafted to carry the Nonces over. We expect no further changes to the Nonces buffer in the foreseeable future.

New Contributors

Full Changelog: 7.2.1...7.3.0

Patch 7.2.1

09 Jul 20:14

Choose a tag to compare

Change log and commit attribution

Click to expand

  • [LoRaWAN] Bump nonces buffer version (by @StevenCellist)
  • [LoRaWAN] Fix to RP 1.0.4 / 1.1B (by @StevenCellist)
  • [LoRaWAN] Pre-certified for fixed channelplans! (by @StevenCellist)
  • [LoRaWAN] Clean up fixed plan channel handling, fix default DR (by @StevenCellist)
  • [LoRaWAN] Fix dynamic default channels, fix #1538 (by @StevenCellist)
  • [SX128x] Add missing register write when setting SF (#1549)
  • [Pager] Fix message buffer size calculation (#1535)
  • [RF69] Remove hacky padding byte (#1552)
  • [CC1101] Fix discarded packets triggering data read (#1484)

What's Changed

  • Use sdkconfig.defaults for ESP-IDF example by @Dazza0 in #1536
  • [LR11X0] Add missing description to 'offset' parameter in 'getPacketLength()' by @Dazza0 in #1542
  • [CI] ESP-IDF fix by @jgromes in #1547

Full Changelog: 7.2.0...7.2.1

Update 7.2.0

21 Jun 19:36
a3a4b15

Choose a tag to compare

Backwards compatibility notice

This update of RadioLib changes the meaning of the following LoRaWAN errors:

  • -1112: previously RADIOLIB_ERR_N_FCNT_DOWN_INVALID, now RADIOLIB_ERR_MIC_MISMATCH. This error is returned instead of RADIOLIB_ERR_CRC_MISMATCH in case LoRaWAN message integrity code (MIC) check fails due to incorrect key or invalid frame counter
  • -1113: previously RADIOLIB_ERR_A_FCNT_DOWN_INVALID, now RADIOLIB_ERR_MULTICAST_FCNT_INVALID
  • -1115: RADIOLIB_ERR_CHECKSUM_MISMATCH is now returned instead of RADIOLIB_ERR_CRC_MISMATCH in case a LoRaWAN Nonces or Session buffer integrity check failed.

Also, the LoRaWAN Nonces buffer layout has slightly changed. Nonces from before 7.2 will not successfully restore in 7.2+. You can either reset/flush the Nonces on your network server, or hit us up in the Discussions as a solution can be crafted to carry the Nonces over.

These changes may break backwards compatibility with some user programs. However, they were not seen as a significant enough change to warrant a full major release.

Change log and commit attribution

Click to expand

  • [CC1101] Add sleep function (#1389) (by @weekroom)
  • [LR11x0] Skip frequency range verification (#1388) (by @Genaker)
  • fix implicit conversion from float to double warnings (by @MatejFranceskin)
  • Fix bunch of issues found by cppcheck
  • [LoRaWAN] Fix possible integer overflow
  • [CI] Add unit test for SPIsetRegValue
  • [SX1231] add chip revision number for SX123xH (by @lyusupov)
  • [RF69] Fix sync word length not set correctly (#1400)
  • [SX126x] Add LR-FHSS interrupt transmit example
  • [LoRaWAN] Allow support for misc MAC commands (by @StevenCellist)
  • [LLCC68] Add override begin FSK and LR-FHSS methods (#1405)
  • [SX127x] Fix lower power range of RFO (#1412)
  • fix for build with Arduino Core for Zephyr OS for Nano 33 BLE and Portenta H7 targets (by @lyusupov)
  • [PHY] Staged modes (#1414)
  • [LoRaWAN] Add methods to allow user-provided sleep function (#1410)
  • [CI] Measure code coverage after unit test (#1417)
  • Use configurable line feed for debug output (#1398)
  • [CC1101] FIFO Refills to transmit packets up to 255 bytes (#1404)
  • [nRF24] Add public LNA control method (#1392)
  • [SX126x] Remove node address methods from header (#1422)
  • [PHY] Make frequency step and max packet length public variables
  • [LR11x0] Fix latitude/longitude for negative values (#1379)
  • [SX127x] Fix automated RFO selection (#1412)
  • [EXT] Remove redundant null check (#1436)
  • [MOD] Return debug information even after post-transfer GPIO timeout (#1434)
  • [MOD] Add debug timestamps (#1440)
  • [SX128x] Add support for GFSK fixed packet length mode (#1441) (by @lyusupov)
  • [SX128x] fix for invalid GSFK sync words order (#1444) (by @lyusupov)
  • [RF69] a fix for invalid sync word length setting (#1448) (by @lyusupov)
  • [SX128x] fix for improper GFSK syncword setting with length other than 5 bytes (#1446) (by @lyusupov)
  • [LoRaWAN] Fix for CN470 (formerly CN500) (by @StevenCellist)
  • [Si443x] Fix CRC error IRQ (#1430)
  • [Si443x] Add CRC configuration (#1430)
  • [CC1101] Fix variable packet length with address enabled (#1483) (by @jcrespoc)
  • [LR11x0] Accept bootloader as valid device ID (#1487)
  • [SX127x] Fix register check when switching modems (#1496)
  • [LoRaWAN] Improve window timing accuracy (#1491) (by @StevenCellist)
  • [LoRaWAN] Handle bad block of LinkADRReq (#1497) (by @StevenCellist)
  • [LoRaWAN] Simplify FCnt rollover (by @StevenCellist)
  • [LoRaWAN] Fix Arduino sendReceive not setting downlink string
  • [LoRaWAN] Fix Reset and Rekey MAC commands (by @StevenCellist)
  • [SX127x] Add emulated Rx single mode (#1496)
  • [HAL] Make RPi Pico tone helpers static
  • [LoRaWAN] Implement Class C (including multicast) (#1504) (by @StevenCellist)
  • [LoRaWAN] Add Class C and Multicast examples (by @StevenCellist)
  • [LoRaWAN] Self-certified! (Class A, dynamic channelplan) (by @StevenCellist)
  • Add new LoRaWAN examples to the LoRaWAN README (by @StevenCellist)
  • [SX126x] Optimize CAD for improved detection rate and SF5/SF6 (by @christianh104)
  • [LR11X0] Add support for specifying PA ramp time (by @Dazza0)
  • [SX126x] Fixed packet offset in implicit header mode (#1520)
  • [LoRaWAN] Provide support for TSxxx packages (including TS009 reference implementation) (#1528) (by @StevenCellist)
  • [LoRaWAN] Bump nonces buffer version (by @StevenCellist)

What's Changed

New Contributors

Full Changelog: 7.1.2...7.2.0

Patch 7.1.2

05 Jan 20:50

Choose a tag to compare

Change log and commit attribution

Click to expand

  • [CI] Add release workflow
  • [LR11x0] Use dummy SPI transfer for wakeup
  • [SX128x] Use dummy SPI transfer for wakeup
  • [SX126x] Use dummy SPI transfer for wakeup (#1364)
  • [nRF24] Use Module SPI transfer stream
  • [CC1101] Simplify reset sequence
  • [MOD] Remove getCs method (#1364)
  • [CI] Add size metrics (#1367)
  • Fix frequency issue on SX127x (#1368) (#1369) (by @CrispyAlice2)
  • [Pager] Minor formatting fixes
  • [Pager] Fix sync words in long messages (#1112)
  • [LoRaWAN] Improve dwell time handling under ADR (by @StevenCellist)
  • [LoRaWAN] Fix some MAC commands not being resent (by @StevenCellist)
  • [LoRaWAN] Accept MAC channel mask if ADR is disabled (by @StevenCellist)
  • [LoRaWAN] Improve handling of invalid MAC commands (by @StevenCellist)
  • [LoRaWAN] Fix ADR backoff difference between 1.0.4 and 1.1 (by @StevenCellist)
  • [CI] Unit test (#1373)

What's Changed

New Contributors

Full Changelog: 7.1.1...7.1.2

Patch 7.1.1

19 Dec 15:05

Choose a tag to compare

Change log and commit attribution

Click to expand

  • [SX126x] Fix LR-FHSS sync word
  • [LR11x0] Use array as LR-FHSS sync word
  • [CC1101] Added support for 4-FSK (#823)
  • [PHY] Use less generic modem names (#1294)
  • [LoRaWAN] Accept const uint8_t* on public API (#1302) (by @Kabbah)
  • Added quick links to readme
  • hal: Tock: Re-enable pin after detaching interrupt (#1308) (by @alistair23)
  • Added links to status code decoder to issue templates
  • Added missing links to doxygen mainpage
  • [SX127x/RF69] Added setFifoThreshold (#1309) (by @SzczepanLeon)
  • [SX127x] Added parameter doc and keyword
  • [MOD] Optimize SPI register writing
  • Drop debug decoder
  • Add link to online debug decoder
  • hal: Tock: Namespace HAL, update timer implementation and update libtock-c (#1313) (by @alistair23 and @ppannuto)
  • [SX127x] Add missing state initialization (#1321)
  • Change order of setFlag function (by @radiohound)
  • Fixed order of ISR functions in examples
  • [LR11x0] Disable DIO11 for GNSS only (#1275)
  • [SX126x] Allow 15 dBm on SX1261 (#1329)
  • [SX126x] Allow SX1261 version string for LLCC68 devices (#1329)
  • [LoRaWAN] Simplify JoinRequest datarate handling (by @StevenCellist)
  • [LoRaWAN] Update revision naming / RP revision B (by @StevenCellist)
  • Move ESP-IDF HAL back to examples (#1322)
  • [SX128x] Make Tx timeout at least 5 ms
  • [SX126x] Make Tx timeout at least 5 ms (#1338)
  • fix build with Arduino Core for Silicon Labs EFR32 Series 2 (by @lyusupov)
  • [LoRaWAN] Do not reject first JoinAccept for 1.0.4 on Chirpstack (by @StevenCellist)
  • [CI] Add Silicon Labs board to supported platforms
  • [CC1101] Clarify maximum packet length (#1347)
  • [SX127x] Use length from startReceive in implicit header mode (#1345)
  • [SX126x] Fix broken FSK packet params calls (#1350) (#1338)
  • [SX126x] Fix preamble detector configuration (#1350)
  • [SX126x] Drop support for FSK address filtering (#1268)
  • Add FSK to supported LoRaWAN modulations (by @StevenCellist)

What's Changed

New Contributors

Full Changelog: 7.1.0...7.1.1

Update 7.1.0

28 Oct 15:13

Choose a tag to compare

Change log and commit attribution

Click to expand

  • [SX128x] Save context before sleep to allow TX to work on wake (#1249) (#1250) (by @jacobeva)
  • [SX128x] Add setDataRate method for LoRa modem (#1251) (by @jacobeva)
  • [LR1110] Added configurable LR-FHSS grid spacing
  • [SX126x] LR-FHSS support (#1228)
  • [LoRaWAN] Collection of fixes (also fixes #1254) (by @StevenCellist)
  • [SX1276, LoRaWAN] Fix confusing return value in LoRaWAN::processJoinAccept (#1262) (by @VolkerChristian)
  • [LoRaWAN] Just for convenience: Add a frmPending field in (by @VolkerChristian)
  • [SX126x] Fix FSK addresses on transmission (#1268)
  • [SX127x] Fix FSK address handling
  • [SX126x] Fix second call to startReceive breaking reception (#1272)
  • [STM32WLx] Update Rx interrupt example (#1272)
  • [LR11x0] GNSS support (#1275)
  • [SX127x] Added reset to home channel to FHSS examples (#1266)
  • Update all examples, add link to RadioBoards
  • [HAL] HALs in src (#1281)
  • [LoRaWAN] Fix incorrect payload size values (by @StevenCellist)
  • [LoRaWAN] Fix #1284 (max length) and channel struct for fixed bands (by @StevenCellist)
  • [CC1101] Fix direct reception (#1257)
  • [LR11X0] FSK preamble detector length configuration (#1286) (by @lyusupov)
  • [APRS] Added repeaters (#1285)
  • [HAL] Prevent reinit in PiHal
  • [PHY] Get/Set modem (#1294)
  • Added pointer assert
  • [CI] Drop Sparkfun Artemis from build matrix due to lonmg build time
  • [LR11x0] Prevent WiFi scanning attempts on LR1121 (#1290)
  • [SX126x] Configure preamble detector length based on preamble
  • [LR11x0] Calibrate image based on frequency change
  • [SX126x] Calibrate image based on frequency change (#1292)
  • Added note about Arduino Uno and smaller
  • [LR11x0] Fix RF swtich table handling (#1295)
  • [LR11x0] Fix RF switch call in examples (#1295)
  • [LoRaWAN] Fix persistence of channel mask (fixes #1293) (by @StevenCellist)
  • [SX126x] Fix signed comparison warning
  • [LR11x0] Added setDatarate for LR-FHSS
  • [SX126x] Added setDatarate for LR-FHSS
  • [LoRaWAN] Improve modem switching
  • [LoRaWAN] Fix LR-FHSS bw encoding
  • [LoRaWAN] Fix LR-FHSS cr encoding

What's Changed

New Contributors

Full Changelog: 7.0.2...7.1.0

Patch 7.0.2

30 Sep 19:18

Choose a tag to compare

What's Changed

  • [SX127x] fix DIO register mapping by @caveman99 in #1246
  • [SX128x] Fix preamble length calculation (#1243)

Full Changelog: 7.0.1...7.0.2