Skip to content

Releases: Lora-net/LoRaMac-node

v4.4.0

08 Sep 14:42
Compare
Choose a tag to compare

2017-09-08, V4.4.0

  • General

    1. First release based on "LoRaWAN specification 1.0.2" and "LoRaWAN Regional Parameters v1.0.2rB"
    2. This version has passed the LoRa-Alliance compliance tests for the regions shown in the below table.
    3. GitHub reported issues corrections.
    4. Updated radio driver to perform the LBT carrier sense continuously for a given period of time.
  • LoRaWAN

    1. GitHub reported issues corrections.
    2. Updated implementation to support 1.0.2 specification additions.
    3. Added the support for all "LoRaWAN Regional Parameters v1.0.2rB" document defined regions.

LoRaWAN certification results

Region Verdict # Test houses Comments
EU868 PASS 2 -
US915 PASS 2 -
CN779 Partial PASS 1 No certification specification - tests based on EU868 certification - All tests PASS except 1. Join Accept Rx2 parameters not being applied (under investigation)
EU433 PASS 1 No certification specification - tests based on EU868 certification
AU915 Not tested yet 0 No certification specification
CN470 Not tested yet 0 No certification specification
AS923 PASS 2 -
KR920 PASS 1 As of today only one test house has sent a report. We decided to perform the release anyway
IN865 PASS 1 No certification specification - tests based on EU868 certification

v4.3.2

19 Apr 15:57
Compare
Choose a tag to compare
  • General (Last release based on LoRaWAN specification 1.0.1)

    1. This version has passed EU868 and US915 LoRa-Alliance compliance tests.
    2. GitHub reported issues corrections.
    3. Added an algorithm to automatically compute the Rx windows parameters. (Window symbolTimeout and Offset from downlink expected time)
    4. Added a workaround to reset the radio in case a TxTimeout occurs.
    5. Modified FSK modem handling to use the provided symbolTimeout (1 symbol equals 1 byte) when in RxSingle mode.
    6. Added newly defined TxCw(Tx Continuous Wave) certification protocol command.
    7. Added a fix for an overflow issue that could happen with NmeaStringSize variable.
    8. Improved GpioMcuInit function to first configure the output pin state before activating the pin.
  • LoRaWAN

    1. GitHub reported issues corrections.
    2. Changed the AdrAckCounter handling as expected by the test houses.
    3. Fix an issue where the node stopped transmitting.
    4. Removed useless LoRaMacPayload buffer.
    5. MAC layer indications handling simplification.
    6. Relocate parameter settings from ResetMacParameters to the initialization.

v4.3.1

27 Feb 18:12
Compare
Choose a tag to compare
  • General
    1. This version has passed EU868 and US915 LoRa-Alliance compliance tests.
    2. Update the MAC layer in order to be LoRaWAN version 1.0.1 compliant (Mainly US915 bug fixes)
    3. Removed api-v3 support from the project.
    4. GitHub reported issues corrections.
    5. Updated SensorNode projects according to the new MCU reference STM32L151CBU6. Bigger memories.
    6. Addition of MoteII platform based on the IMST module iM881A (STM32L051C8)
    7. Addition of NAMote72 platform
    8. Correct compliance test protocol command 0x06 behaviour
    9. Added TxCw (Tx continuous wave) LoRaWAN compliance protocol command.
    10. Added TxContinuousWave support to the radio drivers.
    11. Updated ST HAL drivers.
      • STM32L1xx_HAL-Driver : V1.2.0
      • STM32L0xx_HAL_Driver : V1.7.0
  • LoRaWAN
    1. US band corrections in order to pass the LoRaWAN certification.
    2. GitHub reported issues corrections.
    3. Add region CN470 support.

v4.3.0

