69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
/*!
|
|
* \file LmhpCompliance.h
|
|
*
|
|
* \brief Implements the LoRa-Alliance certification protocol handling
|
|
*
|
|
* \copyright Revised BSD License, see section \ref LICENSE.
|
|
*
|
|
* \code
|
|
* ______ _
|
|
* / _____) _ | |
|
|
* ( (____ _____ ____ _| |_ _____ ____| |__
|
|
* \____ \| ___ | (_ _) ___ |/ ___) _ \
|
|
* _____) ) ____| | | || |_| ____( (___| | | |
|
|
* (______/|_____)_|_|_| \__)_____)\____)_| |_|
|
|
* (C)2013-2018 Semtech
|
|
*
|
|
* \endcode
|
|
*
|
|
* \author Miguel Luis ( Semtech )
|
|
*/
|
|
#ifndef __LMHP_COMPLIANCE__
|
|
#define __LMHP_COMPLIANCE__
|
|
|
|
#include "LoRaMac.h"
|
|
#include "LmHandlerTypes.h"
|
|
#include "LmhPackage.h"
|
|
|
|
/*!
|
|
* Compliance package identifier.
|
|
*
|
|
* \remark This value must be unique amongst the packages
|
|
*/
|
|
#define PACKAGE_ID_COMPLIANCE 0
|
|
|
|
/*!
|
|
* Compliance test protocol handler parameters
|
|
*/
|
|
typedef struct LmhpComplianceParams_s
|
|
{
|
|
/*!
|
|
* Holds the ADR state
|
|
*/
|
|
bool AdrEnabled;
|
|
/*!
|
|
* LoRaWAN ETSI duty cycle control enable/disable
|
|
*
|
|
* \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
|
|
*/
|
|
bool DutyCycleEnabled;
|
|
/*!
|
|
* Stops unnecessary peripherals.
|
|
*
|
|
* \remark Use for the compliance tests protocol handling in order to
|
|
* reduce the power consumption.
|
|
*/
|
|
void ( *StopPeripherals )( void );
|
|
/*!
|
|
* Starts previously stopped peripherals.
|
|
*
|
|
* \remark Use for the compliance tests protocol handling in order to
|
|
* reduce the power consumption.
|
|
*/
|
|
void ( *StartPeripherals )( void );
|
|
}LmhpComplianceParams_t;
|
|
|
|
LmhPackage_t *LmhpCompliancePackageFactory( void );
|
|
|
|
#endif // __LMHP_COMPLIANCE__
|