Skip to content

Commit 0e28b84

Browse files
authored
Merge pull request #5 from Lora-net/develop
update development branch
2 parents e5588c6 + 0968361 commit 0e28b84

File tree

270 files changed

+7292
-9399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

270 files changed

+7292
-9399
lines changed

.vscode/c_cpp_properties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
]
1111
},
1212
"cStandard": "c11",
13-
"cppStandard": "c++17"
13+
"cppStandard": "c++17",
14+
"configurationProvider": "vector-of-bool.cmake-tools"
1415
}
1516
],
1617
"version": 4

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// path:
77
// Windows : No default path. Specify the path where the
88
// toolchain is installed. i.e:
9-
// "C:/PROGRA~2/GNUTOO~1/72017-~1".
9+
// "C:/PROGRA~2/GNUTOO~1/92019-~1".
1010
// Linux : /usr
1111
// OSX : /usr/local
1212
// It is required to uncomment and to fill the following line.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
## License: Revised BSD License, see LICENSE.TXT file included in the project
1616
## Authors: Johannes Bruder (STACKFORCE), Miguel Luis (Semtech)
1717
##
18+
project(loramac-node)
1819
cmake_minimum_required(VERSION 3.6)
1920

20-
2121
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)

readme.md

Lines changed: 73 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
\____ \| ___ | (_ _) ___ |/ ___) _ \
77
_____) ) ____| | | || |_| ____( (___| | | |
88
(______/|_____)_|_|_| \__)_____)\____)_| |_|
9-
(C)2013-2018 Semtech
9+
(C)2013-2019 Semtech
1010

1111
___ _____ _ ___ _ _____ ___ ___ ___ ___
1212
/ __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
@@ -18,19 +18,17 @@
1818

1919
The aim of this project is to show an example of the endpoint LoRaWAN stack implementation.
2020

