Skip to content

Releases: mcci-catena/arduino-lmic

v5.0.0: add sx126x support, fix ESP32 integration

18 Nov 03:36
40e9714
Compare
Choose a tag to compare

This is a major release, with potentially breaking changes.

Potentially breaking changes:

  • all hal_... global symbols were renamed lmic_hal_.... The effect should be small for user code, but the compliance sketch needed to be fixed. So you may have problems.

Enhancements include:

  • support for SX1261 and SX1262 radios
  • documentation updates
  • bug fixes

Caveats:

  • I have not run the RedwoodComm LoRaWAN compliance tests for this release.
  • I do not have a SX126x platform for test purposes (recommendations solicited)
  • I have not investigated whether things can be integrated more cleanly with modern Arduino CLI/IDE. WIth Arduino CLI, you can pass #define from the command line; I imagine this is also possible with the IDE. There may be better ways to configure the library these days.

What's Changed (automatically generated)

New Contributors

Full Changelog: v4.1.1...v5.0.0

v4.1.1: Patch release

27 Dec 22:24
4342770
Compare
Choose a tag to compare

Fix compatibility problems (#819, #820) with some ChirpStack US-like networks configured with all 500 kHz uplink channels disabled.

v4.1: Minor release: add battery status API, and fix bugs

11 Oct 03:41
26326e4
Compare
Choose a tag to compare

See docs in README.md for release details.

Test Results

LoRaWAN 1.0.3 test results (prepared by RedwoodComm RWC5020B with software v1.321). (These will be updated as we have a chance to run the tests.)

What's Changed

New Contributors

Full Changelog: v4.0.0...v4.1.0

v4.0.0 release: assign channels without replacement (& other fixes)

02 Jun 01:34
48f04f1
Compare
Choose a tag to compare

This is a major release, and (since it changes some of the contents of the LMIC structure, which are public) potentially breaking.

Potentially breaking changes include:

  • Remove XCHANNEL support from US region #404
  • Assign channels randomly without replacement #515, #619, #730.
  • Don't allow LMIC_setupChannel() to change default channels #714
  • Adopt semantic versions completely #726.

Enhancements include:

  • Add LMIC_queryNumDefaultChannels() #700.
  • Don't compile board config objects when we know for sure they'll not be used; compilers can't always tell #736.

Important bug-fixes include:

  • Don't accept out-of-range DRs from MAC downlink messages #723
  • Implement JoinAccept CFList processing for US/AU #739.
  • Correct JoinAccept CFList processing for AS923 #740.

Fixes include:

  • Fix some broken documentation references #644, #646, #673.
  • Re-added CI testing, since Travis CI no longer works for us #647; fixed AVR compliance CI compile #679.
  • Don't use defined() in macro definitions #606
  • Fix a warning on AVR32 #709.
  • Fix Helium link in examples #715, #718.

Pre-release of V4: bug fixes

31 May 04:33
b680117
Compare
Choose a tag to compare
Pre-release

This pre-release adds bug fixes for #739 and #740. This means you can set your device for 64 channels (in the US or AU) and still work properly after joining with a network with an 8-channel gateway. It also fixes channel assignment for AS923 when channels are supplied in a CFList at the JoinAccept.

Pre-release of V4 with proper channel hopping, bug fixes

06 May 15:49
9a3792d
Compare
Choose a tag to compare

Documentation is lagging, but I've been using this and it seems to work. Key features:

  • Added proper channel hopping using channel selection without replacement (rather than with replacement). This means that the sequence within a set of enabled channels should visit all the enabled channels (randomly) before re-visiting any in the set.
  • Bug fixes for compliance testing.
  • Various other features and contributions.

I've been testing this successfully with TTN V3. Not a lot of testing with non-US regions, although I've run some of the compliance tests.

v3.3.0: 2020q4 release: bug fixes, doc improvements

14 Dec 21:53
5eb752d
Compare
Choose a tag to compare

Incorporate bug fixes into release, and update documentation. Since some pinmaps were added, the version is now v3.3.0. See release history in README.md for details.

Support for non-modified BSPs

12 May 13:39
6fe04ec
Compare
Choose a tag to compare

The main point of this release is to remove the interrupt disables that were formerly used in the radio driver, by dividing required interrupt processing into two parts:

  • capturing the time of the event (which must happen right away), and
  • fetching results from hardware (which is not time critical, and which must be coordinated with background activity).

Formerly, the "interrupt enable" routine in the HAL would do the first of these operations (when polling) and the second of these operations (whether interrupt driven or polled). As of this release, the "interrupt enable" routine in the HAL only polls for time-critical events. Fetching results is moved to an separate routine, which os_runloop_once() explicitly calls. With these changes, use of enable/disable interrupts was removed from radio.c, and now is isolated to oslmic.c and the HAL itself.

Other changes include bug fixes and example enhancements.

The version was changed to v3.2.0 because of the enhancements in the example scripts; otherwise this is primarily a bug-fix release. See release notes for more details.

Highly compliant Class A operation

07 Feb 02:31
79accbb
Compare
Choose a tag to compare

This release incorporates numerous changes that make the LMIC function well as a LoRaWAN 1.0.3 Class A device.

Code that accesses the content of the LMIC structure may need to be modified, as some of the fields have been renamed, or rearranged.

See the README.md for more details.

Maintenance release

10 Feb 20:25
87b6398
Compare
Choose a tag to compare
  • v2.3.2 is a patch release. It incorporates two pull requests.

    • #204 eliminates a warning if using a custom pinmap.
    • #206 updates CI testing to Arduino IDE v1.8.8.