Skip to content

Commit 26326e4

Browse files
authored
Merge pull request #803 from mcci-catena/issue802
Fix #802: Prepare v4.1.0 release
2 parents 5d7267c + 266df82 commit 26326e4

8 files changed

+33
-27
lines changed

README.md

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,6 @@
11
# Arduino-LMIC library ("MCCI LoRaWAN LMIC Library")
22

3-
This repository contains the IBM LMIC (LoRaWAN-MAC-in-C) library, slightly
4-
modified to run in the Arduino environment, allowing using the SX1272,
5-
SX1276 transceivers and compatible modules (such as some HopeRF RFM9x
6-
modules and the Murata LoRa modules).
7-
8-
> Note on names: the library was originally ported to Arduino by Matthijs Kooijman and Thomas Telkamp, and was named Arduino LMIC. Subsequently, MCCI did a lot of work to support other regions, and ultimately took over maintenance. The Arduino IDE doesn't like two libraries with the same name, so we had to come up with a new name. So in the IDE, it will appear as MCCI LoRaWAN LMIC Library; but all us know it by the primary header file, which is `<arduino_lmic.h>`.
9-
10-
Information about the LoRaWAN protocol is summarized in [LoRaWAN-at-a-glance](doc/LoRaWAN-at-a-glance.pdf). Full information is available from the [LoRa Alliance](https://lora-alliance.org).
11-
12-
A support forum is available at [forum.mcci.io](https://forum.mcci.io/c/device-software/arduino-lmic/5).
13-
14-
The base Arduino library mostly exposes the functions defined by LMIC. It makes no
15-
attempt to wrap them in a higher level API that is more in the Arduino
16-
style. To find out how to use the library itself, see the examples, or
17-
see the PDF files in the doc subdirectory.
18-
19-
A separate library, [MCCI `arduino-lorawan`](https://github.com/mcci-catena/arduino-lorawan), provides a higher level, more Arduino-like wrapper which may be useful.
20-
21-
The examples in this library (apart from the compliance sketch) are somewhat primitive. A very complete cross-platform Arduino application based on the LMIC has been published by Leonel Lopes Parente ([`@lnlp`](https://github.com/lnlp)) as [LMIC-node](https://github.com/lnlp/LMIC-node). That application specifically targets The Things Network.
22-
23-
Although the wrappers in this library are designed to make the LMIC useful in the Arduino environment, the maintainers have tried to be careful to keep the core LMIC code generally useful. For example, I use this library without modification (but with wrappers) on a RISC-V platform in a non-Arduino environment.
24-
25-
[![GitHub release](https://img.shields.io/github/release/mcci-catena/arduino-lmic.svg)](https://github.com/mcci-catena/arduino-lmic/releases/latest) [![GitHub commits](https://img.shields.io/github/commits-since/mcci-catena/arduino-lmic/latest.svg)](https://github.com/mcci-catena/arduino-lmic/compare/v4.0.0...master) [![Arduino CI](https://img.shields.io/github/workflow/status/mcci-catena/arduino-lmic/Arduino%20CI)](https://github.com/mcci-catena/arduino-lmic/actions)
3+
[![GitHub release](https://img.shields.io/github/release/mcci-catena/arduino-lmic.svg)](https://github.com/mcci-catena/arduino-lmic/releases/latest) [![GitHub commits](https://img.shields.io/github/commits-since/mcci-catena/arduino-lmic/latest.svg)](https://github.com/mcci-catena/arduino-lmic/compare/v4.1.0...master) [![Arduino CI](https://img.shields.io/github/workflow/status/mcci-catena/arduino-lmic/Arduino%20CI)](https://github.com/mcci-catena/arduino-lmic/actions)
264

275
**Contents:**
286

@@ -39,6 +17,7 @@ Although the wrappers in this library are designed to make the LMIC useful in th
3917
<!-- markdownlint-disable -->
4018
<!-- TOC depthFrom:2 updateOnSave:true -->
4119

20+
- [Introduction](#introduction)
4221
- [Installing](#installing)
4322
- [Getting Help](#getting-help)
4423
- [If it's not working](#if-its-not-working)
@@ -117,6 +96,31 @@ Although the wrappers in this library are designed to make the LMIC useful in th
11796
<!-- markdownlint-restore -->
11897
<!-- Due to a bug in Markdown TOC, the table is formatted incorrectly if tab indentation is set other than 4. Due to another bug, this comment must be *after* the TOC entry. -->
11998

99+
## Introduction
100+
101+
This repository contains the IBM LMIC (LoRaWAN-MAC-in-C) library, slightly
102+
modified to run in the Arduino environment, allowing using the SX1272,
103+
SX1276 transceivers and compatible modules (such as some HopeRF RFM9x
104+
modules and the Murata LoRa modules).
105+
106+
> Note on names: the library was originally ported to Arduino by Matthijs Kooijman and Thomas Telkamp, and was named Arduino LMIC. Subsequently, MCCI did a lot of work to support other regions, and ultimately took over maintenance. The Arduino IDE doesn't like two libraries with the same name, so we had to come up with a new name. So in the IDE, it will appear as MCCI LoRaWAN LMIC Library; but all us know it by the primary header file, which is `<arduino_lmic.h>`.
107+
108+
Information about the LoRaWAN protocol is summarized in [LoRaWAN-at-a-glance](doc/LoRaWAN-at-a-glance.pdf). Full information is available from the [LoRa Alliance](https://lora-alliance.org).
109+
110+
A support forum is available at [forum.mcci.io](https://forum.mcci.io/c/device-software/arduino-lmic/5).
111+
112+
The base Arduino library mostly exposes the functions defined by LMIC. It makes no
113+
attempt to wrap them in a higher level API that is more in the Arduino
114+
style. To find out how to use the library itself, see the examples, or
115+
see the PDF files in the doc subdirectory.
116+
117+
A separate library, [MCCI `arduino-lorawan`](https://github.com/mcci-catena/arduino-lorawan), provides a higher level, more Arduino-like wrapper which may be useful.
118+
119+
The examples in this library (apart from the compliance sketch) are somewhat primitive. A very complete cross-platform Arduino application based on the LMIC has been published by Leonel Lopes Parente ([`@lnlp`](https://github.com/lnlp)) as [LMIC-node](https://github.com/lnlp/LMIC-node). That application specifically targets The Things Network.
120+
121+
Although the wrappers in this library are designed to make the LMIC useful in the Arduino environment, the maintainers have tried to be careful to keep the core LMIC code generally useful. For example, I use this library without modification (but with wrappers) on a RISC-V platform in a non-Arduino environment.
122+
123+
120124
## Installing
121125

122126
To install this library:
@@ -169,7 +173,7 @@ us know (creating a GitHub issue is probably the best way for that).
169173

170174
### PDF/Word Documentation
171175

172-
The `doc` directory contains [LMIC-v4.0.0.pdf](doc/LMIC-v4.0.0.pdf), which documents the library APIs and use. It's based on the original IBM documentation, but has been adapted for this version of the library. However, as this library is used for more than Arduino, that document is supplemented by practical details in this document.
176+
The `doc` directory contains [LMIC-v4.1.0.pdf](doc/LMIC-v4.1.0.pdf), which documents the library APIs and use. It's based on the original IBM documentation, but has been adapted for this version of the library. However, as this library is used for more than Arduino, that document is supplemented by Arduino-specific details in this document.
173177

174178
### Adding Regions
175179

@@ -1240,7 +1244,7 @@ function uflt12f(rawUflt12)
12401244

12411245
## Release History
12421246

1243-
- HEAD contains the following changes
1247+
- v4.1 contains the following changes
12441248
- Adapt `ttn-otaa-network-time` example to be compatible with [PaulStoffregen/Time](https://github.com/PaulStoffregen/Time) v1.6.1, which deletes `Time.h` in favor of `TimeLib.h` [#763](https://github.com/mcci-catena/arduino-lmic/issues/763). Version is v4.0.1-pre1.
12451249
- Add support for TTGO LoRa32-OLED v2.1.6. (Thanks to [@ChrSchultz](https://github.com/ChrSchultz), [#692](https://github.com/mcci-catena/arduino-lmic/pull/692).)
12461250
- Correct max TX EIRP for Japan to 13 dBm. (Thanks to [@ryos36](https://github.com/ryos36), [#662](https://github.com/mcci-catena/arduino-lmic/pull/662).)
@@ -1249,6 +1253,8 @@ function uflt12f(rawUflt12)
12491253
- Fix typos in this document ([#780](https://github.com/mcci-catena/arduino-lmic/issues/780), thanks [@PeeJay](https://github.com/PeeJay)).
12501254
- Fix additional warnings on non-ARM platforms ([#791](https://github.com/mcci-catena/arduino-lmic/issues/791), thanks [@d-a-v](https://github.com/d-a-v)).
12511255
- Allow application to set the value to be used in `DeviceStatusAns` MAC messages ([#576](https://github.com/mcci-catena/arduino-lmic/issues/576) and [#560](https://github.com/mcci-catena/arduino-lmic/issues/560), thanks to [@altishchenko](https://github.com/altishchenko)).
1256+
- Minor adjustments to the compliance sketch ([#800](https://github.com/mcci-catena/arduino-lmic/issues/576)).
1257+
- Update the LMIC reference manual to `LMIC-v4.1.0.pdf`.
12521258

12531259
- v4.0 is a major release; changes are significant enough to be "likely breaking". It includes the following changes.
12541260

doc/LMIC-v4.0.0-redline.pdf

-562 KB
Binary file not shown.

doc/LMIC-v4.0.0.docx

-102 KB
Binary file not shown.

doc/LMIC-v4.1.0-redline.pdf

562 KB
Binary file not shown.

doc/LMIC-v4.1.0.docx

104 KB
Binary file not shown.
Binary file not shown.

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=MCCI LoRaWAN LMIC library
2-
version=4.0.0
2+
version=4.1.0
33
author=IBM, Matthijs Kooijman, Terry Moore, ChaeHee Won, Frank Rose
44
maintainer=Terry Moore <[email protected]>
55
sentence=Arduino port of the LMIC (LoraWAN-MAC-in-C) framework provided by IBM.

src/lmic/lmic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ extern "C"{
106106
((((major)*UINT32_C(1)) << 24) | (((minor)*UINT32_C(1)) << 16) | (((patch)*UINT32_C(1)) << 8) | (((local)*UINT32_C(1)) << 0))
107107

108108
#define ARDUINO_LMIC_VERSION \
109-
ARDUINO_LMIC_VERSION_CALC(4, 1, 0, 1) /* 4.1.0-pre1 */
109+
ARDUINO_LMIC_VERSION_CALC(4, 1, 0, 0) /* 4.1.0 */
110110

111111
#define ARDUINO_LMIC_VERSION_GET_MAJOR(v) \
112112
((((v)*UINT32_C(1)) >> 24u) & 0xFFu)

0 commit comments

Comments
 (0)