Compare commits
3 Commits
764e5a9d91
...
0f836996ca
Author | SHA1 | Date |
---|---|---|
|
0f836996ca | |
|
cf3a92f937 | |
|
e2a0f3c384 |
|
@ -47,12 +47,12 @@ extern "C" {
|
|||
/**
|
||||
* @brief Verbose level for all trace logs
|
||||
*/
|
||||
#define VERBOSE_LEVEL VLEVEL_M
|
||||
#define VERBOSE_LEVEL VLEVEL_OFF
|
||||
|
||||
/**
|
||||
* @brief Enable trace logs
|
||||
*/
|
||||
#define APP_LOG_ENABLED 1
|
||||
#define APP_LOG_ENABLED 0
|
||||
|
||||
/**
|
||||
* @brief Activate monitoring (probes) of some internal RF signals for debug purpose
|
||||
|
@ -75,7 +75,7 @@ extern "C" {
|
|||
* @brief Enable/Disable MCU Debugger pins (dbg serial wires)
|
||||
* @note by HW serial wires are ON by default, need to put them OFF to save power
|
||||
*/
|
||||
#define DEBUGGER_ENABLED 1
|
||||
#define DEBUGGER_ENABLED 0
|
||||
|
||||
/**
|
||||
* @brief Disable Low Power mode
|
||||
|
|
|
@ -80,7 +80,7 @@ typedef enum
|
|||
CFG_SEQ_Task_LoRaStoreContextEvent,
|
||||
CFG_SEQ_Task_LoRaStopJoinEvent,
|
||||
/* USER CODE BEGIN CFG_SEQ_Task_Id_t */
|
||||
CFG_SEQ_Task_YunhornSTSP1CheckingEvent,
|
||||
|
||||
/* USER CODE END CFG_SEQ_Task_Id_t */
|
||||
CFG_SEQ_Task_NBR
|
||||
} CFG_SEQ_Task_Id_t;
|
||||
|
|
|
@ -55,8 +55,8 @@ void MX_GPIO_Init(void)
|
|||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
__HAL_RCC_GPIOB_CLK_DISABLE();
|
||||
__HAL_RCC_GPIOC_CLK_DISABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
|
||||
GPIO_InitStruct.Pin = BUT1_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
|
||||
|
|
|
@ -96,8 +96,7 @@ void PWR_EnterStopMode(void)
|
|||
/* USER CODE END EnterStopMode_1 */
|
||||
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET);
|
||||
//HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET);
|
||||
|
||||
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET);
|
||||
HAL_SuspendTick();
|
||||
/* Clear Status Flag before entering STOP/STANDBY Mode */
|
||||
LL_PWR_ClearFlag_C1STOP_C1STB();
|
||||
|
@ -124,7 +123,7 @@ void PWR_ExitStopMode(void)
|
|||
SRAM ctrls, DMAx, DMAMux, AES, RNG, HSEM */
|
||||
|
||||
/* Resume not retained USARTx and DMA */
|
||||
//MX_GPIO_Init();
|
||||
MX_GPIO_Init();
|
||||
vcom_Resume();
|
||||
/* USER CODE BEGIN ExitStopMode_2 */
|
||||
|
||||
|
|
|
@ -215,7 +215,6 @@ static void OnPingSlotPeriodicityChanged(uint8_t pingSlotPeriodicity);
|
|||
static void OnSystemReset(void);
|
||||
|
||||
/* USER CODE BEGIN PFP */
|
||||
static void OnYunhornSTSP1CheckingEvent(void);
|
||||
|
||||
/**
|
||||
* @brief LED Tx timer callback function
|
||||
|
@ -301,7 +300,7 @@ static UTIL_TIMER_Object_t TxTimer;
|
|||
/**
|
||||
* @brief Tx Timer period
|
||||
*/
|
||||
static UTIL_TIMER_Time_t TxPeriodicity = 1000;
|
||||
static UTIL_TIMER_Time_t TxPeriodicity = APP_TX_DUTYCYCLE;
|
||||
|
||||
/**
|
||||
* @brief Join Timer period
|
||||
|
@ -344,7 +343,6 @@ static UTIL_TIMER_Object_t JoinLedTimer;
|
|||
/* Exported functions ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN EF */
|
||||
volatile uint8_t door_status=0, door_changed_flag=0, door_previous_status=0;
|
||||
volatile uint32_t checking_sn=0;
|
||||
/* USER CODE END EF */
|
||||
|
||||
void LoRaWAN_Init(void)
|
||||
|
@ -406,7 +404,7 @@ void LoRaWAN_Init(void)
|
|||
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), UTIL_SEQ_RFU, SendTxData);
|
||||
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), UTIL_SEQ_RFU, StoreContext);
|
||||
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), UTIL_SEQ_RFU, StopJoin);
|
||||
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent),UTIL_SEQ_RFU, OnYunhornSTSP1CheckingEvent);
|
||||
|
||||
/* Init Info table used by LmHandler*/
|
||||
LoraInfo_Init();
|
||||
|
||||
|
@ -425,7 +423,7 @@ void LoRaWAN_Init(void)
|
|||
if (EventType == TX_ON_TIMER)
|
||||
{
|
||||
/* send every time timer elapses */
|
||||
UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_PERIODIC, OnTxTimerEvent, NULL);
|
||||
UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_ONESHOT, OnTxTimerEvent, NULL);
|
||||
UTIL_TIMER_Start(&TxTimer);
|
||||
}
|
||||
else
|
||||
|
@ -448,11 +446,19 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
{
|
||||
case BUT1_Pin:
|
||||
/* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */
|
||||
door_changed_flag = 1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0);
|
||||
|
||||
if (EventType == TX_ON_EVENT)
|
||||
HAL_Delay(10); //eliminate bouncing back 5ms
|
||||
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
|
||||
|
||||
if (door_status != door_previous_status)
|
||||
{
|
||||
door_changed_flag = 1;
|
||||
door_previous_status = door_status;
|
||||
}
|
||||
|
||||
//if (EventType == TX_ON_EVENT)
|
||||
{
|
||||
// door_changed_flag =1;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
}
|
||||
break;
|
||||
|
@ -471,21 +477,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
|
||||
/* Private functions ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PrFD */
|
||||
static void OnYunhornSTSP1CheckingEvent(void)
|
||||
{
|
||||
|
||||
|
||||
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
|
||||
|
||||
if (door_status != door_previous_status)
|
||||
{
|
||||
door_previous_status = door_status;
|
||||
door_changed_flag = 1;
|
||||
APP_LOG(TS_OFF,VLEVEL_M,"\r\n----- Door Status Changed-------------\r\n");
|
||||
}
|
||||
|
||||
//UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
}
|
||||
/* USER CODE END PrFD */
|
||||
|
||||
static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
|
||||
|
@ -576,6 +568,17 @@ static void SendTxData(void)
|
|||
sensor_t sensor_data;
|
||||
UTIL_TIMER_Time_t nextTxIn = 0;
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
if (door_changed_flag ==1 )
|
||||
{
|
||||
door_changed_flag = 0;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
UTIL_TIMER_Start(&TxTimer);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (LmHandlerIsBusy() == false)
|
||||
{
|
||||
#ifdef CAYENNE_LPP
|
||||
|
@ -591,10 +594,10 @@ static void SendTxData(void)
|
|||
#endif /* CAYENNE_LPP */
|
||||
|
||||
EnvSensors_Read(&sensor_data);
|
||||
#if 0
|
||||
|
||||
APP_LOG(TS_ON, VLEVEL_M, "VDDA: %d\r\n", batteryLevel);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "temp: %d\r\n", (int16_t)(sensor_data.temperature));
|
||||
#endif
|
||||
|
||||
AppData.Port = LORAWAN_USER_APP_PORT;
|
||||
|
||||
#ifdef CAYENNE_LPP
|
||||
|
@ -685,12 +688,35 @@ static void SendTxData(void)
|
|||
static void OnTxTimerEvent(void *context)
|
||||
{
|
||||
/* USER CODE BEGIN OnTxTimerEvent_1 */
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0);
|
||||
if (door_changed_flag ==1)
|
||||
#if 0
|
||||
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
|
||||
if (door_status != door_previous_status)
|
||||
{
|
||||
door_changed_flag =0;
|
||||
door_changed_flag = 1;
|
||||
door_previous_status = door_status;
|
||||
}
|
||||
/* USER CODE END OnTxTimerEvent_1 */
|
||||
if (door_changed_flag ==1 )
|
||||
{
|
||||
door_changed_flag = 0;
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
//UTIL_TIMER_Start(&TxTimer);
|
||||
|
||||
/*Wait for next tx slot*/
|
||||
UTIL_TIMER_Start(&TxTimer);
|
||||
}
|
||||
#endif
|
||||
MX_GPIO_Init();
|
||||
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
|
||||
|
||||
if (door_status != door_previous_status)
|
||||
{
|
||||
door_changed_flag = 1;
|
||||
door_previous_status = door_status;
|
||||
|
||||
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||
UTIL_TIMER_Start(&TxTimer);
|
||||
|
||||
}
|
||||
/* USER CODE BEGIN OnTxTimerEvent_2 */
|
||||
|
||||
|
|
|
@ -151,6 +151,7 @@
|
|||
<listOptionValue builtIn="false" value="../../../../../../../Drivers/CMSIS/Include"/>
|
||||
<listOptionValue builtIn="false" value="../../../../../../../Drivers/BSP/STM32WLxx_Nucleo"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags.2006508446" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags" useByScannerDiscovery="true" valueType="stringList"/>
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1477344818" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
||||
</tool>
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1464259023" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>LoRaWAN_End_Node.ioc</name>
|
||||
<name>WL55JC_AS923.ioc</name>
|
||||
<type>1</type>
|
||||
<locationURI>copy_PARENT/LoRaWAN_End_Node.ioc</locationURI>
|
||||
</link>
|
||||
|
|
Loading…
Reference in New Issue