diff --git a/CHANGELOG.md b/CHANGELOG.md index 313c7a4d8..31bc97fe4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ Please refer to [Releases pre-certification-results](https://github.com/Lora-net ## [Unreleased] +## [4.4.5] - 2020-10-14 + ### General - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA" @@ -23,6 +25,8 @@ Please refer to [Releases pre-certification-results](https://github.com/Lora-net - Added new specific board API to initialize the RF switch (`SX126xIoRfSwitchInit`) - Add to AS923 and KR920 regions a definition for the Rx bandwidth to be used while executing the LBT algorithm - Added support for other AS923 channel sub plan groups. +- Added FPort filtering to loramac handler packages. +- Added missing NVM update notifications ### Changed @@ -30,6 +34,10 @@ Please refer to [Releases pre-certification-results](https://github.com/Lora-net - Changed hard coded `JoinAccept` max payload size (33) by `LORAMAC_JOIN_ACCEPT_FRAME_MAX_SIZE` definition. - Moved radio operating mode management to specific board implementation - Changed radio `IsChannelFree API` in order to provide reception bandwidth +- Back port 1.0.4 region implementation improvements +- Changed `RegionCommonComputeSymbolTimeLoRa`, `RegionCommonComputeSymbolTimeFsk` and `RegionCommonComputeRxWindowParameters` + API implementations to use integer divisions instead of double division. +- Changed DeriveSessionKey10x and DeriveSessionKey11x functions API (Removed pointer based variable usage) ### Fixed @@ -42,6 +50,13 @@ Please refer to [Releases pre-certification-results](https://github.com/Lora-net - Fixed `LoRaMacCrypto.c` conditional pre-processing. - Fixed missing `Rx1Frequency` reset for dynamic channel plans - Applied Japan ARIB restrictions to the `AS923_1_JP` sub plan +- Applied Regional Parameters 1.0.3.revA ERRATA note concerning the ClassB beacon format +- Fixed SAMR34 compiling issue when `USE_RADIO_DEBUG` directive is defined +- Fixed `SX126xClearIrqStatus` call to only clear read flags +- Fixed GFSK bandwidth handling for SX126x and LR1110 radios. +- Fixed version handling for MC root keys derivation +- Fixed Class B initialization. +- Fixed duty-cycle implementation ## [4.4.4] - 2020-05-26 diff --git a/README.md b/README.md index 695d4d31f..a4cb3ba12 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ This project has 3 active branches in place. | Branch | L2 spec | RP spec | Tag/Milestone | Class | Comments | | ------------- |:-------------:|:---------:|:---------:|:---------:|:--------------| -| | [1.0.3](https://lora-alliance.org/resource-hub/lorawanr-specification-v103) | [v1.0.3revA](https://www.lora-alliance.org/resource-hub/lorawanr-regional-parameters-v103reva) | [v4.4.4](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.4.4) | A/B/C | LoRaWAN L2 1.0.3 - **_Released_** | -| [master](https://github.com/Lora-net/LoRaMac-node/tree/master) | [1.0.3](https://lora-alliance.org/resource-hub/lorawanr-specification-v103) | [v1.0.3revA](https://www.lora-alliance.org/resource-hub/lorawanr-regional-parameters-v103reva) | [M 4.4.5](https://github.com/Lora-net/LoRaMac-node/milestone/7) | A/B/C | LoRaWAN L2 1.0.3 | +| | [1.0.3](https://lora-alliance.org/resource-hub/lorawanr-specification-v103) | [v1.0.3revA](https://www.lora-alliance.org/resource-hub/lorawanr-regional-parameters-v103reva) | [v4.4.5](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.4.5) | A/B/C | LoRaWAN L2 1.0.3 - **_Released_** | +| [master](https://github.com/Lora-net/LoRaMac-node/tree/master) | [1.0.3](https://lora-alliance.org/resource-hub/lorawanr-specification-v103) | [v1.0.3revA](https://www.lora-alliance.org/resource-hub/lorawanr-regional-parameters-v103reva) | [M 4.4.6](https://github.com/Lora-net/LoRaMac-node/milestone/8) | A/B/C | LoRaWAN L2 1.0.3 | | [develop](https://github.com/Lora-net/LoRaMac-node/tree/develop) | [1.0.4](https://lora-alliance.org/resource-hub) | [2-1.0.1](https://lora-alliance.org/sites/default/files/2020-02/rp_2-1.0.1.pdf) | [M 4.5.0](https://github.com/Lora-net/LoRaMac-node/milestone/5) | A/B/C | LoRaWAN L2 1.0.4 | | [feature/5.0.0](https://github.com/Lora-net/LoRaMac-node/tree/feature/5.0.0) | [1.0.4](https://lora-alliance.org/resource-hub) / [1.1.1](https://lora-alliance.org/resource-hub/lorawanr-specification-v11) | [2-1.0.1](https://lora-alliance.org/sites/default/files/2020-02/rp_2-1.0.1.pdf) | [M 5.0.0](https://github.com/Lora-net/LoRaMac-node/milestone/3) | A/B/C | LoRaWAN L2 1.0.4 / 1.1.1 | diff --git a/src/apps/LoRaMac/fuota-test-01/B-L072Z-LRWAN1/main.c b/src/apps/LoRaMac/fuota-test-01/B-L072Z-LRWAN1/main.c index d3816da2a..e4f26f90d 100644 --- a/src/apps/LoRaMac/fuota-test-01/B-L072Z-LRWAN1/main.c +++ b/src/apps/LoRaMac/fuota-test-01/B-L072Z-LRWAN1/main.c @@ -321,7 +321,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/NAMote72/main.c b/src/apps/LoRaMac/fuota-test-01/NAMote72/main.c index b7048893c..a1847cfea 100644 --- a/src/apps/LoRaMac/fuota-test-01/NAMote72/main.c +++ b/src/apps/LoRaMac/fuota-test-01/NAMote72/main.c @@ -310,7 +310,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/NucleoL073/main.c b/src/apps/LoRaMac/fuota-test-01/NucleoL073/main.c index e3cad873e..59d83c7b8 100644 --- a/src/apps/LoRaMac/fuota-test-01/NucleoL073/main.c +++ b/src/apps/LoRaMac/fuota-test-01/NucleoL073/main.c @@ -306,7 +306,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/NucleoL152/main.c b/src/apps/LoRaMac/fuota-test-01/NucleoL152/main.c index 2c5645bfb..c0e158fb8 100644 --- a/src/apps/LoRaMac/fuota-test-01/NucleoL152/main.c +++ b/src/apps/LoRaMac/fuota-test-01/NucleoL152/main.c @@ -306,7 +306,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/NucleoL476/main.c b/src/apps/LoRaMac/fuota-test-01/NucleoL476/main.c index 0077449db..c647f20fd 100644 --- a/src/apps/LoRaMac/fuota-test-01/NucleoL476/main.c +++ b/src/apps/LoRaMac/fuota-test-01/NucleoL476/main.c @@ -306,7 +306,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/SAMR34/main.c b/src/apps/LoRaMac/fuota-test-01/SAMR34/main.c index 3367c0c86..93ee12879 100644 --- a/src/apps/LoRaMac/fuota-test-01/SAMR34/main.c +++ b/src/apps/LoRaMac/fuota-test-01/SAMR34/main.c @@ -279,7 +279,7 @@ int main( void ) TimerSetValue( &Led1Timer, 100 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/SKiM880B/main.c b/src/apps/LoRaMac/fuota-test-01/SKiM880B/main.c index 080349081..1ad597d3d 100644 --- a/src/apps/LoRaMac/fuota-test-01/SKiM880B/main.c +++ b/src/apps/LoRaMac/fuota-test-01/SKiM880B/main.c @@ -294,7 +294,7 @@ int main( void ) TimerSetValue( &Led2Timer, 100 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/SKiM881AXL/main.c b/src/apps/LoRaMac/fuota-test-01/SKiM881AXL/main.c index 31be8b4b0..782495936 100644 --- a/src/apps/LoRaMac/fuota-test-01/SKiM881AXL/main.c +++ b/src/apps/LoRaMac/fuota-test-01/SKiM881AXL/main.c @@ -294,7 +294,7 @@ int main( void ) TimerSetValue( &Led2Timer, 100 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/fuota-test-01/SKiM980A/main.c b/src/apps/LoRaMac/fuota-test-01/SKiM980A/main.c index 967ea88e7..b902a35fc 100644 --- a/src/apps/LoRaMac/fuota-test-01/SKiM980A/main.c +++ b/src/apps/LoRaMac/fuota-test-01/SKiM980A/main.c @@ -294,7 +294,7 @@ int main( void ) TimerSetValue( &Led2Timer, 100 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "fuota-test-01", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/B-L072Z-LRWAN1/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/B-L072Z-LRWAN1/main.c index c8376bbcf..03d595cc3 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/B-L072Z-LRWAN1/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/B-L072Z-LRWAN1/main.c @@ -266,7 +266,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/NAMote72/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/NAMote72/main.c index bf5f82f30..69ab0761b 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/NAMote72/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/NAMote72/main.c @@ -255,7 +255,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL073/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL073/main.c index 3e091e010..199b89f10 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL073/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL073/main.c @@ -251,7 +251,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL152/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL152/main.c index 66283ce32..eab404502 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL152/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL152/main.c @@ -251,7 +251,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL476/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL476/main.c index 6ffdb1c0b..655021431 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL476/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/NucleoL476/main.c @@ -251,7 +251,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/SAMR34/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/SAMR34/main.c index 03a33fba6..274d40cd4 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/SAMR34/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/SAMR34/main.c @@ -250,7 +250,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM880B/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM880B/main.c index aaa99c103..7900604e0 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM880B/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM880B/main.c @@ -252,7 +252,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM881AXL/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM881AXL/main.c index b69a83576..4891f4a78 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM881AXL/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM881AXL/main.c @@ -252,7 +252,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion ); diff --git a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM980A/main.c b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM980A/main.c index f4b305e8d..56f9b6ac8 100644 --- a/src/apps/LoRaMac/periodic-uplink-lpp/SKiM980A/main.c +++ b/src/apps/LoRaMac/periodic-uplink-lpp/SKiM980A/main.c @@ -252,7 +252,7 @@ int main( void ) TimerSetValue( &LedBeaconTimer, 5000 ); const Version_t appVersion = { .Fields.Major = 1, .Fields.Minor = 0, .Fields.Patch = 0 }; - const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 3 }; + const Version_t gitHubVersion = { .Fields.Major = 4, .Fields.Minor = 4, .Fields.Patch = 5 }; DisplayAppInfo( "periodic-uplink-lpp", &appVersion, &gitHubVersion );