21-
This project has 3 active branches in place. The **[master](https://github.com/Lora-net/LoRaMac-node/tree/master)** branch which provides the latest released source code ([v4.4.1](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.4.1)), the **[develop](https://github.com/Lora-net/LoRaMac-node/tree/develop)** branch which provides the current source code development status to be released next ([Milestone 4.4.2](https://github.com/Lora-net/LoRaMac-node/milestone/2)) and the **[feature/5.0.0](https://github.com/Lora-net/LoRaMac-node/tree/feature/5.0.0)** branch which provides a preview of the current source code development status for [LoRaWAN Specification v1.1](https://lora-alliance.org/resource-hub/lorawantm-specification-v11) specification.([Milestone 5.0.0](https://github.com/Lora-net/LoRaMac-node/milestone/3))
21+
This project has 3 active branches in place. The **[master](https://github.com/Lora-net/LoRaMac-node/tree/master)** branch which provides the latest released source code ([v4.4.3](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.4.3)), the **[develop](https://github.com/Lora-net/LoRaMac-node/tree/develop)** branch which provides the current source code development status to be released next ([Milestone 4.4.4](https://github.com/Lora-net/LoRaMac-node/milestone/6)) and the **[feature/5.0.0](https://github.com/Lora-net/LoRaMac-node/tree/feature/5.0.0)** branch which provides a preview of the current source code development status for [LoRaWAN Specification v1.1](https://lora-alliance.org/resource-hub/lorawantm-specification-v11) specification.([Milestone 5.0.0](https://github.com/Lora-net/LoRaMac-node/milestone/3))
2222

23-
* The [master](https://github.com/Lora-net/LoRaMac-node/tree/master) branch implementation is based on [LoRaWAN Specification v1.0.2](https://lora-alliance.org/resource-hub/lorawantm-specification-v102) and [LoRaWAN Regional Parameters v1.0.2rB](https://www.lora-alliance.org/resource-hub/lorawantm-regional-parameters-v102rb) specifications.
24-
ClassA and ClassC end-device classes are fully implemented.
23+
* The [master](https://github.com/Lora-net/LoRaMac-node/tree/master) branch implementation is based on [LoRaWAN Specification v1.0.3](https://lora-alliance.org/resource-hub/lorawantm-specification-v103) and [LoRaWAN Regional Parameters v1.0.3revA](https://www.lora-alliance.org/resource-hub/lorawantm-regional-parameters-v103reva) specifications.
24+
ClassA, ClassB and ClassC end-device classes are fully implemented.
2525

2626
* The [develop](https://github.com/Lora-net/LoRaMac-node/tree/develop) branch implementation is based on [LoRaWAN Specification v1.0.3](https://lora-alliance.org/resource-hub/lorawantm-specification-v103) and [LoRaWAN Regional Parameters v1.0.3revA](https://lora-alliance.org/resource-hub/lorawan-regional-parameters-v103reva) specifications.
2727
ClassA, ClassB and ClassC end-device classes are fully implemented.
2828

2929
* The [feature/5.0.0](https://github.com/Lora-net/LoRaMac-node/tree/feature/5.0.0) branch implementation is based on [LoRaWAN Specification v1.1](https://lora-alliance.org/resource-hub/lorawantm-specification-v11) and [LoRaWAN Regional Parameters v1.1rB](https://lora-alliance.org/resource-hub/lorawantm-regional-parameters-v11rb) specifications.
3030
ClassA, ClassB and ClassC end-device classes are fully implemented.
3131

32-
The [develop](https://github.com/Lora-net/LoRaMac-node/tree/develop) and [feature/5.0.0](https://github.com/Lora-net/LoRaMac-node/tree/feature/5.0.0) branches both rely on a software emulated secure-element implementation. Please refer to the [Secure element API](https://github.com/Lora-net/LoRaMac-node/wiki/secure-element) document for further information.
33-
3432
This project also provides SX1272/73, SX1276/77/78/79 and SX1261/2 radio drivers.
3533

3634
For each currently supported platform example applications are provided.
@@ -41,13 +39,17 @@ For each currently supported platform example applications are provided.
4139

4240
* **LoRaMac/classC**: ClassC end-device example application.
4341

42+
* **LoRaMac/fuota-test-01**: FUOTA test scenario 01 end-device example application. (Based on provided application common packages)
43+
44+
* **LoRaMac/periodic-uplink-lpp**: ClassA/B/C end-device example application. Periodically uplinks a frame using the Cayenne LPP protocol. (Based on provided application common packages)
45+
4446
* **ping-pong**: Point to point RF link example application.
4547

4648
* **rx-sensi**: Example application useful to measure the radio sensitivity level using an RF generator.
4749

4850
* **tx-cw**: Example application to show how to generate an RF Continuous Wave transmission.
4951

50-
**Note**: *Each LoRaWAN application example (LoRaMac/classX) includes an implementation of the LoRa-Alliacne; LoRaWAN certification protocol.*
52+
**Note**: *Each LoRaWAN application example (LoRaMac/classX) includes an implementation of the LoRa-Alliance; LoRaWAN certification protocol.*
5153

5254
**Note**: *The LoRaWAN stack API documentation can be found at: http://stackforce.github.io/LoRaMac-doc/*
5355

@@ -87,6 +89,50 @@ This program uses the CMAC algorithm implementation
8789

8890
## Changelog
8991

92+
### 2019-12-17, V4.4.3
93+
94+
* General
95+
1. Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
96+
2. GitHub reported issues corrections. Please refer to [Release Version 4.4.3](https://github.com/Lora-net/LoRaMac-node/milestone/4)
97+
98+
### 2019-07-19, V4.4.2
99+
100+
* General
101+
1. Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
102+
2. Examples application refactoring plus the addition of the application status display on the serial port. (921600-8-N-1)
103+
3. Added new refactored application examples
104+
* Added LoRa-Alliance defined application layer protocols support. Only FUOTA test scenario 01 required features are currently implemented.
105+
* "Clock Synchronization" package
106+
* "Fragmented data block transport" package
107+
* "Remote multicast setup" package
108+
4. Added a NVM context management module. (Disabled by default)
109+
5. Added secure-element support
110+
6. Refactored timer.c/h, rtc-driver.c/h and added a systime.c/h module.
111+
7. Functions in ISR context have been moved to main context
112+
8. Replaced BoardDisableIrq and BoardEnableIrq functions by CRITICAL_SECTION_BEGIN and CRITICAL_SECTION_END respectively.
113+
9. Added B-L072Z-LRWAN1 platform support.
114+
10. Added NucleoL476 platform support.
115+
11. Added IMST new platforms.
116+
12. Removed SensorNode platform support
117+
13. Removed MoteII platform support
118+
14. Removed LoRaMote platform support
119+
15. Applied SX1272 and SX1276 radios errata note 3.1 to the radio drivers implementation.
120+
16. Fix printf/scanf functions when GCC is used as compiler.
121+
122+
* LoRaWAN
123+
1. GitHub reported issues corrections. Please refer to [Release Version 4.4.2](https://github.com/Lora-net/LoRaMac-node/milestone/2)
124+
2. Heavily refactored the LoRaMac.c/h implementation.
125+
3. Added RU864 region support.
126+
4. Removed US915-Hybrid region support
127+
5. Added ClassB support.
128+
6. Added a callback to notify the upper layer to call LoRaMacProcess function
129+
7. Implemented the support for RxC windows (ClassC) required by the application layer protocols.
130+
8. Changed multicast channels handling according to the application layer protocols.
131+
132+
**LoRaWAN pre-certification results**
133+
134+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
135+
90136
### 2018-03-07, V4.4.1
91137

92138
* General
@@ -101,19 +147,9 @@ This program uses the CMAC algorithm implementation
101147
* LoRaWAN
102148
1. GitHub reported issues corrections. Please refer to [Release Version 4.4.1](https://github.com/Lora-net/LoRaMac-node/milestone/1)
103149

104-
**LoRaWAN certification results**
150+
**LoRaWAN pre-certification results**
105151

106-
| Region | Verdict | # Test houses | Comments |
107-
| ------------- |:-------------:|:-------------:|:--------------|
108-
| EU868 | <font color='green'>PASS</font> | 2 | - |
109-
| US915 | <font color='green'>PASS</font> | 2 | - |
110-
| CN779 | <font color='green'>PASS</font> | 1 | No certification specification - tests based on EU868 certification |
111-
| EU433 | <font color='orange'>Not tested</font> | 1 | No certification specification - tests based on EU868 certification |
112-
| AU915 | <font color='green'>PASS</font> | 0 | No certification specification - tests based on US915 certification |
113-
| CN470 | <font color='orange'>Not tested</font> | 0 | No certification specification |
114-
| AS923 | <font color='green'>PASS</font> | 2 | - |
115-
| KR920 | <font color='green'>PASS</font> | 1 | - |
116-
| IN865 | <font color='green'>PASS</font> | 2 | - |
152+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
117153

118154
### 2017-09-08, V4.4.0
119155

@@ -128,19 +164,9 @@ This program uses the CMAC algorithm implementation
128164
2. Updated implementation to support 1.0.2 specification additions.
129165
3. Added the support for all "LoRaWAN Regional Parameters v1.0.2rB" document defined regions.
130166

131-
**LoRaWAN certification results**
167+
**LoRaWAN pre-certification results**
132168

133-
| Region | Verdict | # Test houses | Comments |
134-
| ------------- |:-------------:|:-------------:|:--------------|
135-
| EU868 | <font color='green'>PASS</font> | 2 | - |
136-
| US915 | <font color='green'>PASS</font> | 2 | - |
137-
| CN779 | <font color='orange'>Partial PASS</font> | 1 | No certification specification - tests based on EU868 certification - All tests PASS except 1. Join Accept Rx2 parameters not being applied (under investigation) |
138-
| EU433 | <font color='green'>PASS</font> | 1 | No certification specification - tests based on EU868 certification |
139-
| AU915 | <font color='orange'>Not tested yet</font> | 0 | No certification specification |
140-
| CN470 | <font color='orange'>Not tested yet</font> | 0 | No certification specification |
141-
| AS923 | <font color='green'>PASS</font> | 2 | - |
142-
| KR920 | <font color='green'>PASS</font> | 1 | As of today only one test house has sent a report. We decided to perform the release anyway |
143-
| IN865 | <font color='orange'>PASS</font> | 1 | No certification specification - tests based on EU868 certification |
169+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
144170

145171
### 2017-04-19, V4.3.2
146172

@@ -162,6 +188,10 @@ This program uses the CMAC algorithm implementation
162188
5. MAC layer indications handling simplification.
163189
6. Relocate parameter settings from ResetMacParameters to the initialization.
164190

191+
**LoRaWAN pre-certification results**
192+
193+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
194+
165195
### 2017-02-27, V4.3.1
166196

167197
* General
@@ -184,6 +214,10 @@ This program uses the CMAC algorithm implementation
184214
2. GitHub reported issues corrections.
185215
3. Add region CN470 support.
186216

217+
**LoRaWAN pre-certification results**
218+
219+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
220+
187221
### 2016-06-22, V4.3.0
188222

189223
* General
@@ -217,6 +251,10 @@ This program uses the CMAC algorithm implementation
217251
15. Bug fix in OnRadioRxDone. Node now drops frames on port 0 with fOpts > 0.
218252
16. Bug fix in OnRadioRxDone. Node now receives frames with fOpts > 0 when no payload is present.
219253

254+
**LoRaWAN pre-certification results**
255+
256+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
257+
220258
### 2016-05-13, V4.2.0
221259

222260
* General
@@ -250,6 +288,10 @@ This program uses the CMAC algorithm implementation
250288
12. Accept MAC information of duplicated, confirmed downlinks.
251289
13. Issue(#74): Drop frames with a downlink counter difference greater or equal to MAX_FCNT_GAP.
252290

291+
**LoRaWAN pre-certification results**
292+
293+
Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
294+
253295
### 2016-03-10, V4.1.0
254296

255297
* General

0 commit comments

Comments
 (0)