diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index a69a4a8..aa5ebc6 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -686,24 +686,26 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); //__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); sts_hall1_read = HALL1_STATE; + if (sts_hall1_read == STS_Status_Door_Close) + { + sts_lamp_bar_color = STS_OCCUPY_COLOR; + sts_status_color = STS_OCCUPY_COLOR; + // APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXIT_CALLBACK, Door CLOSED: sts status color =%d, lampbar_color=%d \r\n", sts_status_color, sts_lamp_bar_color); + } else + { + //sts_lamp_bar_color = prev_color; + sts_status_color = STS_VACANT_COLOR; + sts_lamp_bar_color = STS_VACANT_COLOR; + // APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXTI_CALLBACK, Door Open: sts status color =%d, lampbar_color=%d \r\n", sts_status_color, sts_lamp_bar_color); + } + if (last_sts_hall1_read != sts_hall1_read) // to eliminate power drop issue of PCB with long REEDSWITCH CABLES { // 1) record event start/stop time APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXIT_CALLBACK, Door state =%d \r\n", sts_hall1_read); OnSensor1StateChanged(); // 2) change lamp bar color - if (sts_hall1_read == STS_Status_Door_Close) - { - sts_lamp_bar_color = STS_OCCUPY_COLOR; - sts_status_color = STS_OCCUPY_COLOR; - // APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXIT_CALLBACK, Door CLOSED: sts status color =%d, lampbar_color=%d \r\n", sts_status_color, sts_lamp_bar_color); - } else - { - //sts_lamp_bar_color = prev_color; - sts_status_color = STS_VACANT_COLOR; - sts_lamp_bar_color = STS_VACANT_COLOR; - // APP_LOG(TS_OFF, VLEVEL_M,"\r\n EXTI_CALLBACK, Door Open: sts status color =%d, lampbar_color=%d \r\n", sts_status_color, sts_lamp_bar_color); - } + // 3) combine states and colors //STS_YunhornSTSEventP1_Process(); //STS_Combined_Status_Processing(); @@ -818,7 +820,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) } // 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); + APP_LOG(TS_OFF, VLEVEL_M, "\r\nMotion Detection result=%d \r\n", sts_pir_read); OnSensorPIR1StateChanged(); if ( sts_pir_state_changed == 1) diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin b/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin index f7e39bb..52154a4 100644 Binary files a/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin and b/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin differ diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf index aa83893..0d01ba8 100644 Binary files a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf and b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf differ