Semtech / LoRaWAN-lib-dev

LoRAWAN-lib is a port of the GitHub LoRaMac-node develop branch LoRaWAN MAC layer implementation.

This library depends on the SX1276Lib or SX1272Lib radio drivers depending on the used mbed component shield.

This library depends also on some cryptographic helper functions as well as helper functions for the timers management. These can be found on the example projects under the system directory.

The example projects are:

  1. LoRaWAN-demo-72
  2. LoRaWAN-demo-76
  3. LoRaWAN-demo-NAMote72

The LoRaWAN specification specifies different ISM bands operating parameters. These are all implemented under the LoRaMac-board.h file.

In order to select which band to use, please change line 24 of board.h file provided on the examples projects as follows:


EU868

board.h

#define USE_BAND_868


US915

board.h

#define USE_BAND_915


US915 - Hybrid

board.h

#define USE_BAND_915_HYBRID


CN780

board.h

#define USE_BAND_780


EU433

board.h

#define USE_BAND_433
Committer:
mluis
Date:
Thu Jun 02 07:58:35 2016 +0000
Revision:
0:66f12acb8acb
Child:
2:76f59096e3a7
Synchronized with https://github.com/Lora-net/LoRaMac-node develop branch git revision 8391d0092863c1522c395fe7e6305706a98bb11e

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mluis 0:66f12acb8acb 1 /*!
mluis 0:66f12acb8acb 2 * \file LoRaMacTest.h
mluis 0:66f12acb8acb 3 *
mluis 0:66f12acb8acb 4 * \brief LoRa MAC layer test function implementation
mluis 0:66f12acb8acb 5 *
mluis 0:66f12acb8acb 6 * \copyright Revised BSD License, see section \ref LICENSE.
mluis 0:66f12acb8acb 7 *
mluis 0:66f12acb8acb 8 * \code
mluis 0:66f12acb8acb 9 * ______ _
mluis 0:66f12acb8acb 10 * / _____) _ | |
mluis 0:66f12acb8acb 11 * ( (____ _____ ____ _| |_ _____ ____| |__
mluis 0:66f12acb8acb 12 * \____ \| ___ | (_ _) ___ |/ ___) _ \
mluis 0:66f12acb8acb 13 * _____) ) ____| | | || |_| ____( (___| | | |
mluis 0:66f12acb8acb 14 * (______/|_____)_|_|_| \__)_____)\____)_| |_|
mluis 0:66f12acb8acb 15 * (C)2013 Semtech
mluis 0:66f12acb8acb 16 *
mluis 0:66f12acb8acb 17 * ___ _____ _ ___ _ _____ ___ ___ ___ ___
mluis 0:66f12acb8acb 18 * / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
mluis 0:66f12acb8acb 19 * \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
mluis 0:66f12acb8acb 20 * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
mluis 0:66f12acb8acb 21 * embedded.connectivity.solutions===============
mluis 0:66f12acb8acb 22 *
mluis 0:66f12acb8acb 23 * \endcode
mluis 0:66f12acb8acb 24 *
mluis 0:66f12acb8acb 25 * \author Miguel Luis ( Semtech )
mluis 0:66f12acb8acb 26 *
mluis 0:66f12acb8acb 27 * \author Gregory Cristian ( Semtech )
mluis 0:66f12acb8acb 28 *
mluis 0:66f12acb8acb 29 * \author Daniel Jäckle ( STACKFORCE )
mluis 0:66f12acb8acb 30 *
mluis 0:66f12acb8acb 31 * \defgroup LORAMACTEST LoRa MAC layer test function implementation
mluis 0:66f12acb8acb 32 * This module specifies the API implementation of test function of the LoRaMAC layer.
mluis 0:66f12acb8acb 33 * The functions in this file are only for testing purposes only.
mluis 0:66f12acb8acb 34 * \{
mluis 0:66f12acb8acb 35 */
mluis 0:66f12acb8acb 36 #ifndef __LORAMACTEST_H__
mluis 0:66f12acb8acb 37 #define __LORAMACTEST_H__
mluis 0:66f12acb8acb 38
mluis 0:66f12acb8acb 39 /*!
mluis 0:66f12acb8acb 40 * \brief Enabled or disables the reception windows
mluis 0:66f12acb8acb 41 *
mluis 0:66f12acb8acb 42 * \details This is a test function. It shall be used for testing purposes only.
mluis 0:66f12acb8acb 43 * Changing this attribute may lead to a non-conformance LoRaMac operation.
mluis 0:66f12acb8acb 44 *
mluis 0:66f12acb8acb 45 * \param [IN] enable - Enabled or disables the reception windows
mluis 0:66f12acb8acb 46 */
mluis 0:66f12acb8acb 47 void LoRaMacTestRxWindowsOn( bool enable );
mluis 0:66f12acb8acb 48
mluis 0:66f12acb8acb 49 /*!
mluis 0:66f12acb8acb 50 * \brief Enables the MIC field test
mluis 0:66f12acb8acb 51 *
mluis 0:66f12acb8acb 52 * \details This is a test function. It shall be used for testing purposes only.
mluis 0:66f12acb8acb 53 * Changing this attribute may lead to a non-conformance LoRaMac operation.
mluis 0:66f12acb8acb 54 *
mluis 0:66f12acb8acb 55 * \param [IN] txPacketCounter - Fixed Tx packet counter value
mluis 0:66f12acb8acb 56 */
mluis 0:66f12acb8acb 57 void LoRaMacTestSetMic( uint16_t txPacketCounter );
mluis 0:66f12acb8acb 58
mluis 0:66f12acb8acb 59 /*!
mluis 0:66f12acb8acb 60 * \brief Enabled or disables the duty cycle
mluis 0:66f12acb8acb 61 *
mluis 0:66f12acb8acb 62 * \details This is a test function. It shall be used for testing purposes only.
mluis 0:66f12acb8acb 63 * Changing this attribute may lead to a non-conformance LoRaMac operation.
mluis 0:66f12acb8acb 64 *
mluis 0:66f12acb8acb 65 * \param [IN] enable - Enabled or disables the duty cycle
mluis 0:66f12acb8acb 66 */
mluis 0:66f12acb8acb 67 void LoRaMacTestSetDutyCycleOn( bool enable );
mluis 0:66f12acb8acb 68
mluis 0:66f12acb8acb 69 /*! \} defgroup LORAMACTEST */
mluis 0:66f12acb8acb 70
mluis 0:66f12acb8acb 71 #endif // __LORAMACTEST_H__