Skip to content

Releases: jgromes/RadioLib

Update 6.5.0

27 Mar 20:27
Compare
Choose a tag to compare

Warning: This update contains breaking changes to the LoRaWAN implementation! Check LoRaWAN examples and the API documentation.

  • [PHY] Fixed godmode not exposing private member (#950)
  • include esp_attr.h where IRAM_ATTR is used (#952) (by @remenyo)
  • Fix stringop-truncation warning in AX25 callsign getter (#958) (by @remenyo)
  • [SX127x] Fixed software timeout duration (#962)
  • [LoRaWAN] Fix fcntUp wrap-around after 50 transmissions (#950) (by @barnslig)
  • [LoRaWAN] Improve examples, add getter for DevAddr (#974) (by @StevenCellist)
  • [LoRaWAN] Use ESP_PLATFORM macro to include esp_attr.h (#952)
  • [CI] Run apt-get update before install (#989)
  • [LoRaWAN] Improve persistence behaviour, add dwell time error, clear up debug output (#980) (by @StevenCellist and @HeadBoffin)
  • IDF Component Registry manifest (#990) (by @nicklasb)
  • Receive messages for multiple POCSAG RICs (#998) (by @jasiek)
  • [Pager] Minor fixes
  • Debugging rework
  • Added ESP IRAM attribute to examples (#1010)
  • [SX126x] Added option to select standby mode (#1008)
  • [SX126x] Fix rx/tx fallback mode (#1008)
  • [CC1101] Clarify direct methods are synchronous (#1016)
  • Static check (#1019)
  • [LoRaWAN] Change and upgrade persistence handling (#1017) (by @StevenCellist)
  • [CI] Enable LoRaWAN builds for previously disabled platforms
  • [LoRaWAN] Resolve warnings, fix bugs for fixed bands (#1021) (by @StevenCellist)
  • Merge pull request #1034: update LoRaWAN examples (by @StevenCellist and @HeadBoffin)
  • [CI] Fix for new LoraWAN examples (#1035)
  • [LoRaWAN] Added array of supported bands (#1032)
  • [CC1101] PQT = 0 in setPromiscuous (#1033)
  • [LoRaWAN] Added specific error code for no downlink received

Patch 6.4.2

28 Jan 16:02
Compare
Choose a tag to compare

Hotfix! This release fixes an issue that broke LoRaWAN on 6.4.1.

  • [SX126x] Fixed data rate checking (#948)

Patch 6.4.1

27 Jan 20:47
Compare
Choose a tag to compare
  • [LoRaWAN] Fixed duty cycle enable ignored
  • [LoRaWAN] Fix possible integer overflow
  • [LoRaWAN] Fix MAC command initialization
  • [LoRaWAN] Simplify variable length arrays
  • [SX126x] Fix txMode made private
  • [STM32WL] Fix Module pinter
  • [LoRaWAN] Properly size fopts buffer
  • [SX1233] Fix incorrect exclude macro guard (#929)
  • [LoRaWAN] Fix session restore throwing unnecessary error (by @StevenCellist)
  • add Pico HAL (by @cameron-goddard)
  • [LoRaWAN] Improve channel masks for fixed bands (by @StevenCellist)
  • [LoRaWAN] Fix fixed band CFList processing (by @StevenCellist)
  • [LoRaWAN] Fix rejoining during active session (by @StevenCellist)
  • [LoRaWAN] Fix dynamic-band non-ADR session persistance (by @StevenCellist)
  • [LoRaWAN] Fix setDatarate function (by @StevenCellist)
  • [LoRaWAN] Keep Dev/JoinNonce on OTAA wipe with same credentials (by @StevenCellist)
  • [LoRaWAN] Fix Tx power calculation (by @StevenCellist)
  • [LLCC68] Fixed set data rate for LLCC68 (#946)
  • [LoRaWAN] Added ADR data rate check (#946)

Update 6.4.0

14 Jan 19:29
Compare
Choose a tag to compare
  • [SX128x] Remove double '_RADIOLIB's (by @S5NC)
  • [LoRaWAN] Fix uninitialized variables (by @xNombre)
  • [LoRaWAN] Expose downlink framecounters (by @StevenCellist)
  • [SX123x] Added support for SX1233 (#898)
  • [RF69] Make setMode protected
  • [SX123x] Added missing include
  • [SX123x] Added note about high bit rate mode for SX1233
  • [CC1101] Fixed direct transmit (#911)
  • [LoRaWAN] Fix ABP initialization, support MAC in payload (by @StevenCellist)
  • [SX126x] Allow custom band calibration
  • [LoRaWAN] Revamp internal processing, key checking, new MAC commands, implement DutyCycle & DwellTime (by @StevenCellist)
  • [LoRaWAN] Fix ADR bug if not enabled (by @StevenCellist)
  • [LoRaWAN] Convert setDatarate() and setTxPower() to internal MAC; improve ADR (by @StevenCellist)
  • [RF69] Update RF69.cpp (by @peterus)
  • [SX127x] Update SX127x.cpp (by @peterus)
  • [*] Cleanup private/protected members
  • [LoRaWAN] Rework channel logic (by @StevenCellist)
  • [SX127x] Added setLowBatteryThreshold (#925)
  • [CC1101] Correctly wait for packet end on blocking receive. (by @plietar)

Update 6.3.0

29 Nov 19:14
Compare
Choose a tag to compare
  • [RFM9x] Use RFM9x only as alias for SX127x (#833)
  • [SX127x] Allow alternate chip versions
  • [RM9x] Drop RFM9x as separate class
  • [SX126x] Changed default whitening initial value for SX127x/LoRaWAN compatibility (#832)
  • [SX127x] disable syncword generation & detection, add method to set preamble polarity (#834)
  • [CC1101] Added list of supported bandwidths (#842) (by @baycom)
  • Incorrectly checking sx1280 command status (#843) (by @chemary)
  • [LoRaWAN] Fixed debug float print (#844)
  • [STM32WLx] Added missing interrupt actions (#844)
  • [HAL] Fixed persistent storage on Sparkfun Apollo (#848)
  • [SX126x] Decrease startup wait to 10 ms (#850)
  • [APRS] Fix array length calculation in static only mode
  • [SX126x] Make setPaConfig public (#852)
  • [SX126x] Fixed duplicate setPaConfig
  • [LoRaWAN] Implement full session persistence & more v1.1 specification (#835) (by @StevenCellist)
  • Update api adapt esp core 3.0.0-alpha2 (#860) (by @lewisxhe)
  • [HAL] Added check for defined ESP version macro (#860)
  • added functionality for LoRa Alliance TR-13 Enabling CSMA for LoRaWAN (#859) (by @jgamage91)
  • Fixed Persistent Storage Issue for RP2040 with Arduino Pico Framework (#868)
  • [RFM9x] Added missing alias for RFM95
  • [LoRaWAN] Rework bands, official Rx windows, support ADR, confirm frames, improve EEPROM handling, support clock drift (#867) (by @StevenCellist)
  • [LoRaWAN] Added event struct to pass extra info (#821)
  • Added warning for low-end platforms (Uno etc.)
  • [CC1101] Fixed crash in blocking receive (#839)
  • [LoRaWAN] Fixed unused variable warning on non-EEPROM boards
  • [HAL] Fixed unused variable warnings
  • [LoRaWAN] Move TX power logic to function (#884) (by @StevenCellist)
  • [LoRaWAN] Add datarate into event structure (#885) (by @StevenCellist)
  • Check for RADIOLIB_SPI_PARANOID = 1 rather than just defined (#883) (by @jp-bennett)
  • Reworked macro configuration system

Update 6.2.0

16 Sep 11:12
Compare
Choose a tag to compare
  • Added support for Arduino Uno R4
  • Added support for Tock (by @alistair23
  • [SX128x] Fixed getStatus (#779)
  • [LLCC68] Changed default crystal to XTAL (#784)
  • [PHY] Implemented more common methods
  • [LoRaWAN] Added basic LoRaWAN support (#58)
  • [FEC] Fixed memory leak (#646)
  • [EXT] Implemented direct transmit (#646)
  • Added getPacketLength to examples (#214)
  • [STM32WL] Fixed output power for modules without LP (#798)
  • [LoRaWAN] Added preliminary FSK support
  • [LoRaWAN] Added APB example
  • [APRS] Added support for APRS over LoRa
  • [APRS] Added APRS over LoRa example
  • [CC1101] Fixed garbage data (#733)
  • Fixed wrong register definition for RADIOLIB_RF69_SEQUENCER_OFF and RADIOLIB_RF69_SEQUENCER_ON (by @ramaza)
  • [SX127x] Add delay before IRQ clearing (#808)
  • [PHY] Added virtual channel scan method
  • Remove unnecessary condition (by @nicklasb)
  • [MOD] Moved CS pin toggling inside SPI transaction block
  • [MOD] Moved debug info to runtime
  • [MOD] Skip SPI status parsing for single-byte commands
  • [LoRaWAN] Added LoRaWAN-specific status codes
  • [SX126x] Explicitly set non-inverted IQ on startup
  • [SX127x] Explicitly set non-inverted IQ on startup
  • [PHY] Added channel scan methods to common interface
  • [LoRaWAN] Added support for 1.1 and downlink (#58)
  • [APRS] Removed redundant condition (#810) (by @nicklasb)
  • [LoRaWAN] Fixed output power configuration (#814)
  • [LoRaWAN] Implemented MAC command support
  • Fix "narrowing conversion" error on ESP-IDF (by @nicklasb)
  • [LoRaWAN] Represent keys as byte arrays (#58) (#811)
  • [CI] Added CI action for ESP-IDF to catch -Werrors
  • [LoRaWAN] Fixed initialization warnings
  • Fixed ESP32 platform detection
  • [MOD] Make regdump and hexdump only available in debug
  • [SX126x] Skip printing symbol length
  • [SX127x] Skip printing symbol length
  • [PHY] Added coding rate to data rate struct
  • [LoRaWAN] Added support for US bands and reworked channel selection process
  • [LoRaWAN] Implemented most MAC commands
  • [HAL] Disable EEPROM on Arduino Due
  • Disable EEPROM on Nano 33 BLE and RP2040
  • Disable EEPROM on nRF52 and Portenta
  • Disable EEPROM on SAMD
  • Moved FAQ to Wiki
  • Added debug info to compilation process

Update 6.1.0

26 Jun 21:42
Compare
Choose a tag to compare
  • [Print] Added common print class
  • [Print] Added standalone ITA2
  • [Bell] Added Bell-compatible modem
  • Added CMakeLists
  • improve build workflow for better flexibility (by @Mesteery)
  • [SX128x] Wakeup device on standby() call
  • [SX126x] Wakeup device on standby() call (#740)
  • [SX128x] Added force wakeup to standby
  • [SX126x] Added force wakeup to standby (#740)
  • Update cmake to install
  • [CI] Added autotest job
  • [SX1272] Correct LoRa mode CRC register values (by @Olocool17)
  • [CRC] Added common CRC
  • [MOD] Added common reflect method
  • Removed dependency on algorithm (#748)
  • [MOD] Added option to use SX126x without GPIO
  • Added ESP-IDF example (#748)
  • [PHY] Fixed long prints
  • [FEC] Added FEC class
  • [PHY] Added default start receive
  • [Crypto] Added AES-128
  • [SX128x] Fixed default parameters
  • [SX127x] Fixed default parameters
  • [SX126x] Fixed default parameters
  • Bug in waitForMicroseconds prevTimingLen in V6.0.0 (by @KevWal)
  • [SX127x] Fixed references to 256 byte packets
  • Pager: allow manual override of function bits (by @h3ndrik)
  • [PHY] Added interface showcase example (#773)
  • [SX126x] Fixed blocking receive (#777)
  • Renamed basic examples to _Blocking
  • [SX127x] Swap Tx IQ inversion (#778)
  • [MOD] Rework for buffered SPI (#776)

Release 6.0.0

24 Apr 19:38
Compare
Choose a tag to compare

Breaking change

This release introduces the following backwards-incompatible changes to the public API:

  • All methods to attach interrupts (e.g., setDioAction(), setGdoAction() etc.) no longer have a default level change direction.
  • Signature of all methods/functions that use pin numbers (e.g. the Module constructor) changed from platform-dependent "pin type" changed to a common type (uint32_t)
  • Reworked hardware abstraction

Other changes:

  • [MOD] Fixed some signed comparison warnings
  • [SX126x] Added missing XTAL check
  • Added further explanation of the -707 error code (#691)
  • [SX126x] Fixed calibration order (#689)
  • [SX126x] Added spectral scan
  • [SX126x] Added patch binary license
  • [SX127x] Added missing standby for PhysicalLayer (#695)
  • [nRF24] Added missing standby overload
  • [RF69] Added missing standby overload
  • [Si443x] Added missing standby overload
  • [CC1101] Added missing standby overload
  • [Pager] Added missing exclude direct receive guards (#697)
  • add functions to PhysicalLayer interface (by @gasagna)
  • [SX126x] Added frequency error reading
  • [SX126x] Fixed chip id (#707)
  • [SX126x] Fix failure to enable low power sleep on CubeCell AB01 (by @gasagna)
  • [SX126x] Fixed frequency error calculation (#706)
  • [SX127x] Explicitly enabled CRC (#706)
  • [SX126x] Explicitly enabled CRC (#706)
  • [SX1278] New getInstRSSI to get current RSSI
  • [PHY] Fixed startReceive compatibility (#700)
  • [SX126x] Added spectral scan in frequency
  • [SX127x] & [SX126x] read current RSSI for getRSSI
  • [SX126x] Unified getRSSI interface
  • [SX127x] Unified getRSSI interface
  • [SX126x] Fix intermittent failure to initialise cubecell (#706) (by @gasagna)
  • [MOD] Fixed swapped NSS/BUSY order (#716)
  • [SX126x] Fixed packet length in LoRa implicit mode
  • [SX128x] Fixed packet length in implicit mode (#716)
  • [SX126x] Improved RNG
  • [SX127x] Fixed comments
  • [SX126x] Added IQ inversion
  • [SX128x] Added IQ inversion (#724)
  • [SX127x] Implemented fractional bit rate (#505)
  • [STM32WL] Fixed build for Platformio (#718)
  • [SX127x] Added missing explicit CRC configuration
  • [SX127x] Removed standby before data read
  • [SX126x] Remove standby before data read (#703)
  • [SX126x] Fixed IQ inversion not caching (#731)
  • [SX128x] Fixed IQ inversion
  • [HAL] Improve hardware abstraction layer (#730) (by @Mesteery)
  • [Pager] Fixed deprecation warning for ESP
  • [*] General reformatting
  • [MOD] Added debug message when BUSY pin times out
  • [MOD] Decreased default SPI timeout to 1000 ms

Update 5.7.0

05 Mar 22:38
Compare
Choose a tag to compare
  • Add method to support SX126x Rx Boosted Gain mode (#663 by Andrew Moroz)
  • [SX127x] Set minimum bit rate to 0.5 kbps (#665)
  • [SX127x] Fixed packet length not proagating correctly (#666)
  • [SX126x] Added support for AFSK transmission
  • [MOD] Added stream SPI transfer
  • [MOD] Port 16-bit address from ax5x43 dev
  • [MOD] Use SPI stream for register read/write
  • [SX128x] Use Module SPI stream
  • [SX126x] Use Module SPI stream
  • [SX126x] Added undocumented registers
  • [SX126x] Implemeted device type string check
  • [SX126x] Add irqFlags and irqMask parameters to receive methods (#684 by @GUVWAF)
  • Fix args to begin() in SX12xx settings examples (#688 by @brghena)
  • [SX126x] Added option to control XTAL/TCXO via member variable
  • [SX126x] Fixed bug in getDeviceErrors
  • [SX126x] Added more verbose calibration result check (#689)
  • [SX126x] Set SX1262 to accept SX1261 device string (#683)
  • [SX126x] Added more LBT/scan registers
  • Added further explanation of the -707 error code (#691)

Update 5.6.0

15 Jan 19:26
Compare
Choose a tag to compare
  • [RF69 & CC1101] Reworked cached parameters into getters (by @phretor)
  • [CC1101] Validate freq-dev unless special value 0 (by @phretor)
  • [Pager] Added option to invert frequencies (#7)
  • [Pager] Fixed default example pins
  • [RF69] Missing 1000.0 multipler in (by @phretor)
  • [Si443x] Added GFSK with BT 0.5 (#625)
  • Access getIrqStatus() without Godmode and change the flag setting like SX126x handles it (by @caveman99)
  • [Pager] Implemented inversion for receive (#641)
  • Added support for unofficial Raspberry Pi Pico core (#643)
  • Fixed inversion logic and inverted frame sync word (#641)
  • [SX126x] Set DIO2 to RF switch by default for FSK too (by @matthijskooijman)
  • Fix FSK Stream mode TX and RX (by Mitrokhin Anton)
  • [PHY] Added debug direct mode output
  • [Pager] Fixed inversion logic (#641)
  • [SX127x] Removed unnecessary volatile
  • [RF69] Fixed stream mode (#651)
  • [Stream] Cleaned up transmit example
  • [SX1280] Only check ranging address on slave
  • [SX128x] Added option to set custom ranging calibration (#293)
  • [SX126x] Fixed incorrect OCP step in documentation (#654)
  • [SX126x] Added note about allowed OCP range (#654)
  • Removed unnecessary interrupt enable (#657)
  • [PHY] Made virtual overloads non-pure
  • [EXT] Added support for external radios (646)
  • [STM32WLx] Add module for STM32WL MCUs with integrated radio (#588) (by @matthijskooijman)
  • [PHY] Added standby types abstraction
  • [Hell] Fixed timing issues on SX126x with TCXO (#659)
  • [CC1101] Fixed setPromiscuousMode(true) always failing