O7/LoRaWAN/App/lora_app.h

159 lines
4.5 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file lora_app.h
* @author MCD Application Team
* @brief Header of application of the LRWAN Middleware
******************************************************************************
* @attention
*
* Copyright (c) 2021 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __LORA_APP_H__
#define __LORA_APP_H__
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* LoraWAN application configuration (Mw is configured by lorawan_conf.h) */
#define ACTIVE_REGION LORAMAC_REGION_AS923
/* USER CODE BEGIN EC_CAYENNE_LPP */
/*!
* CAYENNE_LPP is myDevices Application server.
*/
/*#define CAYENNE_LPP*/
/* USER CODE END EC_CAYENNE_LPP */
/*!
* Defines the application data transmission duty cycle. 10s, value in [ms].
*/
#define APP_TX_DUTYCYCLE 10000
/*!
* LoRaWAN User application port
* @note do not use 224. It is reserved for certification
*/
//#define LORAWAN_USER_APP_PORT 2
#define LORAWAN_USER_APP_PORT sts_senddataport
#define LORAWAN_USER_APP_HTBT_PORT sts_sendhtbtport
#define LORAWAN_USER_APP_CTRL_PORT sts_appctrlport
#define LORAWAN_USER_APP_CTRL_REPLY_PORT sts_appctrl_reply_port
/*!
* LoRaWAN Switch class application port
* @note do not use 224. It is reserved for certification
*/
#define LORAWAN_SWITCH_CLASS_PORT 3
/*!
* LoRaWAN default class
*/
#define LORAWAN_DEFAULT_CLASS CLASS_C
/*!
* LoRaWAN default confirm state
*/
#define LORAWAN_DEFAULT_CONFIRMED_MSG_STATE LORAMAC_HANDLER_UNCONFIRMED_MSG
/*!
* LoRaWAN Adaptive Data Rate
* @note Please note that when ADR is enabled the end-device should be static
*/
#define LORAWAN_ADR_STATE LORAMAC_HANDLER_ADR_ON
/*!
* LoRaWAN Default Data Rate
* @note Please note that LORAWAN_DEFAULT_DATA_RATE is used only when LORAWAN_ADR_STATE is disabled
*/
#define LORAWAN_DEFAULT_DATA_RATE DR_0
/*!
* LoRaWAN Default Tx output power
* @note LORAWAN_DEFAULT_TX_POWER must be defined in the [XXXX_MIN_TX_POWER - XXXX_MAX_TX_POWER] range,
else the end-device uses the XXXX_DEFAULT_TX_POWER value
*/
#define LORAWAN_DEFAULT_TX_POWER TX_POWER_0
/*!
* LoRaWAN default activation type
*/
#define LORAWAN_DEFAULT_ACTIVATION_TYPE ACTIVATION_TYPE_OTAA
/*!
* LoRaWAN force rejoin even if the NVM context is restored
* @note useful only when context management is enabled by CONTEXT_MANAGEMENT_ENABLED
*/
#define LORAWAN_FORCE_REJOIN_AT_BOOT false
/*!
* User application data buffer size
*/
#define LORAWAN_APP_DATA_BUFFER_MAX_SIZE 242
/*!
* Default Unicast ping slots periodicity
*
* \remark periodicity is equal to 2^LORAWAN_DEFAULT_PING_SLOT_PERIODICITY seconds
* example: 2^4 = 16 seconds. The end-device will open an Rx slot every 16 seconds.
*/
#define LORAWAN_DEFAULT_PING_SLOT_PERIODICITY 4
/*!
* Default response timeout for class b and class c confirmed
* downlink frames in milli seconds.
*
* The value shall not be smaller than RETRANSMIT_TIMEOUT plus
* the maximum time on air.
*/
#define LORAWAN_DEFAULT_CLASS_B_C_RESP_TIMEOUT 8000
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macros -----------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
/**
* @brief Init Lora Application
*/
void LoRaWAN_Init(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
#ifdef __cplusplus
}
#endif
#endif /*__LORA_APP_H__*/