Skip to content

Releases: chandrawi/LoRaRF-Arduino

Fix SX126x getDeviceError and initialization

10 Oct 16:47
Compare
Choose a tag to compare

Fix the following bugs:

  1. Fix TX and RX operation using interrupt by modified _statusIrq to volatile
  2. Fix LLCC68 initialization when using fast CPUs. see #9
  3. Fix sx126x_getDeviceErrors to read 3 bytes from response. see #6

STM32, ESP32, and ESP8266 Support

03 Sep 07:08
Compare
Choose a tag to compare

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

13 Jan 06:36
Compare
Choose a tag to compare

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 denomination
  • setLoRaPacket() -> input CRC type and invert IQ change to boolean
  • setLoRaPayloadLength() -> deprecated and replaced with setPayloadLength() method
  • setLoRaSyncWord() -> deprecated and replaced with setSyncWord() method
  • flush() -> deprecated and replaced with purge() method

Methods added in SX126x class:

  • setSpreadingFactor()
  • setBandwidth()
  • setCodeRate()
  • setLdroEnable()
  • setHeaderType()
  • setPreambleLength()
  • setCrcEnable()
  • setInvertIq()
  • random()

Asynchronous Transmit and Receive

13 Jan 06:05
Compare
Choose a tag to compare

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 frequency
  • endPacket() -> Add interrupt flag argument
  • request() -> Add interrupt flag argument
  • listen() -> Add interrupt flag argument
  • wait() -> Return false if wait timeout reached and true if otherwise
  • rssi() -> Change to return int16_t
  • signalRssi() -> Change to return int16_t
  • rssiInst() -> Change to return int16_t

User defined timeout for wait method

19 Nov 00:52
Compare
Choose a tag to compare

Modify wait method to use user defined timeout. wait method used to limit time for TX and RX operation.

Frequency setting fix

25 Mar 17:31
Compare
Choose a tag to compare

Fix frequency calculation on setFrequency() method

SX126x API Fix

06 Mar 03:00
Compare
Choose a tag to compare

Fix some issue in SX126x API including changing RF frequency

First release

25 Dec 12:12
Compare
Choose a tag to compare

Initial LoRa-RF library for Arduino platform