1 /*! 2 * \file LmhpCompliance.h 3 * 4 * \brief Implements the LoRa-Alliance certification protocol handling 5 * 6 * \copyright Revised BSD License, see section \ref LICENSE. 7 * 8 * \code 9 * ______ _ 10 * / _____) _ | | 11 * ( (____ _____ ____ _| |_ _____ ____| |__ 12 * \____ \| ___ | (_ _) ___ |/ ___) _ \ 13 * _____) ) ____| | | || |_| ____( (___| | | | 14 * (______/|_____)_|_|_| \__)_____)\____)_| |_| 15 * (C)2013-2018 Semtech 16 * 17 * \endcode 18 * 19 * \author Miguel Luis ( Semtech ) 20 */ 21 #ifndef __LMHP_COMPLIANCE__ 22 #define __LMHP_COMPLIANCE__ 23 24 #include "LoRaMac.h" 25 #include "LmHandlerTypes.h" 26 #include "LmhPackage.h" 27 28 /*! 29 * Compliance package identifier. 30 * 31 * \remark This value must be unique amongst the packages 32 */ 33 #define PACKAGE_ID_COMPLIANCE 0 34 35 /*! 36 * Compliance test protocol handler parameters 37 */ 38 typedef struct LmhpComplianceParams_s 39 { 40 /*! 41 * Current firmware version 42 */ 43 Version_t FwVersion; 44 /*! 45 * 46 */ 47 void ( *OnTxPeriodicityChanged )( uint32_t periodicity ); 48 /*! 49 * 50 */ 51 void ( *OnTxFrameCtrlChanged )( LmHandlerMsgTypes_t isTxConfirmed ); 52 /*! 53 * 54 */ 55 void ( *OnPingSlotPeriodicityChanged )( uint8_t pingSlotPeriodicity ); 56 }LmhpComplianceParams_t; 57 58 LmhPackage_t *LmphCompliancePackageFactory( void ); 59 60 #endif // __LMHP_COMPLIANCE__ 61