Skip to content

V3.2

Compare
Choose a tag to compare
@mluis1 mluis1 released this 30 Apr 14:25
· 1898 commits to master since this release

6. Changelog

  • General
    1. Updated LoRaMac implementation according to LoRaWAN R1.0 specification
    2. General cosmetics corrections
    3. Added the support of packed structures when using IAR tool chain
    4. Timers: Added a function to get the time in us.
    5. Timers: Added a typedef for time variables (TimerTime_t)
    6. Radios: Changed the TimeOnAir radio function to return a uint32_t value instead of a double. The value is in us.
    7. Radios: Corrected the 250 kHz bandwidth choice for the FSK modem
    8. GPS: Added a function that returns if the GPS has a fix or not.
    9. GPS: Changed the GetPosition functions to return a latitude and longitude of 0 and altitude of 65535 when no GPS fix.
  • LoRaWAN
    1. Removed support for previous LoRaMac/LoRaWAN specifications
    2. Added missing MAC commands and updated others when necessary
      • Corrected the Port 0 MAC commands decryption

      • Changed the way the upper layer is notified. Now it is only notified
        when all the operations are finished.

        When a ClassA Tx cycle starts a timer is launched to check every second if everything is finished.

      • Added a new parameter to LoRaMacEventFlags structure that indicates on which Rx window the data has been received.

      • Added a new parameter to LoRaMacEventFlags structure that indicates if there is applicative data on the received payload.

      • Corrected ADR MAC command behaviour

      • DutyCycle enforcement implementation (EU868 PHY only)

        REMARK 1 The regulatory duty cycle enforcement is enabled by default
        which means that for lower data rates the node may not transmit a new
        frame as quickly as requested.
        The formula used to compute the node idle time is

        Toff = TimeOnAir / DutyCycle - TxTimeOnAir

        Eaxample:
        A device just transmitted a 0.5 s long frame on one default channel.
        This channel is in a sub-band allowing 1% duty-cycle. Therefore this
        whole sub-band (868 MHz - 868.6 MHz) will be unavailable for 49.5 s.

        REMARK 2 The duty cycle enforcement can be disabled for test
        purposes by calling the LoRaMacSetDutyCycleOn function with false
        parameter.

      • Implemented aggregated duty cycle management

      • Added a function to create new channels

      • Implemented the missing features on the JoinAccept MAC command

      • Updated LoRaMacJoinDecrypt function to handle the CFList field.

    3. Due to duty cycle management the applicative API has changed.
      All applications must be updated accordingly.
    4. Added the possibility to chose to use either public or private networks