with debug, door open/close, three lines...

This commit is contained in:
Yunhorn 2024-03-26 17:34:22 +08:00
parent 1140aa9a19
commit f25c396a8d
7 changed files with 45 additions and 68 deletions

View File

@ -47,12 +47,12 @@ extern "C" {
/**
* @brief Verbose level for all trace logs
*/
#define VERBOSE_LEVEL VLEVEL_OFF
#define VERBOSE_LEVEL VLEVEL_M
/**
* @brief Enable trace logs
*/
#define APP_LOG_ENABLED 0
#define APP_LOG_ENABLED 1
/**
* @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 0
#define DEBUGGER_ENABLED 1
/**
* @brief Disable Low Power mode

View File

@ -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;

View File

@ -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_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_DISABLE();
__HAL_RCC_GPIOC_CLK_DISABLE();
GPIO_InitStruct.Pin = BUT1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;

View File

@ -25,7 +25,7 @@
#include "usart_if.h"
/* USER CODE BEGIN Includes */
#include "gpio.h"
/* USER CODE END Includes */
/* External variables ---------------------------------------------------------*/
@ -96,8 +96,8 @@ 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_All, GPIO_PIN_RESET);
HAL_GPIO_DeInit(GPIOA,GPIO_PIN_0);
HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET);
HAL_SuspendTick();
/* Clear Status Flag before entering STOP/STANDBY Mode */
LL_PWR_ClearFlag_C1STOP_C1STB();
@ -124,7 +124,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 */

View File

@ -215,6 +215,7 @@ static void OnPingSlotPeriodicityChanged(uint8_t pingSlotPeriodicity);
static void OnSystemReset(void);
/* USER CODE BEGIN PFP */
static void OnYunhornSTSP1CheckingEvent(void);
/**
* @brief LED Tx timer callback function
@ -300,7 +301,7 @@ static UTIL_TIMER_Object_t TxTimer;
/**
* @brief Tx Timer period
*/
static UTIL_TIMER_Time_t TxPeriodicity = APP_TX_DUTYCYCLE;
static UTIL_TIMER_Time_t TxPeriodicity = 1000;
/**
* @brief Join Timer period
@ -404,7 +405,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();
@ -446,9 +447,10 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
case BUT1_Pin:
/* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */
//if (EventType == TX_ON_EVENT)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0);
APP_LOG(TS_OFF,VLEVEL_M,"... BUT1............. \r\n");
if (EventType == TX_ON_EVENT)
{
door_changed_flag =1;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
}
break;
@ -467,7 +469,20 @@ 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);
APP_LOG(TS_OFF,VLEVEL_M,"\r\nDOOR_STATUS= %u \r\n",door_status);
if (door_status != door_previous_status)
{
door_previous_status = door_status;
door_changed_flag = 1;
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)
@ -558,22 +573,6 @@ static void SendTxData(void)
sensor_t sensor_data;
UTIL_TIMER_Time_t nextTxIn = 0;
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
door_changed_flag = 0;
if (door_status != door_previous_status)
{
door_previous_status = door_status;
}
#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
@ -589,10 +588,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
@ -683,34 +682,12 @@ static void SendTxData(void)
static void OnTxTimerEvent(void *context)
{
/* USER CODE BEGIN OnTxTimerEvent_1 */
#if 0
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
if (door_status != door_previous_status)
{
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);
/*Wait for next tx slot*/
UTIL_TIMER_Start(&TxTimer);
}
#endif
MX_GPIO_Init();
door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
//door_changed_flag = 0;
//if (door_status != door_previous_status)
{
door_previous_status = door_status;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
UTIL_TIMER_Start(&TxTimer);
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_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);
}
/* USER CODE BEGIN OnTxTimerEvent_2 */

View File

@ -1,4 +1,4 @@
2F62501ED4689FB349E356AB974DBE57=95112E708683D54F6AC1ADC68D917C29
8DF89ED150041C4CBC7CB9A9CAA90856=95112E708683D54F6AC1ADC68D917C29
DC22A860405A8BF2F2C095E5B6529F12=708FD40520C1EE5CFD2122309291F653
2F62501ED4689FB349E356AB974DBE57=E4D60684DA61280BD06389F4CFDF2587
8DF89ED150041C4CBC7CB9A9CAA90856=E4D60684DA61280BD06389F4CFDF2587
DC22A860405A8BF2F2C095E5B6529F12=74CD6EB106FB50B767E4FE71225C7638
eclipse.preferences.version=1

View File

@ -91,13 +91,13 @@ SECTIONS
. = ALIGN(8);
} >FLASH
.ARM.extab : {
.ARM.extab(READONLY) : {
. = ALIGN(8);
*(.ARM.extab* .gnu.linkonce.armextab.*)
. = ALIGN(8);
} >FLASH
.ARM : {
.ARM(READONLY) : {
. = ALIGN(8);
__exidx_start = .;
*(.ARM.exidx*)
@ -105,7 +105,7 @@ SECTIONS
. = ALIGN(8);
} >FLASH
.preinit_array :
.preinit_array(READONLY) :
{
. = ALIGN(8);
PROVIDE_HIDDEN (__preinit_array_start = .);
@ -114,7 +114,7 @@ SECTIONS
. = ALIGN(8);
} >FLASH
.init_array :
.init_array(READONLY) :
{
. = ALIGN(8);
PROVIDE_HIDDEN (__init_array_start = .);
@ -124,7 +124,7 @@ SECTIONS
. = ALIGN(8);
} >FLASH
.fini_array :
.fini_array(READONLY) :
{
. = ALIGN(8);
PROVIDE_HIDDEN (__fini_array_start = .);