1 /*! 2 * \file LoRaMacClassBConfig.h 3 * 4 * \brief LoRa MAC Class B configuration 5 * 6 * \copyright Revised BSD License, see section \ref LICENSE. 7 * 8 * \code 9 * ______ _ 10 * / _____) _ | | 11 * ( (____ _____ ____ _| |_ _____ ____| |__ 12 * \____ \| ___ | (_ _) ___ |/ ___) _ \ 13 * _____) ) ____| | | || |_| ____( (___| | | | 14 * (______/|_____)_|_|_| \__)_____)\____)_| |_| 15 * (C)2013 Semtech 16 * 17 * ___ _____ _ ___ _ _____ ___ ___ ___ ___ 18 * / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __| 19 * \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _| 20 * |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___| 21 * embedded.connectivity.solutions=============== 22 * 23 * \endcode 24 * 25 * \author Miguel Luis ( Semtech ) 26 * 27 * \author Gregory Cristian ( Semtech ) 28 * 29 * \author Daniel Jaeckle ( STACKFORCE ) 30 * 31 * \defgroup LORAMACCLASSB LoRa MAC Class B configuration 32 * This header file contains parameters to configure the class b operation. 33 * By default, all parameters are set according to the specification. 34 * \{ 35 */ 36 #ifndef __LORAMACCLASSBCONFIG_H__ 37 #define __LORAMACCLASSBCONFIG_H__ 38 39 #ifdef __cplusplus 40 extern "C" 41 { 42 #endif 43 44 /*! 45 * Defines the beacon interval in ms 46 */ 47 #define CLASSB_BEACON_INTERVAL 128000 48 49 /*! 50 * Beacon reserved time in ms 51 */ 52 #define CLASSB_BEACON_RESERVED 2120 53 54 /*! 55 * Beacon guard time in ms 56 */ 57 #define CLASSB_BEACON_GUARD 3000 58 59 /*! 60 * Beacon window time in ms 61 */ 62 #define CLASSB_BEACON_WINDOW 122880 63 64 /*! 65 * Beacon window time in numer of slots 66 */ 67 #define CLASSB_BEACON_WINDOW_SLOTS 4096 68 69 /*! 70 * Ping slot length time in ms 71 */ 72 #define CLASSB_PING_SLOT_WINDOW 30 73 74 /*! 75 * Maximum allowed beacon less time in ms 76 */ 77 #define CLASSB_MAX_BEACON_LESS_PERIOD 7200000 78 79 /*! 80 * Delay time for the BeaconTimingAns in ms 81 */ 82 #define CLASSB_BEACON_DELAY_BEACON_TIMING_ANS 30 83 84 /*! 85 * Default symbol timeout for beacons and ping slot windows 86 */ 87 #define CLASSB_BEACON_SYMBOL_TO_DEFAULT 8 88 89 /*! 90 * Maximum symbol timeout for beacons 91 */ 92 #define CLASSB_BEACON_SYMBOL_TO_EXPANSION_MAX 255 93 94 /*! 95 * Maximum symbol timeout for ping slots 96 */ 97 #define CLASSB_PING_SLOT_SYMBOL_TO_EXPANSION_MAX 30 98 99 /*! 100 * Symbol expansion value for beacon windows in case of beacon 101 * loss in symbols 102 */ 103 #define CLASSB_BEACON_SYMBOL_TO_EXPANSION_FACTOR 2 104 105 /*! 106 * Defines the default window movement time 107 */ 108 #define CLASSB_WINDOW_MOVE_DEFAULT 2 109 110 /*! 111 * Defines the maximum time for the beacon movement 112 */ 113 #define CLASSB_WINDOW_MOVE_EXPANSION_MAX 256 114 115 /*! 116 * Defines the expansion factor for the beacon movement 117 */ 118 #define CLASSB_WINDOW_MOVE_EXPANSION_FACTOR 2 119 120 #ifdef __cplusplus 121 } 122 #endif 123 124 #endif // __LORAMACCLASSBCONFIG_H__ 125