165 lines
4.7 KiB
C
165 lines
4.7 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
|
|
*/
|
|
#ifndef STS_BAT
|
|
#define LORAWAN_DEFAULT_CLASS CLASS_C
|
|
#elif defined(STS_BAT)
|
|
#define LORAWAN_DEFAULT_CLASS CLASS_A
|
|
#endif
|
|
/*!
|
|
* 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
|
|
*/
|
|
#ifndef STS_BAT
|
|
#define LORAWAN_DEFAULT_DATA_RATE DR_0
|
|
#elif defined(STS_BAT)
|
|
#define LORAWAN_DEFAULT_DATA_RATE DR_5
|
|
#endif
|
|
/*!
|
|
* 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__*/
|