debug enabled, add PIR filter of 5 seconds

This commit is contained in:
Yunhorn 2025-05-19 19:55:50 +08:00
parent 863f977b07
commit 535665dc25
4 changed files with 58 additions and 8 deletions

View File

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

View File

@ -76,16 +76,16 @@ extern volatile uint8_t sts_hall1_read, sts_hall2_read; // Above hall1_read == r
extern volatile uint8_t sts_hall3_read, sts_hall4_read; extern volatile uint8_t sts_hall3_read, sts_hall4_read;
//extern volatile uint8_t sts_pir_state, sts_pir_result; //extern volatile uint8_t sts_pir_state, sts_pir_result;
extern volatile uint8_t last_sts_hall1_read, last_sts_hall2_read, last_sts_hall3_read, last_sts_hall4_read, last_sts_pir_read; extern volatile uint8_t last_sts_hall1_read, last_sts_hall2_read, last_sts_hall3_read, last_sts_hall4_read, last_sts_pir_read;
//volatile uint8_t sts_PIR_read = 0; volatile uint8_t PIRValue = 0, prev_sts_pir_state=0, sts_pir_state_changed=0;;
volatile bool locklow = false;
volatile uint32_t lowin=0;
volatile bool takelowTime;
uint32_t check_time=0; uint32_t check_time=0;
volatile bool motionDetected =false; volatile bool motionDetected =false;
uint32_t lowIn=0;
volatile bool lockLow = true, takeLowTime;
uint32_t lastMotionTime =0; uint32_t lastMotionTime =0;
const uint32_t ledOnDuration = 10000; const uint32_t ledOnDuration = 10000;
volatile uint32_t sts_warm_up_message_counter=0; volatile uint32_t sts_warm_up_message_counter=0;
static bool sts_function_test_success=false; static bool sts_function_test_success=false;
SysTime_t sts_pir_start_time, sts_pir_duration_check_time;
/* USER CODE END EV */ /* USER CODE END EV */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@ -777,7 +777,56 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
case PIR_Pin: case PIR_Pin:
sts_pir_read = PIR_STATE; sts_pir_read = PIR_STATE;
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
if (sts_pir_read == 1)
{
if (lockLow)
{
PIRValue = 1;
lockLow = false;
sts_pir_start_time = SysTimeGet();
APP_LOG(TS_OFF, VLEVEL_M, "\r\n PIRValue=%d \r\n", PIRValue);
if (sts_pir_read != prev_sts_pir_state) {
sts_pir_state_changed = 1;
}
prev_sts_pir_state = sts_pir_read;
}
takeLowTime = true;
}
if (sts_pir_read ==0)
{
if (takeLowTime)
{
sts_pir_duration_check_time = SysTimeGet();
lowIn = sts_pir_duration_check_time.Seconds;
takeLowTime = false;
}
sts_pir_duration_check_time = SysTimeGet();
if ((!lockLow && (sts_pir_duration_check_time.Seconds - lowIn) > 5))
{
PIRValue = 0;
lockLow = true;
sts_pir_read = 0;
APP_LOG(TS_OFF, VLEVEL_M, "\r\n PIRValue=%d \r\n", PIRValue);
if (sts_pir_read != prev_sts_pir_state) {
sts_pir_state_changed = 1;
}
prev_sts_pir_state = sts_pir_read;
}
}
// HAL_Delay(50);
//__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
// APP_LOG(TS_OFF, VLEVEL_M, "\r\nMotion Detection result=%d \r\n", sts_pir_state);
OnSensorPIR1StateChanged(); OnSensorPIR1StateChanged();
if ( sts_pir_state_changed == 1)
{
sts_pir_state_changed = 0;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
}
#endif #endif
//OnSensor3StateChanged(); //OnSensor3StateChanged();
//OnSensorPIR1StateChanged(); //OnSensorPIR1StateChanged();
@ -797,13 +846,14 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
} }
#endif #endif
#if 0
if (sts_pir_read != last_sts_pir_read) if (sts_pir_read != last_sts_pir_read)
{ {
last_sts_pir_read = sts_pir_read; last_sts_pir_read = sts_pir_read;
// disable PIR status upload 2025 04 18 // disable PIR status upload 2025 04 18
// UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); // UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
} }
#endif
break; break;
#if 0 #if 0
case HALL4_Pin: case HALL4_Pin: