From 70448304f0be50105706c4dd124a04a411506103 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Thu, 8 May 2025 21:17:35 +0800 Subject: [PATCH] improve swing logic --- LoRaWAN/App/lora_app.c | 14 ++++++++ STM32CubeIDE/Release/WLE5CC_NODE_STS.elf | Bin 167220 -> 167416 bytes STS/TOF/App/app_tof_peoplecount.c | 40 +++++++++++++++++++++-- 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index f201a04..e81639d 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -424,6 +424,7 @@ static UTIL_TIMER_Object_t JoinLedTimer; /* Exported functions ---------------------------------------------------------*/ /* USER CODE BEGIN EF */ extern volatile uint8_t ToF_EventDetected; +SysTime_t sts_pir_start_time, sts_pir_duration_check_time; /* USER CODE END EF */ void LoRaWAN_Init(void) @@ -656,6 +657,19 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) #ifdef STS_T6 case PIR_Pin: sts_pir_state= PIR_STATE; + // SysTime_t sts_pir_start_time, sts_pir_duration_check_time; + if (sts_pir_state == 1) { + sts_pir_start_time = SysTimeGet(); + + } else if (sts_pir_state ==0) { + sts_pir_duration_check_time = SysTimeGet(); + if ((sts_pir_duration_check_time.Seconds - sts_pir_start_time.Seconds) < 5) + { + sts_pir_state = 1; + } else { + sts_pir_state = 0; + } + } // 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); diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf index b39bb30299dd3e38bb9ff2ba2c0fbb5314c137c1..559123f59660c81d7f1f07e1cc0c6bf658fca677 100644 GIT binary patch delta 45550 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 diff --git a/STS/TOF/App/app_tof_peoplecount.c b/STS/TOF/App/app_tof_peoplecount.c index 8b9b949..c0e743c 100644 --- a/STS/TOF/App/app_tof_peoplecount.c +++ b/STS/TOF/App/app_tof_peoplecount.c @@ -779,6 +779,10 @@ int sts_tof_vl53lx_presence_detection_init(void) return 0; } +uint8_t yes_count=0; +uint8_t no_count=0; +#define TIME_C 4 + int sts_tof_vl53lx_presence_detection_start(void) { //uint8_t byteData, sensorState=0; @@ -839,11 +843,43 @@ int sts_tof_vl53lx_presence_detection_start(void) #if 1 if ((Distance < ppc_cfg[sts_door_jam_profile].dist_threshold) && ((Distance > ppc_cfg[sts_door_jam_profile].min_distance))) { + LED1_ON; + if(yes_count(TIME_C-1)) + { + PresenceState = 1; + + } + else if(no_count>(TIME_C-1)) + { + PresenceState = 0; + } + #endif //uint8_t PresenceState2 = ProcessPresenceDetectionData(Distance, Zone, RangeStatus); //printf("\nPresenceState2 =%d \n\r", PresenceState2);