Skip to content

Commit 9a14f67

Browse files
committed
Release v4.8.0
1 parent 0ad056a commit 9a14f67

File tree

208 files changed

+13155
-5096
lines changed

Some content is hidden

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

208 files changed

+13155
-5096
lines changed

CHANGELOG.md

+51-10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,47 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [v4.8.0] 2024-12-20
8+
9+
This version is based on feature branch v4.5.0 of the LoRa Basics Modem.
10+
11+
Detailed Modem API changelog can be found [here](lbm_lib/smtc_modem_api/CHANGELOG.md)
12+
Detailed Modem HAL changelog can be found [here](lbm_lib/smtc_modem_hal/CHANGELOG.md)
13+
14+
### Added
15+
16+
* Support both Relay Rx and Relay Tx that follows LoRaWAN® Specification TS011-1.0.1 with compilation flag in app_options.mk
17+
* Duty-cycle event to know when the Time On Air is reached or available
18+
* Test-mode event
19+
20+
### Changed
21+
22+
* Enable CSMA by default for lbm_examples
23+
* Update RAL with instantaneous power consumption obtained through BSP
24+
* Implement the RAL BSP instantaneous power consumption getters for supported radio in examples
25+
* [lr11xx-driver] Update lr11xx radio driver to v2.5.2 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/lr11xx_driver/CHANGELOG.md))
26+
* [sx126x-driver] Update sx126x radio driver to v2.3.2 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/CHANGELOG.md))
27+
28+
### Fixed
29+
30+
* FSK modulation, SNR and RSSI returned by the stack were not correct in class A/B/C
31+
* LinkADRReq with ADR disabled do not answer the request correctly
32+
* Remote Multicast Setup, time request in loop if no network coverage
33+
* Backoff datarate must revert default channels and keeps as is others
34+
* Fixed channel plan do not handle correctly bad CFlist type
35+
* The modem keep the JoinDatarate distribution after joined if CSMA or LBT detect a possible collision during the first joinReq, or when the user leave before the end of a join and called the join
36+
* TxParamSetupReq EIRP is not applied if a LinkADRReq is not received
37+
* Speed up the certification in class B/C by applying on the fly the new requested periodicity
38+
* LR-FHSS the values returned by `smtc_modem_get_charge()` is based on the center frequency
39+
* LR-FHSS the values returned by `smtc_modem_get_duty_cycle_status()` is based on the center frequency
40+
* Fix supervisor lorawan_manager for multi-stack support
41+
* Issue [#83](https://github.com/Lora-net/SWL2001/issues/83) 2.4GHz is not working for LR1121 with STM32L476RG MCU
42+
* Issue [#69](https://github.com/Lora-net/SWL2001/issues/69) Firmware Management Protocol, no DevUpgradeImageAns when the FW upgrade image is not valid
43+
* Issue [#68](https://github.com/Lora-net/SWL2001/issues/68) aes_encrypt duplicate definition linking error
44+
* Issue [#66](https://github.com/Lora-net/SWL2001/issues/66) Frequent store and forward uplinks if offline
45+
* Issue [#62](https://github.com/Lora-net/SWL2001/issues/62) v4.5.0 relay_tx_check_decode_ack() does not calculate MIC according to TS011-1.0.0
46+
* Issue [#61](https://github.com/Lora-net/SWL2001/issues/61) Modem charge mAh with different configuration
47+
748
## [v4.5.0] 2024-05-06
849

950
This version is based on feature branch v4.3.1 of the LoRa Basics Modem.
@@ -68,12 +109,12 @@ Detailed Modem API changelog can be found [here](lbm_lib/smtc_modem_api/CHANGELO
68109
* [relay] Issue [#28](https://github.com/Lora-net/SWL2001/issues/28) Fix backoff field parse in EndDeviceConfReq
69110
* [relay] Fix join request forwarding rules management for relay rx
70111
* [relay] Fix sync status for relay tx
71-
* [relay] Fix backoff mecanism for relay tx
112+
* [relay] Fix backoff mechanism for relay tx
72113
* [relay] Manage dual value of default channel for relay rx
73114
* [relay] Use real device crystal error for relay rx
74115
* [relay] WOR : Fix typo in b0 buffer for MIC computation
75116
* [relay] WOR : Use frequency step of 100Hz instead of real frequency in MIC
76-
* [relay] WOR ACK : Fix AckUplinkEnc endianess
117+
* [relay] WOR ACK : Fix AckUplinkEnc endianness
77118
* [relay] WOR ACK : Fix LoRa polarity
78119
* [relay] WOR ACK : Use frequency and datarate of WOR ACK in MIC
79120
* [relay] WOR ACK : Use frequency step of 100Hz instead of real frequency in MIC
@@ -99,10 +140,10 @@ Detailed Modem HAL changelog can be found [here](lbm_lib/smtc_modem_hal/CHANGELO
99140
* Large File Upload (LFU) service and associated makefile option (related with LoRaCloud)
100141
* Stream service and associated makefile option (related with LoRaCloud)
101142
* Almanac Update service and associated makefile option (related with LoRaCloud)
102-
* [general] Add a new folder `lbm_applications` that contains 3 specific implementation references on sereval MCU
143+
* [general] Add a new folder `lbm_applications` that contains 3 specific implementation references on several MCU
103144
* [general] Real Time OS compatibility (add hal function `smtc_modem_hal_user_lbm_irq`)
104145
* [lr11xx-crypto] Re-add suspend/resume guard for lr11xx crypto access
105-
* [makefile] Add `DEBUG_OPT` option to choose optimization in caseof DEBUG
146+
* [makefile] Add `DEBUG_OPT` option to choose optimization in case of DEBUG
106147

107148
### Fixed
108149

@@ -122,12 +163,12 @@ Detailed Modem HAL changelog can be found [here](lbm_lib/smtc_modem_hal/CHANGELO
122163
### Changed
123164

124165
* [general] Change repository organization to ease readability.
125-
Put all LoRa Basics Modem libraray related code in `lbm_lib` folder.
166+
Put all LoRa Basics Modem library related code in `lbm_lib` folder.
126167
Rename `utilities` folder into `lbm_examples` for generic Lora Basics Modem examples
127168
* [lorawan-package] Change `lorawan_packages` folder organization to use a dedicated folder for each packages instead of fuota_v1 and fuota_V2
128169

129170
* [lr11xx-driver] Update lr11xx radio driver to v2.4.0 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/lr11xx_driver/CHANGELOG.md))
130-
* [sx126x-driver] Update sx126x radio driver to v3.2.1 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/CHANGELOG.md))
171+
* [sx126x-driver] Update sx126x radio driver to v2.3.1 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/sx126x_driver/CHANGELOG.md))
131172
* [sx128x-driver] Update sx128x radio driver to v1.0.0 version ([CHANGELOG.md](lbm_lib/smtc_modem_core/radio_drivers/sx128x_driver/CHANGELOG.md))
132173
* [makefile] Set all LBM features options to `no` by default
133174
* [certification-service] Update certification service to support FUOTA certification
@@ -138,8 +179,8 @@ This version is based on feature branch v4.1.0 of the LoRa Basics Modem.
138179

139180
### Added
140181

141-
* [lorawan-stack] Add Relay RX feature that follows LoRaWAN® Specification TS011-1.0.0
142-
* [lorawan-stack] Add Relay TX feature that follows LoRaWAN® Specification TS011-1.0.0
182+
* [lorawan-stack] Add Relay Rx feature that follows LoRaWAN® Specification TS011-1.0.0
183+
* [lorawan-stack] Add Relay Tx feature that follows LoRaWAN® Specification TS011-1.0.0
143184

144185
## [v4.1.0] 2023-07-27
145186

@@ -226,7 +267,7 @@ Detailed Modem HAL changelog can be found [here](smtc_modem_hal/CHANGELOG.md)
226267

227268
* [general] Support of LR1121 radio (target: lr1121)
228269
* [makefile] Provide a way to change any LBM define values in make command (use `EXTRAFLAGS` )
229-
* [utilities] Add a porting on NUCLEO-L073 board using LL drivers for minimal flash usage
270+
* [utilities] Add a porting on Nucleo-L073 board using LL drivers for minimal flash usage
230271
* [utilities] Add a porting tool in main examples to help during mcu porting
231272

232273
### Changed
@@ -309,7 +350,7 @@ Detailed Modem HAL changelog can be found [here](smtc_modem_hal/CHANGELOG.md)
309350
* `smtc_modem_hal_get_radio_irq_timestamp_in_100us()` function
310351
* In `SMTC_MODEM_EVENT_DOWNDATA` event status: added new class B reception windows, fpending bit status, reception frequency and datarate
311352
* Middleware API for geolocation
312-
* Add basic example to provide an easy start point on Nucleo L476 board
353+
* Add basic example to provide an easy start point on Nucleo-L476 board
313354

314355
### Changed
315356

README.md

+15-7
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,29 @@
22

33
**LoRa Basic Modem** proposes an full implementation of the [TS001-LoRaWAN L2 1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) and [Regional Parameters RP2-1.0.3](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters) specifications.
44

5-
**LoRa Basic Modem** embedds also an implementation of all LoRaWAN packages dedicated to Firmware Update Over The Air (FUOTA):
5+
**LoRa Basic Modem** embeds also an implementation of all LoRaWAN packages dedicated to Firmware Update Over The Air (FUOTA):
6+
67
- Application Layer Clock Synchronization (ALCSync)
78
- Remote Multicast Setup
89
- Fragmented Data Block Transport
910
- Firmware Management Protocol (FMP)
1011
- Multi-Package Access (MPA)
1112

12-
**LoRa Basic Modem** offers extended services:
13+
**LoRa Basic Modem** embeds also an implementation the Relay LoRaWAN® Specification TS011-1.0.1
14+
15+
- Relay Tx
16+
- Relay Rx
17+
18+
**LoRa Basic Modem** offers extended services:
19+
1320
- LoRaWAN certification process
1421
- Geolocation with LoRa Edge chips
1522
- LoRaCloud features such as Stream, Large File Upload, Device Management or Almanac Update
1623

1724
## Prerequisites
1825

1926
The ARM GCC tool chain must be setup under your development environment.
20-
LBM library code has been developped using GNU Arm Embedded Toolchain 10-2020-q4-major 10.2.1 20201103 (release)
27+
LBM library code has been developed using GNU Arm Embedded Toolchain 10-2020-q4-major 10.2.1 20201103 (release)
2128

2229
## LoRa Basics Modem library
2330

@@ -31,9 +38,9 @@ Under `lbm_examples` folder, one will find a few examples on how to use the LoRa
3138
- Hardware Modem (Implements a hardware modem controlled by a serial interface)
3239
- Periodical uplink (joins the network and then sends periodic uplinks and each time the button is pushed)
3340
- Porting tests (Allows to verify if the project porting process is correct)
34-
- LCTT certification (to run LoRaWAN certification)
41+
- LCTT certification (to run LoRaWAN certification)
3542

36-
The examples are targeted for the NucleoL476 kit featuring an STM32L476 micro-controller.
43+
The examples are targeted for the Nucleo L476 kit featuring an STM32L476 micro-controller.
3744
For further details please refer to `lbm_examples` directory [README](lbm_examples/README.md) file.
3845

3946
To build the periodical uplink example targeting the LR1110 Semtech radio the following should be executed on the command line:
@@ -43,11 +50,12 @@ make -C lbm_examples full_lr1110 MODEM_APP=PERIODICAL_UPLINK
4350
```
4451

4552
## Applications
53+
4654
Under `lbm_applications` folder, one will find 3 specific applications that are using LoRa Basics Modem stack.
4755

48-
- A ThreadX Operationg System running on STM32U5 ([lbm_applications/1_thread_x_on_stm32_u5/README.md](lbm_applications/1_thread_x_on_stm32_u5/README.md))
56+
- A ThreadX Operating System running on STM32U5 ([lbm_applications/1_thread_x_on_stm32_u5/README.md](lbm_applications/1_thread_x_on_stm32_u5/README.md))
4957
- A LBM porting on Nordic NRF52840 ([lbm_applications/2_porting_nrf_52840/README.md](lbm_applications/2_porting_nrf_52840/README.md))
50-
- A Geolocation application running on Lora Edge ([lbm_applications/3_geolocation_on_lora_edge/README.md](lbm_applications/3_geolocation_on_lora_edge/README.md))
58+
- A Geolocation application running on Lora Edge ([lbm_applications/3_geolocation_on_lora_edge/README.md](lbm_applications/3_geolocation_on_lora_edge/README.md))
5159

5260
An integration in Zephyr OS is available in another repository, instructions to download this integration and LoRa Basics Modem
5361
are available at [LBM_Zephyr](https://github.com/Lora-net/LBM_Zephyr/blob/master/README.md).

lbm_applications/1_thread_x_on_stm32_u5/app_makefiles/app_common.mk

+23-1
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,31 @@ COMMON_C_DEFS += \
160160
-DMAKEFILE_APP=${MODEM_APP}
161161
endif
162162

163+
163164
ifeq ($(MODEM_APP),HW_MODEM)
165+
166+
# git defines
167+
ifneq (, $(shell which git))
168+
GIT_VERSION := $(shell git --no-pager describe --tags --always)
169+
GIT_COMMIT := $(shell git rev-parse --verify HEAD)
170+
GIT_DATE := $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only))
171+
BUILD_DATE := $(shell date --iso=seconds)
172+
SHORT_DATE := $(shell date +%Y-%m-%d-%H-%M)
173+
174+
# If working tree is dirty, append dirty flag
175+
ifneq ($(strip $(shell git status --porcelain 2>/dev/null)),)
176+
GIT_VERSION := $(GIT_VERSION)--dirty
177+
endif
178+
endif
179+
164180
COMMON_C_DEFS += \
165-
-DHW_MODEM_ENABLED
181+
-DHW_MODEM_ENABLED \
182+
-DGIT_VERSION=\"$(GIT_VERSION)\" \
183+
-DGIT_COMMIT=\"$(GIT_COMMIT)\" \
184+
-DGIT_DATE=\"$(GIT_DATE)\" \
185+
-DBUILD_DATE=\"$(BUILD_DATE)\"
186+
LBM_BUILD_OPTIONS += REGION=ALL LBM_STREAM=yes LBM_LFU=yes LBM_DEVICE_MANAGEMENT=yes LBM_CLASS_B=yes LBM_CLASS_C=yes LBM_MULTICAST=yes LBM_CSMA=yes
187+
ALLOW_FUOTA=yes
166188
endif
167189

168190
ifeq ($(APP_TRACE),yes)

0 commit comments

Comments
 (0)