STM32CubeWL/Middlewares/Third_Party/LoRaWAN/st_readme.txt

279 lines
12 KiB
Plaintext

@verbatim
******************************************************************************
* @file st_readme.txt
* @author MCD Application Team
* @brief This file lists the main modification done by STMicroelectronics on
* LoRa for integration with STM32Cube solution.
* For more details on LoRa implementation on STM32Cube, please refer
* to UM2073 "STM32 LORA Expansion Package for STM32Cube "
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
@endverbatim
### V2.2.1/2-Oct-2020 ###
===============================
+ Multiple tools write to the same file' if AES + LoRaWAN + option .c/.h
+ Update file-license
+ remove KMS init from LoRaWAN Middleware (move to application part)
+ Update Key List usage with a reworked init part: set a static const + memcpy to prevent a Stop/Restart of LoRaMAC
+ Release Notes update
### V2.2.0/4-Sept-2020 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (26-May-2020 commits, version 4.4.4)
+ Fixed SetLoRaSymbNumTimeout. RX Continuous bug on ClassC
+ revert AU915 regional parameters 1.0.3 errata feature
+ Remove LoRaWAN 1.1 + MC Group[1..3] Keys
+ Add missing ping_slot_nb_channels case to getPhy regions (hopping feature)
+ RepeaterSupport feature set back
+ LmHandlerSend error codes implementation
### V2.1.0/29-June-2020 ###
===============================
+ Moves the contents of folder Patterns/Advanced/ to LmHandler/
+ Imports some features from Semtech/StackForce develop branch:
- Remove repeater support. Will be removed from future Regional Parameters specifications.
- Add Ping_Slot channel freq to prevent the offset between the RU864 Beacon and Ping_Slot frequencies
- Update of TimeOnAir calculation
- Update of CryptoJoinAccept with fix of security vulnerabilities
- Fix uplink messages burst with ClassB usage
+ New LmHandler services addition: Firmware Management and Data Distribution
+ Fix some Keil-related issues
+ Update files license and copyright year
+ Known limitations:
- IN865 ClassB beacon reception
### V2.0.1/02-April-2020 ###
===============================
+ readme.md update to version 4.4.3
### V2.0.0/06-March-2020 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (17-Dec-2019 commits, version 4.4.3)
+ Patterns:
- integration of Semtech LmHandler
- ST specific certif features factorization
- rearchitecture : removal of lora.c
- new services addition: compliance, clock sync, multicast & fragmentation
+ KMS integration done in Crypto & LmHandler folders (mbed-crypto called)
+ Known limitations:
- IN865 ClassB beacon reception
### V1.2.4/28-Nov-2019 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (31-Oct-2019 commits, version 4.4.2)
+ Patterns/basic and Patterns/modem directory structure change
+ update files license
+ certification obtained with LoRAWAN version v1.0.2 in the following regions:
- EU868
- IN865
- KR920
- AS923
- US915
### V1.2.3/20-Sept-2019 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (17-Jun-2019 commits, 4.4.2 release candidate)
https://github.com/Lora-net/LoRaMac-node/tree/6231a5d65806142a6f887e6183227b8da9e49238
+ Various bug fixes and enhancements
+ Removed inclusions of radio.h, utilities.h, etc. from loraMac.h API
+ Lora.c/h and lora-test.c/h moved from Certifications/ to Patterns/Basic
### V1.2.2/17-June-2019 ###
===============================
+ Trace logging & LoRa Mac version display updates
+ Some function prototypes added
### V1.2.1/13-December-2018 ###
===============================
+ Implements LoRa Mac 4.4.2-rc.5 from Semtech/StackForce develop branch
### V1.2.0/10-July-2018 ###
===============================
+ Implements LoRa Mac 4.4.2-rc.1 from Semtech/StackForce develop branch
+ Supports Class B
+ Features secure element API
+ Added RU864 region
+ Removed US915-Hybrid
### V1.1.5/30-March-2018 ###
===============================
+ Implements LoRa Mac 4.4.1 from Semtech/StackForce
### V1.1.4/08-January-2018 ###
===============================
+ Bug fix in McpsIndication related to downlink Application data buffer
### V1.1.3/20-December-2017 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (10-Oct-2017 commits, 4.4.1 release candidate)
https://github.com/Lora-net/LoRaMac-node/tree/ae0c9cc5d53ebbc11437dfe9711a1c3a1114dc5f
+ Merge pull request #302 from nestorayuso/patch-3
### V1.1.2/08-September-2017 ###
===============================
+ Implements LoRa Mac 4.4.0 release from Semtech/StackForce
https://github.com/Lora-net/LoRaMac-node/tree/f42be67be402a40b3586724800771bfe13fb18e6
+ AckTimeoutRetriesCounter must be reset every time a new request (unconfirmed or confirmed) is performed.
+ Added verification for the power parameter in order to check that it is greater or equal to 0.
+ Enhancement for regions without FSK modulation support.
+ Bug fix for RX window 2 in class c mode.
+ AdrAckReq bit must be set to false as soon as we reach the lowest datarate.
+ MacCommandsBufferIndex must be reset when the mac commands are being sent on port 0.
+ Fixed RegionCommonSetBandTxDone in order to also update band->LastTxDoneTime when performing the Join procedure.
+ Added verification of payload size for Unconfirmed and Confirmed messages depending on Dwell time.
+ Added missing Rx1 timeout handling.
+ Updated all regions to use MAX output power by default.
+ Merge remote-tracking branch 'origin/develop' into develop
+ Bug fix in KR920 - update the maxEIRP calculation for continuous wave
+ Bug fix in IN865 - Update the band of the default channels
+ Bug fix in AS923 - for RX use always the payload limitation of dwell 0
+ Update function RegionCommonChanVerifyDr. Perform an 'AND' operation for security
+ Move the verification of ADR parameters into the common section. Update all regions with the related changes
+ Update comment for function RegionLinkAdrReq
+ Apply variables to data structure LinkAdrReqParams_t
+ Bug fix for KR920
+ Rename data structure LinkAdrParams_t
+ Issue(#238): Apply missing variable in sSetBandTxDoneParams
+ Bug fix in processing MAC commands for case SRV_MAC_TX_PARAM_SETUP_REQ.
+ Isse(#238): Apply missing variable in struct sBand
+ Update the MAC to enable the server to control the Channels Mask and the number of transmissions even ADR is off
+ Issue(#238): Update the backoff procedure for all regions. Move code parts into the common section
+ Update implementation to allow automatic MAC answers on port 0
+ Issue(#253): Delete all preconfigured channels when performing a join request
+ Initialize variable phyParam in functions RegionXXGetPhyParam
+ Remove assert_param from the radio drivers
+ Synchronize function RegionXXTxConfig
+ Update carrier sense functionality for LBT
+ Issue(#259): Update comment for variable HasLoopedThroughMain
+ Issue(#257): Fix typo in OnRxWindow2TimerEvent
+ Change scientific notation to numeric notation
+ Merge pull request #260 from clmklk/AU915
+ AU915: update Datarate limits according to LoRaWan 1.0.2rB
+ AU915: update Downstream datarate table according to LoRaWan 1.0.2rB
+ Merge pull request #225 from OpenChirp/patch_1
### V1.1.1/01-June-2017 ###
===============================
+ Implements LoRa Mac from Semtech/StackForce develop branch (30-May-2017 commits, 4.4.0 release candidate)
https://github.com/Lora-net/LoRaMac-node/tree/e2f35db75c1b449379d3b520c2d4e5922a9f5c81
+ Issue(235): Update functions RegionXXNextChannel.
+ Issue(238): Update initialization value of nextTxDelay.
+ Issue(234): Report back the aggregated time off.
+ Issue(232): Relocate function call to CalculateBackOff.
+ Issue(239): Update band TX power to the maximum.
+ Update LimitTxPower for US915.
+ Bug fix in function RegionCN470Verify.
+ Bug fix in function RegionAU915Verify.
+ Issue(229): Fix issue when receiving frames in second RX2 in Class C.
+ Add a ommand to get the next lower datarate.
+ Group initializations
+ Update regional definitions of KR920.
+ Update regional definitions of EU868.
+ Issue(239): Update regional definitions of AU915.
+ Update regional definitions of AU915.
+ Update regional definitions of AS923.
+ Update TX power computations.
+ Remove duplicated call to ApplyDrOffset in function RegionRxConfig.
+ Relocate the datarate, up- and downlink dwell time into a structure.
+ Change API of RegionGetPhyParam and the related functions.
+ Bug fix in function LoRaMacQueryTxPossible.
+ Apply patch for dwell time and minimum datarate.
+ Change the default datarate to DR_2 for AS923.
+ Take dwell time for ADR calculations and datarate settings into account.
+ Update LoRaMacQueryTxPossible to reset the MAC commands buffer.
+ Issue(#221): Add the dwell time in function ValidatePayloadLength.
+ Increase the transmission and reception timeout for KR920.
+ Bug fix in functions OnRxWindowXTimerEvent.
+ Remove datarate assignment.
+ Setup the downlink and uplink dwell time default value to 1.
+ Add frequency range check for AS923
+ Issue(#221): Bug fix in max payload size calculation.
+ GitHub reported issues corrections.
+ Changed the AdrAckCounter handling as expected by the test houses.
+ Fix an issue where the node stopped transmitting.
+ Removed useless LoRaMacPayload buffer.
+ MAC layer indications handling simplification.
+ Relocate parameter settings from ResetMacParameters to the initialization.
### V1.1.0/27-February-2017 ###
===============================
+ Implements LoRa Mac 4.4.0 from Semtech/StackForce from the develop branch
### V1.0.3/01-January-2017 ###
===============================
+ Read date between 2 successive read time to make sure date is ok
### V1.0.2/15-November-2016 ###
===============================
+ Corrected 1 bug in LoRaMac-board.h: RX_WND_2_CHANNEL for EU is now back at DR_0
+ Corrected 1 bug in LoRaMac.c for dataRate adaptation
### V1.0.1/15-September-2016 ###
===============================
+ Implements LoRa Mac 4.3.0 from Semtech/StackForce
### V1.0.0/01-July-2016 ###
===============================
+ First R1.0.0 customized version for STM32Cube solution.
+ Commissioning_template.h in /Conf contains all Lora Ids to connect on LoRa network
It is provided as a template. It must be moved to /Projects/inc/ as Commissioning.h
+ All files in Conf/src are provided as template and must be copied in /Projects/src.
+ All files in Conf/inc are provided as template and must be copied in /Projects/inc.
#if 0 and #endif must be removed to enable the template in the user directory
+ Implements LoRa Mac 4.2.0 from Semtech/StackForce
+ \Lora\Mac\LoRaMac.c : replace floating exponent e3 and e6 by int number
+ \Lora\Utilities\delay.c : cast uint32_t
+ Modified intensively timeServer.c
+ new low layer interfacing Cube HAL (hw_rtc.c, hw_gpio.c and hw_spi.c)
+ added lora.c as an interface layer to ease product integration
* <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
*/