Releases: mcci-catena/arduino-lmic
v5.0.0: add sx126x support, fix ESP32 integration
This is a major release, with potentially breaking changes.
Potentially breaking changes:
- all
hal_...
global symbols were renamedlmic_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)
- fix #840: enable device time request by default by @dhineshkumarmcci in #844
- add include for u1_t type by @supcik in #914
- Add driver for SX126x modems by @TristanWebber in #949
- This is version 4.2.0-pre2 by @terrillmoore in #964
- Fixed small typo by @Xraydylan in #956
- Initialize dht in ttn-abp-feather-us915-dht22 example by @jlesech in #902
- Update HOWTO-ADD-REGION.md by @wlwatkins in #879
- Address various issues related to SX126x support by @terrillmoore in #973
- Rename
hal_
exports tolmic_hal_
by @terrillmoore in #974 - Fix #967: Add DISABLE_LMIC_FAILURE_TO on AVR test compiles to save space by @terrillmoore in #975
- Prepare documentation for v5.0.0 release by @terrillmoore in #980
- Release version v5.0.0 by @terrillmoore in #981
New Contributors
- @supcik made their first contribution in #914
- @TristanWebber made their first contribution in #949
- @Xraydylan made their first contribution in #956
- @jlesech made their first contribution in #902
- @wlwatkins made their first contribution in #879
Full Changelog: v4.1.1...v5.0.0
v4.1.1: Patch release
v4.1: Minor release: add battery status API, and fix bugs
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.)
- US915:
EDT_US915_V103_ClassA_CERTIFICATION_USCA_TEST_RESULT.pdf
. Passes all tests. - AS923 (with settings for Japan, LBT and lower default dBi):
EDT_AS923_V103_ClassA_LORAWAN_CERTIFICATION_AS_TEST_RESULT_NO_OptDR.pdf
. Passes the required tests. The FSK downlink and SF7BW250 downlink tests do not pass, but these downlink speeds have not been not commonly used to date.
What's Changed
- Fix #763: use TimeLib.h in ttn-otaa-network-time example; this is v4.0.1-pre1 by @terrillmoore in #764
- Some more warning removed by @d-a-v in #791
- Update README.md by @PeeJay in #780
- Warning message for Adafruit Feather M0 pin mapping by @d-a-v in #755
- Support for TTGO-LoRa32-v2.1.6 by @ChrSchultz in #692
- MAX EIRP is 13dBm (= 19.95mW < 20mW) in as923jp by @ryos36 in #662
- Add control over battery level response for DevStatusAns MAC message by @terrillmoore in #799
- Fix #800: tweaks to compliance sketch by @terrillmoore in #801
- Fix #802: Prepare v4.1.0 release by @terrillmoore in #803
New Contributors
- @PeeJay made their first contribution in #780
- @ChrSchultz made their first contribution in #692
- @ryos36 made their first contribution in #662
Full Changelog: v4.0.0...v4.1.0
v4.0.0 release: assign channels without replacement (& other fixes)
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:
Pre-release of V4: bug fixes
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
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
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
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
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.