Implement a secure ICS protocol targeting LoRa Node151 microcontroller for controlling irrigation.

CHANGELOG.md 43 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  1. # Changelog
  2. All notable changes to this project will be documented in this file.
  3. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
  4. and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  5. ## LoRaWAN pre-certification results
  6. Please refer to [Releases pre-certification-results](https://github.com/Lora-net/LoRaMac-node/wiki/releases-pre-certification-results) document for further information.
  7. ## [Unreleased]
  8. ## [4.5.1] - 2021-01-18
  9. ### General
  10. - Release based on "LoRaWAN specification 1.0.4" and "LoRaWAN Regional Parameters 2-1.0.1"
  11. - GitHub reported issues corrections.
  12. ### Fixed
  13. - Fixed compiling issues
  14. ## [4.4.7] - 2021-01-18
  15. ### General
  16. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  17. - **Release 4.4.7 is an hotfix of 4.4.6 and is the last one supporting "LoRaWAN specification 1.0.3"**
  18. ### Changed
  19. - Changed examples GitHub version to 4.4.7
  20. ### Fixed
  21. - Fixed compiling issues when KR920 or RU864 regions are selected
  22. - Fixed compiling issues for `fuota-test-01` example
  23. ## [4.5.0] - 2020-12-18
  24. ### General
  25. - Release based on "LoRaWAN specification 1.0.4" and "LoRaWAN Regional Parameters 2-1.0.1"
  26. - GitHub reported issues corrections. Please refer to [Release Version 4.5.0](https://github.com/Lora-net/LoRaMac-node/milestone/5)
  27. ### Added
  28. - Added implementation of LoRaWAN 1.0.4 changes
  29. - Added implementation for new Certification protocol specification
  30. - Added GitHub repository and firmware examples version definitions
  31. ## [4.4.6] - 2020-12-18
  32. ### General
  33. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  34. - GitHub reported issues corrections. Please refer to [Release Version 4.4.6](https://github.com/Lora-net/LoRaMac-node/milestone/8)
  35. - **Release 4.4.6 is the last one supporting "LoRaWAN specification 1.0.3"**
  36. ### Changed
  37. - Refactored MAC layer and examples Non Volatile Memory data handling
  38. - Changed `NewChannelReq` amd `DlChannelReq` handling to ignore command for `AU915`, `CN470` and `US915` regions
  39. - Updated behavior of `SX126xSetLoRaSymbNumTimeout` to round up the timeout to the nearest possible number of symbol.
  40. - Changed radio drivers floating point to integer computations
  41. - Improved `GetNextLowerTxDr` function implementation.
  42. - Changed SX1272 and SX1276 FSK FIFO handling by using `FifoLevel` IRQ instead of `FifoEmpty` IRQ
  43. **WARNING** *DIO1 IRQ MCU pin detection has changed from `RISING` to `RISING_FALLING` edge.*
  44. - Changed IMST boards default power source to `USB_POWER`
  45. ### Fixed
  46. - Fixed certification test application handling
  47. - Fixed `ping-pong` and `rx-sensi` examples to use the right `FSK_BANDWIDTH` and `FSK_AFC_BANDWIDTH` parameters
  48. - Fixed one byte transmissions over I2C
  49. - Fixed `RegionIN865RxParamSetupReq` `DrOffset` verification
  50. - Fixed STM platforms IRQ handlers when using a C++ compiler
  51. - Fixed an issue where the Join back off algorithm wasn't being applied when the duty-cycle enforcement was OFF
  52. - Fixed `AU915_MAX_RX1_DR_OFFSET` value to 5 instead of 6
  53. ### Removed
  54. - Removed ClassA, ClassB and ClassC examples.
  55. ## [4.5.0-rc.1] - 2020-11-24
  56. ### General
  57. - Release based on "LoRaWAN specification 1.0.4" and "LoRaWAN Regional Parameters 2-1.0.1"
  58. - GitHub reported issues corrections. Please refer to [Release Version 4.5.0](https://github.com/Lora-net/LoRaMac-node/milestone/5)
  59. ### Added
  60. - Added implementation of LoRaWAN 1.0.4 changes
  61. - Added implementation for new Certification protocol specification
  62. - Added GitHub repository and firmware examples version definitions
  63. ### Changed
  64. - Changed IMST boards default power source to USB_POWER
  65. ### Fixed
  66. - Fixed an issue where the Join back off algorithm wasn't being applied when the duty-cycle enforcement was OFF.
  67. - Fixed `AU915_MAX_RX1_DR_OFFSET` value to 5 instead of 6
  68. ### Removed
  69. - Removed NvmCtxCallback calls as they should only be done when a modification happens.
  70. - Removed ClassA, ClassB and ClassC examples.
  71. ## [4.4.5] - 2020-10-14
  72. ### General
  73. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  74. - GitHub reported issues corrections. Please refer to [Release Version 4.4.5](https://github.com/Lora-net/LoRaMac-node/milestone/7)
  75. ### Added
  76. - Added to `FRAGMENTATION_FRAG_SESSION_SETUP_REQ` checks which verify `FragNb` and `FragSize` validity.
  77. - Added missing call to `SX126xSetOperatingMode` on `SX126xSetTxContinuousWave` and `SX126xSetTxInfinitePreamble` functions
  78. - Added new specific board API to initialize the RF switch (`SX126xIoRfSwitchInit`)
  79. - Add to AS923 and KR920 regions a definition for the Rx bandwidth to be used while executing the LBT algorithm
  80. - Added support for other AS923 channel sub plan groups.
  81. - Added FPort filtering to loramac handler packages.
  82. - Added missing NVM update notifications
  83. ### Changed
  84. - Refactored function `RegionXXInitDefaults`. Fixes an issue on US based bands where the channels mask was not being reset.
  85. - Changed hard coded `JoinAccept` max payload size (33) by `LORAMAC_JOIN_ACCEPT_FRAME_MAX_SIZE` definition.
  86. - Moved radio operating mode management to specific board implementation
  87. - Changed radio `IsChannelFree API` in order to provide reception bandwidth
  88. - AS923 default downlink dwell time setting changed to disabled
  89. - Back port 1.0.4 region implementation improvements
  90. - Changed `RegionCommonComputeSymbolTimeLoRa`, `RegionCommonComputeSymbolTimeFsk` and `RegionCommonComputeRxWindowParameters`
  91. API implementations to use integer divisions instead of double division.
  92. - Changed DeriveSessionKey10x and DeriveSessionKey11x functions API (Removed pointer based variable usage)
  93. ### Fixed
  94. - Fixed `SX126xSetLoRaSymbNumTimeout` to call the workaround only if the number of symbols is equal to or higher than 64.
  95. - Fixed IAR C++ compiler warnings
  96. - Fixed missing `{` after `extern "C"` in `cmac.h` file
  97. - Fixed `FragSessionStatusAns` message construction for `Received&index` field
  98. - Fixed `LoRaMacCryptoHandleJoinAccept` function `DevNonce`, `RJCount0` and `RJCount1` handling.
  99. - Fixed nonce variable declaration
  100. - Fixed `LoRaMacCrypto.c` conditional pre-processing.
  101. - Fixed missing `Rx1Frequency` reset for dynamic channel plans
  102. - Applied Japan ARIB restrictions to the `AS923_1_JP` sub plan
  103. - Applied Regional Parameters 1.0.3.revA ERRATA note concerning the ClassB beacon format
  104. - Fixed SAMR34 compiling issue when `USE_RADIO_DEBUG` directive is defined
  105. - Fixed `SX126xClearIrqStatus` call to only clear read flags
  106. - Fixed GFSK bandwidth handling for SX126x and LR1110 radios.
  107. - Fixed version handling for MC root keys derivation
  108. - Fixed Class B initialization.
  109. - Fixed duty-cycle implementation
  110. ## [4.4.4] - 2020-05-26
  111. ### General
  112. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  113. - GitHub reported issues corrections. Please refer to [Release Version 4.4.4](https://github.com/Lora-net/LoRaMac-node/milestone/6)
  114. ### Added
  115. - Added the possibility to setup multicast channels locally
  116. - Added new `SecureElementProcessJoinAccept` API to the `secure-element.h`
  117. - Added possibility to select the secure-element to be used as well as to select if it is pre-provisioned or not
  118. - Added support for LR1110 radio
  119. - Added support for LR1110 crypto-engine to be used as secure-element
  120. - Added support for ATECC608A-TNGLORA secure-element
  121. - Added `LoRaMacDeInitialization` API to ease dynamic region change
  122. - Added possibility to query implemented versions of the LoRaWAN MAC layer and Regional Parameters specifications
  123. - Added `MOTE_MAC_TX_PARAM_SETUP_ANS` as sticky MAC command
  124. - Added a filter to handle multicast downlinks exceptions
  125. - Added `CHANGELOG.md` file
  126. ### Changed
  127. - Updated examples to use OTAA activation method by default
  128. - Updated `LmhpFragmentation` implementation
  129. - Updated Radio APIs to handle 32-bit register addresses
  130. - Changed SX126x driver to only process a received packet when there is no CRC error
  131. - Moved `Commissioning.h` files to a single one located under `src/apps/LoRaMac/common` directory
  132. - Updated `Radio.TimeOnAir` API in order to be independent of the current hardware settings
  133. - Moved keys definition and management to the secure-element implementation
  134. - Moved device identity to secure-element `se-identity.h` file
  135. - Changed support of SAML21 platform by SAMR34 platform
  136. - Changed the `MlmeRequest` and `McpsRequest` APIs to report back when the next transmission is possible
  137. - Changed `ResetMacParameters` to perform a complete re-initialization of the regional layer after processing the join accept
  138. - Updated the implementation to verify the MAC commands size
  139. - Changed the way the duty-cycle management is handled
  140. ### Removed
  141. - Removed the LoRaWAN keys display on serial terminal
  142. - Removed `GEN_APP_KEY` support as it is equivalent to LoRaWAN 1.1.x `APP_KEY`
  143. - Removed tables definition for repeater support. LoRa-Alliance will provide details on these tables usage in future versions
  144. - Removed Changelog chapter from `readme.md` file
  145. ### Fixed
  146. - Fixed `SX126xGetRandom` API implementation
  147. - Fixed SX126x driver missing call to `RadioStandby` in LoRa modem case inside `RadioSetRxConfig` API
  148. - Fixed SX126x driver `LoRaSymbNumTimeout` handling
  149. - Fixed soft-se/cmac for misaligned 32-bit access
  150. - Fixed ping-pong and rx-sensi projects for packets with sizes bigger than 64 bytes handling
  151. - Fixed missing switch case `PHY_BEACON_CHANNEL_FREQ` for *AU915* region
  152. - Fixed default data rates for Class B beacon and ping-slots for *AU915* region
  153. - Fixed join request limitation due to duty cycle restrictions
  154. - Fixed `SRV_MAC_DEVICE_TIME_ANS`, `SRV_MAC_PING_SLOT_INFO_ANS` and `SRV_MAC_BEACON_TIMING_ANS` processing to be executed only if corresponding MLME request is queued
  155. - Fixed issue where the stack could get stuck in MCPS busy state after MLME Device Time Request
  156. - Fixed duty-cycle enforcement by disabling it for *IN865* region
  157. - Fixed potential issue where the `FCntUp` counter could sometimes be incremented by 2 instead of 1
  158. - Fixed wrong beacon time-on-air calculation
  159. ### Security
  160. - Security breach found by Tencent Blade Team please refer to [security advisory - CVE-2020-11068](https://github.com/Lora-net/LoRaMac-node/security/advisories/GHSA-559p-6xgm-fpv9)
  161. ## [4.4.3] - 2019-12-17
  162. ### General
  163. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  164. - GitHub reported issues corrections. Please refer to [Release Version 4.4.3](https://github.com/Lora-net/LoRaMac-node/milestone/4)
  165. ## [4.4.2] - 2019-07-19
  166. ### General
  167. - Release based on "LoRaWAN specification 1.0.3" and "LoRaWAN Regional Parameters v1.0.3revA"
  168. - GitHub reported issues corrections. Please refer to [Release Version 4.4.2](https://github.com/Lora-net/LoRaMac-node/milestone/2)
  169. ### Added
  170. - Added new refactored application examples
  171. - Added LoRa-Alliance defined application layer protocols support. Only FUOTA test scenario 01 required features are currently implemented
  172. - "Clock Synchronization" package
  173. - "Fragmented data block transport" package
  174. - "Remote multicast setup" package
  175. - Added a NVM context management module. (Disabled by default)
  176. - Added secure-element support
  177. - Added B-L072Z-LRWAN1 platform support
  178. - Added NucleoL476 platform support
  179. - Added NucleoL476 platform support
  180. - Added IMST new platforms
  181. - Added *RU864* region support
  182. - Added ClassB support
  183. - Added a callback to notify the upper layer to call `LoRaMacProcess` function
  184. - Added support for RxC windows (ClassC) required by the application layer protocols
  185. ### Changed
  186. - Examples application refactoring plus the addition of the application status display on the serial port. (921600-8-N-1)
  187. - Refactored `timer.c/h`, `rtc-driver.c/h` and added a `systime.c/h` module
  188. - Functions in ISR context have been moved to main context
  189. - Changed `BoardDisableIrq` and `BoardEnableIrq` functions by `CRITICAL_SECTION_BEGIN` and `CRITICAL_SECTION_END`
  190. respectively
  191. - Heavily refactored the `LoRaMac.c` and `LoRaMac.h` implementation
  192. - Changed multicast channels handling according to the application layer protocols
  193. ### Removed
  194. - Removed SensorNode platform support
  195. - Removed MoteII platform support
  196. - Removed LoRaMote platform support
  197. - Removed *US915-Hybrid* region support
  198. ## Fixed
  199. - Applied SX1272 and SX1276 radios errata note 3.1 to the radio drivers implementation
  200. - Fixed `printf` and `scanf` functions when GCC is used as compiler
  201. ## [4.4.1] - 2018-03-07
  202. ### General
  203. - Release based on "LoRaWAN specification 1.0.2" and "LoRaWAN Regional Parameters v1.0.2rB"
  204. - GitHub reported issues corrections. Please refer to [Release Version 4.4.1](https://github.com/Lora-net/LoRaMac-node/milestone/1)
  205. ### Added
  206. - Added SX126x radio support
  207. - Added NucleoL073 and NucleoL152 board platforms support
  208. - Added Microchip/Atmel SAML21 Xplained Pro hardware platform support
  209. - Added CMAKE build system support
  210. ### Removed
  211. - Removed CoIDE projects support
  212. - Removed Keil projects support
  213. ## [4.4.0] - 2017-09-08
  214. ### General
  215. - Release based on "LoRaWAN specification 1.0.2" and "LoRaWAN Regional Parameters v1.0.2rB"
  216. - GitHub reported issues corrections
  217. ### Added
  218. - Added SX126x radio support
  219. - Added NucleoL073 and NucleoL152 board platforms support
  220. - Added Microchip/Atmel SAML21 Xplained Pro hardware platform support
  221. - Added CMAKE build system support
  222. - Added the support for all "LoRaWAN Regional Parameters v1.0.2rB" document defined regions
  223. ### Changed
  224. - Changed radio driver to perform the LBT carrier sense continuously for a given period of time
  225. - Changed implementation to support 1.0.2 specification additions
  226. ## [4.3.2] - 2017-04-19
  227. ### General
  228. - Release based on "LoRaWAN specification 1.0.2"
  229. - GitHub reported issues corrections
  230. ### Added
  231. - Added an algorithm to automatically compute the Rx windows parameters. (Window `symbolTimeout` and `Offset` from
  232. downlink expected time)
  233. - Added a workaround to reset the radio in case a `TxTimeout` occurs
  234. - Added newly defined `TxCw`(Tx Continuous Wave) certification protocol command
  235. ### Changed
  236. - Changed radio driver to perform the LBT carrier sense continuously for a given period of time
  237. - Changed implementation to support 1.0.2 specification additions
  238. - Changed FSK modem handling to use the provided `symbolTimeout` (1 symbol equals 1 byte) when in `RxSingle` mode
  239. - Changed `GpioMcuInit` function to first configure the output pin state before activating the pin
  240. - Changed the `AdrAckCounter` handling as expected by the test houses
  241. - Relocate parameter settings from `ResetMacParameters` to the initialization
  242. - Changed MAC layer indications handling
  243. ### Removed
  244. - Removed useless `LoRaMacPayload` buffer
  245. ### Fixed
  246. - Fixed an overflow issue that could happen with `NmeaStringSize` variable
  247. - Fixed an issue where the node stopped transmitting
  248. ## [4.3.1] - 2017-02-27
  249. ### General
  250. - Release based on "LoRaWAN specification 1.0.1"
  251. - GitHub reported issues corrections
  252. ### Added
  253. - Added MoteII platform based on the IMST module iM881A (STM32L051C8)
  254. - Added NAMote72 platform
  255. - Added TxCw (Tx continuous wave) LoRaWAN compliance protocol command
  256. - Added TxContinuousWave support to the radio drivers
  257. - Added region CN470 support
  258. ### Changed
  259. - Updated the MAC layer in order to be LoRaWAN version 1.0.1 compliant (Mainly US915 bug fixes)
  260. - Updated SensorNode projects according to the new MCU reference STM32L151CBU6. Bigger memories
  261. - Updated ST HAL drivers
  262. - STM32L1xx_HAL-Driver : V1.2.0
  263. - STM32L0xx_HAL_Driver : V1.7.0
  264. ### Removed
  265. - Removed api-v3 support from the project
  266. ### Fixed
  267. - Fixed compliance test protocol command 0x06 behavior
  268. - Fixed US band in order to pass the LoRaWAN certification
  269. ## [4.3.0] - 2016-06-22
  270. ### General
  271. - Release based on "LoRaWAN specification 1.0.1"
  272. - GitHub reported issues corrections
  273. ### Added
  274. - Added radio `RX_TIMEOUT` irq clear into the irq handler
  275. - Added retransmission back-off
  276. - Added debug pin support to LoRaMote platform
  277. - Added a function to verify the RX frequency of window 2 for US band
  278. ### Changed
  279. - Applied to all application files the certification protocol change for LoRaWAN 1.0.1 compliance tests
  280. **REMARK**: api-v3 application files aren't updated
  281. - Update of the STM32L0 HAL to version 1.6.0
  282. - Consolidated the line endings across all project files
  283. Windows line endings has been choose for almost every file
  284. - Updated maximum payload size for US band
  285. - Update data rate offset table for US band
  286. - Make MAC commands sticky
  287. - Updated and improved MPL3115 device driver
  288. - RTC driver major update
  289. ### Removed
  290. - Removed the end less loop from `HAL_UART_ErrorCallback`
  291. - Remove the `TxPower` limitation for US band on `LoRaMacMibSetRequestConfirm` function. The power will be limited
  292. anyway when the `SendFrameOnChannel` functions is called
  293. ### Fixed
  294. - Issue(#81): Bug fix in function `LoRaMacMlmeRequest` case `MLME_JOIN`. Function will return `LORAMAC_STATUS_BUSY` in
  295. case the MAC is in status `MAC_TX_DELAYED`
  296. - Issue(#83): Bug fix in parameter validation
  297. - Issue(#84): Fix issue of `CalibrateTimer` function
  298. - Applied pull request #87
  299. - Issue(#88): Bug fix in function `PrepareFrame` where repeated MAC commands were not handled correctly
  300. - Fixed `OnRadioRxDone` Node now drops frames on port 0 with fOpts > 0
  301. - Fixed `OnRadioRxDone` Node now receives frames with fOpts > 0 when no payload is present
  302. ## [4.2.0] - 2016-05-13
  303. ### General
  304. - Release based on "LoRaWAN specification 1.0.0"
  305. - GitHub reported issues corrections
  306. ### Added
  307. - Added a definition for the LoRaWAN device address. Add an IEEE_OUI for the LoRaWAN device EUI
  308. - Added a definition for the default data rate
  309. - Introduce individual MIN and MAX datarates for RX and TX
  310. - Added the possibility to set and get the `ChannelsDefaultDatarate`
  311. - Introduce a new status `MAC_RX_ABORT`. Reset `MAC_TX_RUNNING` only in `OnMacStateCheckTimerEvent`
  312. ### Changed
  313. - Update STM32L1xx_HAL_Driver version to 1.5. Update related drivers and implementations accordingly
  314. **REMARK**: This change implies that the time base had to be changed from microseconds to milliseconds
  315. - Optimize radio drivers regarding FSK PER
  316. - Increase RTC tick frequency for higher resolution
  317. - Update the radio wake up time
  318. - Update channel mask handling for US915 hybrid mode to support any block in the channel mask
  319. - Optimization of the RX symbol timeout
  320. - Replace definition `LORAMAC_DEFAULT_DATARATE` by `ChannelsDefaultDatarate` in `LoRaMacChannelAdd`
  321. - Accept MAC information of duplicated, confirmed downlinks
  322. ### Fixed
  323. - Fixed the frequency check condition for // ERRATA 2.1 - Sensitivity Optimization with a 500 kHz Bandwidth
  324. - Fixed an issue when calling `SX127xInit` function more than once
  325. - Issue(#66) correction of functions `SX1276SetOpMode` and `SX1272SetOpMode`
  326. - Issue(#68): Fix for low level RF switch control
  327. - Issue(#56) correction
  328. - Issue(#63) correct the maximum payload length in RX mode
  329. - Fixed Tx power setting loss for repeated join requests on US band
  330. - Issue(#59): Add the possibility to set the uplink and downlink counter
  331. - Issue(#72): Fix of possible array overrun in `LoRaMacChannelRemove`
  332. - Issue(#74): Drop frames with a downlink counter difference greater or equal to `MAX_FCNT_GAP`
  333. ## [4.1.0] - 2016-03-10
  334. ### General
  335. - Release based on "LoRaWAN specification 1.0.0"
  336. - GitHub reported issues corrections
  337. - This version has passed all mandatory LoRa-Alliance compliance tests
  338. *One of the optional tests is unsuccessful (FSK downlinks PER on Rx1 and Rx2 windows) and is currently under investigation*
  339. ### Added
  340. - Add missing documentation about `MIB_REPEATER_SUPPORT`. (Issue #42)
  341. - Add a new `LoRaMacState` to allow adding channels during TX procedure. (Issue #43)
  342. - Add a new function `PrepareRxDoneAbort` to prepare a break-out of `OnRadioRxDone` in case of an error
  343. ### Changed
  344. - Application state machine. Relocate setting sleep state and update the duty cycle in compliance test mode
  345. - Changed `TimerHwDelayMs` function to be re-entrant
  346. - Rename attribute `nbRetries` to `NbTrials` in structure `McpsReqConfirmed_t`. (Issue #37)
  347. - Updated implementation of `SetNextChannel`. Added enabling default channels in case of join request. (Issue #39)
  348. - Relocate the activation of `LoRaMacFlags.Bits.McpsInd` in `OnRadioRxDone`
  349. - Reset status of `NodeAckRequested` if we received an ACK or in case of timeout
  350. - Improved and corrected `AdrNextDr` function
  351. ### Removed
  352. - Removed support for Raisonance Ride7 IDE (Reduces the amount of work to be done at each new release)
  353. - Removed the Bleeper-72 and Bleeper-76 platforms support as these are now deprecated
  354. - Removed additional EU868 channels from the LoRaWAN implementation files. GitHub (Issue #49)
  355. The creation of these additional channels has been moved to the application example
  356. ### Fixed
  357. - Fixed `TimerIrqHandler`. Now, it is possible to insert timers in callback
  358. - Fixed FSK modem packets bigger than 64 bytes handling (Issue #36)
  359. - Fixed default channels activation in case all others are disabled. (Issue #39)
  360. - Fixed default channel setting in case none is enabled
  361. - Fixed `SRV_MAC_NEW_CHANNEL_REQ` MAC command by adding a fix to the `macIndex` variable on US915 band
  362. - Start the MacStateCheckTimer in OnRxDone and related error cases with a short interval to handle events promptly. (Issue #44)
  363. ## [4.0.0] - 2015-12-18
  364. ### General
  365. - Release based on "LoRaWAN specification 1.0.0"
  366. - GitHub reported issues corrections
  367. ### Added
  368. - LoRaWAN certification protocol implementation
  369. ### Changed
  370. - STACKFORCE new API integration
  371. - Reverse the EUIs arrays in the MAC layer
  372. ## [3.4.1] - 2015-11-06
  373. ### General
  374. - Release based on "LoRaWAN specification 1.0.0"
  375. - GitHub reported issues corrections
  376. ### Fixed
  377. - Fixed downlink counter roll over management when several downlinks were missed
  378. - Fixed the Radio maximum payload length management. Radio was filtering received frames with a length bigger than the transmitted one
  379. - Applied Pull request #22 solution proposition
  380. ## [3.4.0] - 2015-10-30
  381. ### General
  382. - Release based on "LoRaWAN specification 1.0.0"
  383. - GitHub reported issues corrections
  384. ### Added
  385. - Added TimerStop function calls to each timer event callback
  386. - Added some missing variables casts. Helps on code portability
  387. - Added const variable attribute when necessary to functions prototypes
  388. - Added `LORAMAC_MIN_RX1_DR_OFFSET` and `LORAMAC_MAX_RX1_DR_OFFSET` definitions to `LoRaMac-board.h`. Can be different
  389. upon used PHY layer
  390. - Added the limitation of output power according to the number of enabled channels for US915 band
  391. - Added the limitation of the applicative payload length according to the data rate. Does not yet take in account the
  392. MAC commands buffer. (Issue #15)
  393. ### Changed
  394. - Changed all applications in order to have preprocessing definitions on top of the files and added relevant comments
  395. - Applications LED control is no more done into the timer callback functions but instead on the main while loop
  396. - Changed types names for `stdint.h` names. Helps on code portability
  397. - Renamed `rand` and `srand` to `rand1` and `srand1`. Helps on code portability
  398. - Moved `ID1`, `ID2` and `ID3` definition from `board.h` to `board.c`, `usb-cdc-board.c` and `usb-dfu-board.c`
  399. - Renamed `BoardMeasureBatterieLevel` to `BoardGetBatteryLevel`
  400. - Added `SetMaxPayloadLength` API function to SX1272 and SX1276 radio drivers
  401. - Changed the name of Radio API Status function to `GetStatus`
  402. - Changed AES/CMAC types names for `stdint.h` names. Helps on code portability (Issue #20)
  403. - Moved `__ffs` function from `utilities.h` to `spi-board.c`. This function is only used there
  404. - Added support for the US915 band (Normal mode and hybrid mode. Hybrid mode is a temporary configuration up until servers support it automatically) (Issue #16)
  405. - Replaced the usage of `__IO` attribute by `volatile`
  406. - Renamed `LoRaMacEvent_t` into `LoRaMacCallbacks_t` and added a function pointer for getting battery level status
  407. - Renamed `LoRaMacSetDutyCycleOn` into `LoRaMacSetTestDutyCycleOn`
  408. - Renamed `LoRaMacSetMicTest` into `LoRaMacTestSetMic`
  409. - Increased the PHY buffer size to 250
  410. - `LoRaMacEventInfo.TxDatarate` now returns LoRaWAN data rate (DR0 -> DR7) instead of (SF12 -> DF7)
  411. - `LoRaMac-board.h` now implements the settings for the PHY layers specified by LoRaWAN 1.0 specification. (EU433, CN780, EU868, US915) (Issue #19)
  412. ### Removed
  413. - Removed `NULL` definition from `board.h`
  414. - Removed the definition of `RAND_SEED`. It has been replaced by a function named `BoardGetRandomSeed`
  415. - Removed `fputc` function redefinition from `Utilities.c`
  416. - Removed the usage of `PACKED` attribute for data structures
  417. - Removed `IsChannelFree` check on `LoRaMacSetNextChannel` function. LoRaWAN is an ALHOA protocol. (Pull request #8)
  418. ### Fixed
  419. - Fixed timings comments. Timing values are most of the time us based
  420. - Fixed and simplified the downlink sequence counter management
  421. - Fixed channel mask management for EU868 band
  422. - Fixed `LoRaMacPrepareFrame` function behavior when no applicative payload is present
  423. - Fixed `MacCommandBufferIndex` management. (Issue #18)
  424. ## [3.3.0] - 2015-08-07
  425. ### General
  426. - Release based on "LoRaWAN specification 1.0.0"
  427. - GitHub reported issues corrections
  428. ### Added
  429. - Added the support for LoRaWAN Class C devices
  430. - Added the possibility to change the channel mask and number of repetitions trough SRV_MAC_LINK_ADR_REQ command when ADR is disabled
  431. ### Changed
  432. - Increased FSK SyncWord timeout value in order to listen for longer time if a down link is available or not. Makes FSK downlink more reliable
  433. - Increased the UART USB FIFO buffer size in order to handle bigger chunks of data
  434. - Renamed data rates as per LoRaWAN specification
  435. - Changed confirmed messages function to use default datarate when ADR control is off
  436. - After a Join accept the node falls back to the default datarate. Enables the user to Join a network using a different datarate from its own default one
  437. - Moved the MAC commands processing to the right places. FOpts field before the Payload and Port 0 just after the decryption. (Pull request #9)
  438. ### Fixed
  439. - Implemented the radios errata note workarounds. SX1276 errata 2.3 "Receiver Spurious Reception of a LoRa Signal" is not yet implemented
  440. - Fixed handling of the MAC commands which was done incorrectly the condition to verify the length of the buffer has changed from `<` to `<=`
  441. - Fixed `Rx1DrOffset` management. In previous version DR1 was missing for all offsets
  442. - Fixed default FSK channel frequency
  443. - Fixed a firmware freeze when one of the following situations arrived in `OnRxDone` callback: bad address, bad MIC, bad frame. (Pull request #10)
  444. - Fixed weird conditions to check data rate on MAC command `SRV_MAC_NEW_CHANNEL_REQ` (Pull request #7)
  445. - Fixed join accept message handling to be ignored if already joined (Pull request #6)
  446. - Fixed channel index verification should use OR on `SRV_MAC_NEW_CHANNEL_REQ` command (Pull request #5)
  447. - Fixed the CFList management on JoinAccept. The `for` loop indexes were wrong. (Pull request #4)
  448. - Fixed AES key size (Pull request #3)
  449. ## [3.2.0] - 2015-04-30
  450. ### General
  451. - Release based on "LoRaWAN specification 1.0.0"
  452. - GitHub reported issues corrections
  453. ### Added
  454. - Added the support of packed structures when using IAR tool chain
  455. - Added a function to get the time in us
  456. - Added a typedef for time variables (TimerTime_t)
  457. - Added a function that returns if the GPS has a fix or not
  458. - Added missing MAC commands and updated others when necessary
  459. - Corrected the Port 0 MAC commands decryption
  460. - Changed the way the upper layer is notified. Now it is only notified
  461. when all the operations are finished
  462. When a ClassA Tx cycle starts a timer is launched to check every second if everything is finished
  463. - Added a new parameter to `LoRaMacEventFlags` structure that indicates on which Rx window the data has been received
  464. - Added a new parameter to `LoRaMacEventFlags` structure that indicates if there is applicative data on the received payload
  465. - Corrected ADR MAC command behavior
  466. - DutyCycle enforcement implementation (EU868 PHY only)
  467. **REMARK 1** *The regulatory duty cycle enforcement is enabled by default which means that for lower data rates the
  468. node may not transmit a new frame as quickly as requested
  469. The formula used to compute the node idle time is*
  470. Toff = TimeOnAir / DutyCycle - TxTimeOnAir
  471. *Example:*
  472. *A device just transmitted a 0.5 s long frame on one default channel
  473. This channel is in a sub-band allowing 1% duty-cycle. Therefore this whole sub-band (868 MHz - 868.6 MHz) will be
  474. unavailable for 49.5 s.*
  475. **REMARK 2** *The duty cycle enforcement can be disabled for test purposes by calling the `LoRaMacSetDutyCycleOn`
  476. function with false parameter.*
  477. - Implemented aggregated duty cycle management
  478. - Added a function to create new channels
  479. - Implemented the missing features on the JoinAccept MAC command
  480. - Updated LoRaMacJoinDecrypt function to handle the CFList field
  481. - Added the possibility to chose to use either public or private networks
  482. ### Changed
  483. - Cosmetic updates
  484. - Changed the TimeOnAir radio function to return a uint32_t value instead of a double. The value is in us
  485. - Changed the GetPosition functions to return a latitude and longitude of 0 and altitude of 65535 when no GPS fix
  486. - Due to duty cycle management the applicative API has changed
  487. All applications must be updated accordingly
  488. ### Removed
  489. - Removed support for previous LoRaMac/LoRaWAN specifications
  490. ### Fixed
  491. - Fixed the 250 kHz bandwidth choice for the FSK modem
  492. ## [3.1.0] - 2015-01-30
  493. ### General
  494. - Release based on "LoRaMac specification R3.0.0"
  495. - GitHub reported issues corrections
  496. ### Added
  497. - Started to add support for CooCox CoIDE Integrated Development Environment
  498. Currently only LoRaMote and SensorNode platform projects are available
  499. - Added the support of different tool chains for the `HardFault_Handler` function
  500. - Added an invalid bandwidth to the Bandwidths table in order to avoid an error
  501. when selecting 250 kHz bandwidth when using FSK modem
  502. - Added another timer in order increment the tick counter without blocking the normal timer count
  503. - Added the possibility to switch between low power timers and normal timers on the fly
  504. - Added an I2C EEPROM driver
  505. - Added the possibility to analyze an hard fault interrupt
  506. - Added the possibility to configure almost all the MAC parameters
  507. - Added the functions to read the Up and Down Link sequence counters
  508. ### Changed
  509. - Updated GCC compiler linker scripts
  510. - Changed the RSSI values type from int8_t to int16_t. We can have RSSI values below -128 dBm
  511. - Updated radio API to support FHSS and CAD handling
  512. - Changed all structures declarations to be packed
  513. - Automatically activate the channel once it is created
  514. ### Fixed
  515. - Fixed Radio drivers I&Q signals inversion to be possible in Rx and in Tx
  516. Added some missing radio state machine initialization
  517. - Fixed SNR computation on RxDone interrupt
  518. - Fixed in `SetRxConfig` function the FSK modem preamble register name
  519. - Fixed RTC alarm setup which could be set to an invalid date
  520. - Fixed I2C driver by correcting the 2 bytes internal address management
  521. Corrected buffer read function when more that 1 byte was to be read
  522. Added a function to wait for the I2C bus to become IDLE
  523. - Fixed and improved USB Virtual COM Port management files
  524. Corrected the USB CDC and USB UART drivers
  525. - Fixed RxWindow2 data rate management
  526. - Fixed `SrvAckRequested` variable was never reset
  527. - Fixed tstIndoor applications for LoRaMac R3.0 support
  528. - Fixed the `LoRaMacSetNextChannel` function
  529. - Fixed the port 0 MAC command decoding
  530. - Fixed the Acknowledgment retries management when only 1 trial is needed
  531. Before the device was issuing at least 2 trials
  532. - Fixed server mac new channel req answer
  533. - Fixed `SRV_MAC_RX2_SETUP_REQ` frequency handling
  534. Added a x100 multiplication
  535. - Fixed `SRV_MAC_NEW_CHANNEL_REQ`
  536. Removed the DutyCycle parameter decoding
  537. - Fixed `NbRepTimeoutTimer` initial value. `RxWindow2Delay` already contains `RxWindow1Delay` in it
  538. ## [3.0.0] - 2014-07-18
  539. ### General
  540. - Release based on "LoRaMac specification R3.0.0"
  541. - GitHub reported issues corrections
  542. ### Added
  543. - Added to Radio API the possibility to select the modem
  544. ### Changed
  545. - Changed radio callbacks events to timeout when it is a timeout event and error when it is a CRC error
  546. - Radio API updated
  547. - Updated ping-pong applications
  548. - Updated tx-cw applications
  549. - Updated LoRaMac applications in order to handle LoRaMac returned functions calls status
  550. - Updated LoRaMac applications to toggle LED2 each time there is an application payload down link
  551. - Updated tstIndoor application to handle correctly more than 6 channels
  552. - Changed the MPL3115 altitude variable from unsigned to signed value
  553. - Changed the usage of pow(2, n) by defining POW2 functions Saves ~2 KBytes of code
  554. - MAC commands implemented
  555. - LinkCheckReq **YES**
  556. - LinkCheckAns **YES**
  557. - LinkADRReq **YES**
  558. - LinkADRAns **YES**
  559. - DutyCycleReq **YES**
  560. - DutyCycleAns **YES**
  561. - Rx2SetupReq **YES**
  562. - Rx2SetupAns **YES**
  563. - DevStatusReq **YES**
  564. - DevStatusAns **YES**
  565. - JoinReq **YES**
  566. - JoinAccept **YES**
  567. - NewChannelReq **YES**
  568. - NewChannelAns **YES**
  569. - Features implemented
  570. - Possibility to shut-down the device **YES** (Possible by issuing DutyCycleReq MAC command)
  571. - Duty cycle management enforcement **NO**
  572. - Acknowledgments retries **YES**
  573. - Unconfirmed messages retries **YES**
  574. ### Fixed
  575. - Fixed RSSI reading formulas as well as changed the RSSI and SNR values from double to int8_t type
  576. - Fixed an issue potentially arriving when LOW_POWER_MODE_ENABLE wasn't defined
  577. A timer interrupt could be generated while the TimerList could already be emptied
  578. ## [2.3.0-RC2] - 2014-07-10
  579. ### General
  580. - Release based on "LoRaMac specification R2.2.1"
  581. - GitHub reported issues corrections
  582. ### Fixed
  583. - Fixed all radios antenna switch low power mode handling
  584. - Fixed SX1276 antenna switch control
  585. ## [2.3.0-RC1] - 2014-06-06
  586. ### General
  587. - GitHub reported issues corrections
  588. ### Added
  589. - Added the support for SX1276 radio
  590. - Added Bleeper-76 and SensorNode platforms support
  591. - Added to the radio drivers a function that generates a random value from RSSI readings
  592. - Added a project to transmit a continuous wave and a project to measure the the radio sensitivity
  593. - Added a bootloader project for the LoRaMote and SensorNode platforms
  594. - Added a function to the timer driver that checks if a timer is already in the list or not
  595. - Added the UART Overrun bit exception handling to the UART driver
  596. ### Changed
  597. - Radio driver RxDone callback function API has changed (size parameter is no more a pointer)
  598. - Previous function prototype:
  599. `void ( *RxDone )( uint8_t *payload, uint16_t *size, double rssi, double snr, uint8_t rawSnr );`
  600. - New function prototype:
  601. `void ( *RxDone )( uint8_t *payload, uint16_t size, double rssi, double snr, uint8_t rawSnr );`
  602. - The LoRaMac application for Bleeper platforms now sends the Selector and LED status plus the sensors values
  603. - The application payload for the Bleeper platforms is as follows:
  604. LoRaMac port 1:
  605. { 0xX0/0xX1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
  606. ---------- ---------- ---------- ---------- ----
  607. | | | | |
  608. SELECTOR/LED PRESSURE TEMPERATURE ALTITUDE BATTERY
  609. MSB nibble = SELECTOR (barometric)
  610. LSB bit = LED
  611. - Redefined `rand()` and `srand()` standard C functions. These functions are redefined in order to get the same behavior across different compiler tool chains implementations
  612. - GPS driver improvements. Made independent of the board platform
  613. - Simplified the RTC management
  614. - MAC commands implemented
  615. - LinkCheckReq **YES**
  616. - LinkCheckAns **YES**
  617. - LinkADRReq **YES**
  618. - LinkADRAns **YES**
  619. - DutyCycleReq **YES** (LoRaMac specification R2.2.1)
  620. - DutyCycleAns **YES** (LoRaMac specification R2.2.1)
  621. - Rx2SetupReq **YES** (LoRaMac specification R2.2.1)
  622. - Rx2SetupAns **YES** (LoRaMac specification R2.2.1)
  623. - DevStatusReq **YES**
  624. - DevStatusAns **YES**
  625. - JoinReq **YES**
  626. - JoinAccept **YES** (LoRaMac specification R2.2.1)
  627. - NewChannelReq **YES** (LoRaMac specification R2.2.1)
  628. - NewChannelAns **YES** (LoRaMac specification R2.2.1)
  629. - Features implemented
  630. - Possibility to shut-down the device **YES** (Possible by issuing DutyCycleReq MAC command)
  631. - Duty cycle management enforcement **NO**
  632. - Acknowledgments retries **WORK IN PROGRESS** (Not fully debugged. Disabled by default)
  633. - Unconfirmed messages retries **WORK IN PROGRESS** (LoRaMac specification R2.2.1)
  634. - Due to new specification the `LoRaMacInitNwkIds` LoRaMac API function had to be modified
  635. - Previous function prototype:
  636. `void LoRaMacInitNwkIds( uint32_t devAddr, uint8_t *nwkSKey, uint8_t *appSKey );`
  637. - New function prototype:
  638. `void LoRaMacInitNwkIds( uint32_t netID, uint32_t devAddr, uint8_t *nwkSKey, uint8_t *appSKey );`
  639. - Changed the LoRaMac channels management
  640. - LoRaMac channels definition has been moved to `LoRaMac-board.h` file located in each specific board directory
  641. ### Removed
  642. - Removed dependency of spi-board files to the `__builtin_ffs` function
  643. This function is only available on GNU compiler tool suite
  644. Removed --gnu compiler option from Keil projects
  645. Added own `__ffs` function implementation to `utilities.h` file
  646. - Removed obsolete class1 devices support
  647. ### Fixed
  648. - Fixed Radio continuous reception mode
  649. ## [2.2.0] - 2014-04-07
  650. ### General
  651. - GitHub reported issues corrections
  652. ### Added
  653. - Added IMST SK-iM880A starter kit board support to the project
  654. - The application payload for the SK-iM880A platform is as follows:
  655. LoRaMac port 3:
  656. { 0x00/0x01, 0x00, 0x00, 0x00 }
  657. ---------- ----- ----------
  658. | | |
  659. LED POTI VDD
  660. ### Changed
  661. - Ping-Pong applications have been split per supported board
  662. - Made fifo functions coding style coherent with the project
  663. - UART driver is now independent of the used MCU
  664. ### Fixed
  665. - Fixed the SX1272 output power management
  666. - Added a variable to store the current Radio channel
  667. - Added missing FSK bit definition
  668. ## [2.1.0] - 2014-03-28
  669. ### General
  670. - GitHub reported issues corrections
  671. ### Added
  672. - Added to the radio driver the possibility to choose the preamble length and rxSingle symbol timeout in reception
  673. - Added Hex coder selector driver for the Bleeper board
  674. - Added acknowledgments retries management
  675. - Split the `LoRaMacSendOnChannel` function in `LoRaMacPrepareFrame` and `LoRaMacSendFrameOnChannel`
  676. `LoRaMacSendOnChannel` now calls the 2 newly defined functions
  677. **WARNING**: By default the acknowledgment retries specific code isn't enabled
  678. The current http://iot.semtech.com server version doesn't support it
  679. - Added `LORAMAC_EVENT_INFO_STATUS_MAC_ERROR` event info status
  680. ### Changed
  681. - The timers and RTC management has been rewritten
  682. - Improved the UART and UP501 GPS drivers
  683. - Changed copyright Unicode character to (C) in all source files
  684. - MAC commands implemented
  685. - LinkCheckReq **YES**
  686. - LinkCheckAns **YES**
  687. - LinkADRReq **YES**
  688. - LinkADRAns **YES**
  689. - DevStatusReq **YES**
  690. - DevStatusAns **YES**
  691. - JoinReq **YES**
  692. - JoinAccept **YES**
  693. ### Fixed
  694. - Fixed GPIO pin names management
  695. - Fixed the antenna switch management in the SX1272 driver
  696. - Fixed issues on JoinRequest and JoinAccept MAC commands
  697. ## [2.0.0] - 2014-02-21
  698. ### General
  699. - GitHub reported issues corrections
  700. ### Added
  701. - Added new MAC layer application API implementation
  702. - Added sensors drivers implementation
  703. ### Changed
  704. - The LoRaMac applications now sends the LED status plus the sensors values
  705. For the LoRaMote platform the application also sends the GPS coordinates
  706. - The application payload for the Bleeper platform is as follows:
  707. LoRaMac port 1:
  708. { 0x00/0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
  709. ---------- ---------- ---------- ---------- ----
  710. | | | | |
  711. LED PRESSURE TEMPERATURE ALTITUDE BATTERY
  712. (barometric)
  713. - The application payload for the LoRaMote platform is as follows:
  714. LoRaMac port 2:
  715. { 0x00/0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
  716. ---------- ---------- ---------- ---------- ---- ---------------- ---------------- ----------
  717. | | | | | | | |
  718. LED PRESSURE TEMPERATURE ALTITUDE BATTERY LATITUDE LONGITUDE ALTITUDE
  719. (barometric) (gps)
  720. - Changed applications examples according to the new MAC layer API
  721. - MAC commands implemented
  722. - LinkCheckReq **YES**
  723. - LinkCheckAns **YES**
  724. - LinkADRReq **YES**
  725. - LinkADRAns **YES**
  726. - DevStatusReq **YES**
  727. - DevStatusAns **YES**
  728. - JoinReq **YES (Not tested)**
  729. - JoinAccept **YES (Not tested)**
  730. ### Known bugs
  731. - Still some issues with RTC/Timer. Will be solved in a future version
  732. ## [1.1.0] - 2014-01-24
  733. ### General
  734. - GitHub reported issues corrections
  735. ### Added
  736. - Implemented an application LED control
  737. - If the server sends on port 1 an application payload of one byte with the following contents:
  738. 0: LED off
  739. 1: LED on
  740. - The node transmits periodically on port 1 the LED status on 1st byte and the message "Hello World!!!!"
  741. the array looks lik
  742. { 0, 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '!', '!', '!' }
  743. ### Changed
  744. - MAC commands implemented
  745. - LinkCheckReq **NO**
  746. - LinkCheckAns **NO**
  747. - LinkADRReq **YES**
  748. - LinkADRAns **YES**
  749. - DevStatusReq **YES**
  750. - DevStatusAns **YES**
  751. ### Known bugs
  752. - There is an issue when launching an asynchronous Timer. Will be solved in a future version
  753. ## [1.1.0-RC1] - 2014-01-20
  754. ### Added
  755. - Added Doc directory. The directory contains:
  756. - LoRa MAC specification
  757. - Bleeper board schematic
  758. ### Changed
  759. - Changed LoRaMac according to Release1 of the specification. Main changes are:
  760. - MAC API changed
  761. - Frame format
  762. - ClassA first ADR implementation
  763. - MAC commands implemented
  764. - LinkCheckReq **NO**
  765. - LinkCheckAns **NO**
  766. - LinkADRReq **YES**
  767. - LinkADRAns **NO**
  768. - DevStatusReq **NO**
  769. - DevStatusAns **NO**
  770. - Timers and RTC rewriting. Known bugs are:
  771. - The Radio wakeup time is taken in account for all timings
  772. - When opening the second reception window the microcontroller sometimes doesn't enter in low power mode
  773. ## [1.0.0] - 2013-11-28
  774. ### General
  775. - Initial version of the LoRa MAC node firmware implementation