Releases: chandrawi/LoRaRF-Arduino
Fix SX126x getDeviceError and initialization
STM32, ESP32, and ESP8266 Support
Added support for STM32 using STM32duino, ESP32, ESP8266 based board.
The default SPI speed changed to 16 Mhz (maximum LoRa chip can handle). For AVR based processor, the SPI default speed is set to half of the procesor CPU as default.
LoRa SX127x Series Support
Support for working with LoRa SX127x added. SX127x.h
header file added. To work with SX127x series just include the header and create an object from SX127x class.
#include <SX127x.h>
SX127x LoRa;
Most methods in new SX127x
class are similar to SX126x
class in previous version. You can transmit and receive LoRa package using SX127x like using SX126x series.
Some of SX126x
methods are modified. The modified methods:
setLoRaModulation()
-> input bandwidth change to bandwidth value in Hz and input code rate change to code rate denominationsetLoRaPacket()
-> input CRC type and invert IQ change to booleansetLoRaPayloadLength()
-> deprecated and replaced withsetPayloadLength()
methodsetLoRaSyncWord()
-> deprecated and replaced withsetSyncWord()
methodflush()
-> deprecated and replaced withpurge()
method
Methods added in SX126x
class:
setSpreadingFactor()
setBandwidth()
setCodeRate()
setLdroEnable()
setHeaderType()
setPreambleLength()
setCrcEnable()
setInvertIq()
random()
Asynchronous Transmit and Receive
Modify transmit and receive process sequence to work asynchronously. IRQ
pin connection no longer required to work asynchronously in this version. On the other hand, we should use wait()
method before continuing transmit or receive to ensure previous transmit or receive finished.
onTransmit()
and onReceive()
callback method added to SX126x class. You can immediately call a routine function when a transmit or receive operation done. To using those method, IRQ
pin connection required. Example to use callback method added in this version.
SX126x method changes:
setSPI()
-> Add changing SPI frequencyendPacket()
-> Add interrupt flag argumentrequest()
-> Add interrupt flag argumentlisten()
-> Add interrupt flag argumentwait()
-> Return false if wait timeout reached and true if otherwiserssi()
-> Change to return int16_tsignalRssi()
-> Change to return int16_trssiInst()
-> Change to return int16_t
User defined timeout for wait method
Modify wait method to use user defined timeout. wait method used to limit time for TX and RX operation.
Frequency setting fix
Fix frequency calculation on setFrequency() method
SX126x API Fix
Fix some issue in SX126x API including changing RF frequency
First release
Initial LoRa-RF library for Arduino platform