22 Jun 09:16
Compare
Choose a tag to compare
  • General
    1. This version has passed all LoRa-Alliance compliance tests.

    2. Update the MAC layer in order to be LoRaWAN version 1.0.1 compliant

    3. Applied to all application files the certification protocol change for LoRaWAN 1.0.1 compliance tests.

      REMARK: api-v3 application files aren't updated.

    4. Add radio RX_TIMEOUT irq clear into the irq handler.

    5. Removed the end less loop from HAL_UART_ErrorCallback.

    6. Update of the STM32L0 HAL to version 1.6.0

    7. Consolidated the line endings across all project files.
      Windows line endings has been choose for almost every file.

  • LoRaWAN
    1. Updated maximum payload size for US band.
    2. Update datarate offset table for US band.
    3. Make MAC commands sticky
    4. Add retransmission back-off
    5. Remove the TxPower limitation for US band on LoRaMacMibSetRequestConfirm function. The power will be limited anyway when the SendFrameOnChannel functions is called.
    6. Issue(#81): Bug fix in function LoRaMacMlmeRequest case MLME_JOIN. Function will return LORAMAC_STATUS_BUSY in case the MAC is in status MAC_TX_DELAYED.
    7. Add debug pin support to LoRaMote platform.
    8. Updated and improved MPL3115 device driver.
    9. Issue(#83): Bug fix in parameter validation
    10. Issue(#84): Fix issue of CalibrateTimer function.
    11. RTC driver major update
    12. Applied pull request #87.
    13. Add a function to verify the RX frequency of window 2 for US band.
    14. Issue(#88): Bug fix in function PrepareFrame where repeated MAC commands were not handled correctly.
    15. Bug fix in OnRadioRxDone. Node now drops frames on port 0 with fOpts > 0.
    16. Bug fix in OnRadioRxDone. Node now receives frames with fOpts > 0 when no payload is present.

v4.2.0

13 May 12:05
Compare
Choose a tag to compare

6. Changelog

  • General
    1. This version has passed all LoRa-Alliance compliance tests.

    2. Update STM32L1xx_HAL_Driver version to 1.5. Update related drivers and implementations accordingly.

      REMARK: This change implies that the time base had to be changed from microseconds to milliseconds.

    3. Corrected the frequency check condition for // ERRATA 2.1 - Sensitivity Optimization with a 500 kHz Bandwidth

    4. Optimize radio drivers regarding FSK PER

    5. Resolve issue when calling SX127xInit function more than once

    6. Add a definition for the LoRaWAN device address. Add an IEEE_OUI for the LoRaWAN device EUI.

    7. Add a definition for the default datarate.

    8. Issue(#66) correction of functions SX1276SetOpMode and SX1272SetOpMode.

    9. Issue(#68): Fix for low level RF switch control.

    10. Increase RTC tick frequency for higher resolution.

    11. Update the radio wake up time.

  • LoRaWAN
    1. Issue(#56) correction
    2. Update channel mask handling for US915 hybrid mode to support any block in the channel mask.
    3. Issue(#63) correct the maximum payload length in RX mode.
    4. Fix Tx power setting loss for repeated join requests on US band.
    5. Introduce individual MIN and MAX datarates for RX and TX.
    6. Add the possibility to set and get the ChannelsDefaultDatarate.
    7. Optimization of the RX symbol timeout.
    8. Issue(#59): Add the possibility to set the uplink and downlink counter.
    9. Replace definition LORAMAC_DEFAULT_DATARATE by ChannelsDefaultDatarate in LoRaMacChannelAdd.
    10. Issue(#72): Fix of possible array overrun in LoRaMacChannelRemove.
    11. Introduce a new status MAC_RX_ABORT. Reset MAC_TX_RUNNING only in OnMacStateCheckTimerEvent.
    12. Accept MAC information of duplicated, confirmed downlinks.
    13. Issue(#74): Drop frames with a downlink counter difference greater or equal to MAX_FCNT_GAP.

V4.1.0

11 Mar 14:56
Compare
Choose a tag to compare

6. Changelog

  • General
    1. This version has passed all mandatory LoRa-Alliance compliance tests.

      One of the optional tests is unsuccessful (FSK downlinks PER on Rx1 and Rx2 windows) and is currently under investigation.

    2. Removed support for Raisonance Ride7 IDE (Reduces the amount of work to be done at each new release)

    3. Removed the Bleeper-72 and Bleeper-76 platforms support as these are now deprecated.

    4. Application state machine. Relocate setting sleep state and update the duty cycle in compliance test mode.

    5. Bug fix in TimerIrqHandler. Now, it is possible to insert timers in callback.

    6. Changed TimerHwDelayMs function to be re-entrant.

    7. Corrected FSK modem packets bigger than 64 bytes handling (Issue #36)

  • LoRaWAN
    1. Rename attribute nbRetries to NbTrials in structure McpsReqConfirmed_t. (Issue #37)
    2. Updated implementation of SetNextChannel. Added enabling default channels in case of join request. (Issue #39)
    3. Add missing documentation about MIB_REPEATER_SUPPORT. (Issue #42).
    4. Add a new LoRaMacState to allow adding channels during TX procedure. (Issue #43)
    5. Relocate the activation of LoRaMacFlags.Bits.McpsInd in OnRadioRxDone.
    6. Add a new function PrepareRxDoneAbort to prepare a break-out of OnRadioRxDone in case of an error
    7. Activate default channels in case all others are disabled. (Issue #39)
    8. Bug fix in setting the default channel in case none is enabled.
    9. SRV_MAC_NEW_CHANNEL_REQ MAC command added a fix to the macIndex variable on US915 band.
    10. Start the MacStateCheckTimer in OnRxDone and related error cases with a short interval to handle events promptly. (Issue #44)
    11. Reset status of NodeAckRequested if we received an ACK or in case of timeout.
    12. Removed additional EU868 channels from the LoRaWAN implementation files. GitHub (Issue #49)
      The creation of these additional channels has been moved to the application example.
    13. Improved and corrected AdrNextDr function.

V4.0.0

18 Dec 13:41
Compare
Choose a tag to compare

6. Changelog

  • General
    1. STACKFORCE new API integration
    2. Reverse the EUIs arrays in the MAC layer.
    3. LoRaWAN certification protocol implmentation
    4. All reported issues and Pull requests have been addressed.

V3.4.1

06 Nov 10:30
Compare
Choose a tag to compare

6. Changelog

  • General
    1. Bug fixes
  • LoRaWAN
    1. Corrected downlink counter roll over management when several downlinks were missed.
    2. Corrected the Radio maximum payload length management. Radio was filtering received frames with a length bigger than the transmitted one.
    3. Applied Pull request #22 solution proposition.

V3.4

30 Oct 16:48
Compare
Choose a tag to compare

6. Changelog

  • General
    1. Changed all applications in order to have preprocessing definitions on top of the files and added relevant comments
    2. Applications LED control is no more done into the timer callback functions but instead on the main while loop.
    3. Added TimerStop function calls to each timer event callback.
    4. Corrected timings comments. Timing values are most of the time us based.
    5. Changed types names for stdint.h names. Helps on code portability
    6. Renamed rand and srand to rand1 and srand1. Helps on code portability
    7. Added some missing variables casts. Helps on code portability
    8. Removed NULL definition from board.h
    9. Added const variable attribute when necessary to functions prototypes
    10. Moved ID1, ID2 and ID3 definition from board.h to board.c, usb-cdc-board.c and usb-dfu-board.c
    11. Removed the definition of RAND_SEED. It has been replaced by a function named BoardGetRandomSeed
    12. Renamed BoardMeasureBatterieLevel to BoardGetBatteryLevel
    13. Added SetMaxPayloadLength API function to SX1272 and SX1276 radio drivers
    14. Changed the name of Radio API Status function to GetStatus
    15. AES/CMAC Changed types names for stdint.h names. Helps on code portability (Issue #20)
    16. Moved __ffs function from utilities.h to spi-board.c. This function is only used there.
    17. Utilities.c removed fputc function redefinition.
    18. Replaced the usage of __IO attribute by volatile.
  • LoRaWAN
    1. 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)
    2. Corrected and simplified the downlink sequence counter management.
    3. Removed the usage of PACKED attribute for data structures.
    4. Renamed LoRaMacEvent_t into LoRaMacCallbacks_t and added a function pointer for getting battery level status
    5. Renamed LoRaMacSetDutyCycleOn into LoRaMacSetTestDutyCycleOn
    6. Renamed LoRaMacSetMicTest into LoRaMacTestSetMic
    7. Increased the PHY buffer size to 250
    8. Removed IsChannelFree check on LoRaMacSetNextChannel function. LoRaWAN is an ALHOA protocol. (Pull request #8)
    9. LoRaMacEventInfo.TxDatarate now returns LoRaWAN datarate (DR0 -> DR7) instead of (SF12 -> DF7)
    10. Corrected channel mask management for EU868 band.
    11. Corrected LoRaMacPrepareFrame behavior function when no applicative payload is present.
    12. LoRaMac-board.h now implements the settings for the PHY layers specified by LoRaWAN 1.0 specification. ( EU433, CN780, EU868, US915 ) (Issue #19)
    13. Added LORAMAC_MIN_RX1_DR_OFFSET and LORAMAC_MAX_RX1_DR_OFFSET definitions to LoRaMac-board.h. Can be different upon used PHY layer
    14. Added the limitation of output power according to the number of enabled channels for US915 band.
    15. Added the limitation of the applicative payload length according to the datarate. Does not yet take in account the MAC commands buffer. (Issue #15)
    16. Corrected MacCommandBufferIndex management. (Issue #18)

V3.3

07 Aug 09:32
Compare
Choose a tag to compare

6. Changelog

  • General
    1. Added the support for LoRaWAN Class C devices.
    2. Implemented the radios errata note workarounds. SX1276 errata 2.3 "Receiver Spurious Reception of a LoRa Signal" is not yet implemented.
    3. 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.
    4. Increased the UART USB FIFO buffer size in order to handle bigger chunks of data.
  • LoRaWAN
    1. Renamed data rates as per LoRaWAN specification.
    2. Added the support for LoRaWAN Class C devices.
    3. Handling of the MAC commands was done incorrectly the condition to verify the length of the buffer has changed from < to <=.
    4. Added the possibility to change the channel mask and number of repetitions trough SRV_MAC_LINK_ADR_REQ command when ADR is disabled.
    5. Corrected Rx1DrOffset management. In previous version DR1 was missing for all offsets.
    6. Changed confirmed messages function to use default datarate when ADR control is off.
    7. 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.
    8. Corrected default FSK channel frequency.
    9. Solved a firmware freezing when one of the following situations arrived in OnRxDone callback: bad address, bad MIC, bad frame. (Pull request #10)
    10. Moved the MAC commands processing to the right places. FOpts field before the Payload and Port 0 just after the decryption. (Pull request #9)
    11. Weird conditions to check datarate on cmd mac SRV_MAC_NEW_CHANNEL_REQ (Pull request #7)
    12. Ignore join accept message if already joined (Pull request #6)
    13. Channel index verification should use OR on SRV_MAC_NEW_CHANNEL_REQ command (Pull request #5)
    14. Corrected the CFList management on JoinAccept. The for loop indexes were wrong. (Pull request #4)
    15. Correction of AES key size (Pull request #3)