Skip to content

v2.3 Release Candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@mluis1 mluis1 released this 06 Jun 13:03
· 1904 commits to master since this release

Changelog

2014-06-06, v2.3.RC1

  • General
    1. Added the support for SX1276 radio.

    2. Radio continuous reception mode correction.

    3. Radio driver RxDone callback function API has changed ( size parameter is no more a pointer).
      Previous function prototype:

      void    ( *RxDone )( uint8_t *payload, uint16_t *size, double rssi, double snr, uint8_t rawSnr );
      

      New function prototype:

      void    ( *RxDone )( uint8_t *payload, uint16_t size, double rssi, double snr, uint8_t rawSnr );
      
    4. Added Bleeper-76 and SensorNode platforms support.

    5. Added to the radio drivers a function that generates a random value from
      RSSI readings.

    6. Added a project to transmit a continuous wave and a project to measure the
      the radio sensitivity.

    7. Added a bootloader project for the LoRaMote and SensorNode platforms.

    8. The LoRaMac application for Bleeper platforms now sends the Selector and LED status plus the sensors values.

      • The application payload for the Bleeper platforms is as follows:

        LoRaMac port 1:

         { 0xX0/0xX1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
          ----------  ----------  ----------  ----------  ----
               |           |           |           |        |
         SELECTOR/LED  PRESSURE   TEMPERATURE  ALTITUDE  BATTERY
         MSB nibble = SELECTOR               (barometric)
         LSB bit    = LED
        
    9. Redefined rand() and srand() standard C functions. These functions are
      redefined in order to get the same behaviour across different compiler
      tool chains implementations.

    10. GPS driver improvements. Made independent of the board platform.

    11. Simplified the RTC management.

    12. Added a function to the timer driver that checks if a timer is already in
      the list or not.

    13. Added the UART Overrun bit exception handling to the UART driver.

    14. Removed dependency of spi-board files to the "__builtin_ffs" function.
      This function is only available on GNU compiler tool suite. Removed --gnu
      compiler option from Keil projects. Added own __ffs function
      implementation to utilities.h file.

    15. Removed obsolete class1 devices support.

    16. Known bugs correction.

  • LoRaMac
    1. MAC commands implemented

      • LinkCheckReq YES
      • LinkCheckAns YES
      • LinkADRReq YES
      • LinkADRAns YES
      • DutyCycleReq YES (LoRaMac specification R2.1.3)
      • DutyCycleAns YES (LoRaMac specification R2.1.3)
      • Rx2SetupReq YES (LoRaMac specification R2.1.3)
      • Rx2SetupAns YES (LoRaMac specification R2.1.3)
      • DevStatusReq YES
      • DevStatusAns YES
      • JoinReq YES
      • JoinAccept YES (LoRaMac specification R2.1.3)
      • NewChannelReq YES (LoRaMac specification R2.1.3)
      • NewChannelAns YES (LoRaMac specification R2.1.3)
    2. Features implemented

      • Possibility to shut-down the device YES

        Possible by issuing DutyCycleReq MAC command.

      • Duty cycle management enforcement NO

      • Acknowledgements retries WORK IN PROGRESS

        Not fully debugged. Disabled by default.

      • Unconfirmed messages retries WORK IN PROGRESS (LoRaMac specification R2.1.3)

    3. Implemented LoRaMac specification R2.1.3 changes.

    4. Due to new specification the LoRaMacInitNwkIds LoRaMac API function had
      to be modified.

      Previous function prototype:

      void LoRaMacInitNwkIds( uint32_t devAddr, uint8_t *nwkSKey, uint8_t *appSKey );
      

      New function prototype:

      void LoRaMacInitNwkIds( uint32_t netID, uint32_t devAddr, uint8_t *nwkSKey, uint8_t *appSKey );
      
    5. Changed the LoRaMac channels management.

    6. LoRaMac channels definition has been moved to LoRaMac-board.h file
      located in each specific board directory.