From d8e444fcbb9e235b0455844473502041b0b24f50 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Mon, 12 Aug 2024 20:00:29 +0800 Subject: [PATCH] --- rss mode not sending motion result --- Core/Src/sts_lamp_bar.c | 2 +- Core/Src/yunhorn_sts_presence_rss.c | 11 ++++--- Core/Src/yunhorn_sts_process.c | 7 +++-- LoRaWAN/App/lora_app.c | 49 +++++++++++++++++++---------- 4 files changed, 45 insertions(+), 24 deletions(-) diff --git a/Core/Src/sts_lamp_bar.c b/Core/Src/sts_lamp_bar.c index 9d47fae..ef2269d 100644 --- a/Core/Src/sts_lamp_bar.c +++ b/Core/Src/sts_lamp_bar.c @@ -126,7 +126,7 @@ void STS_Lamp_Bar_Scoller(uint8_t color, uint8_t lum_level) for(uint8_t i = 0; i 3)? 1: 0; + APP_LOG(TS_OFF, VLEVEL_M, "\r\n MotionDetect Average result=%u : RSS result -- = %u \r\n", average_result, sts_rss_result); + if (sts_rss_result) { LED1_ON; OnSensorRSS3AStateChanged(); diff --git a/Core/Src/yunhorn_sts_process.c b/Core/Src/yunhorn_sts_process.c index 06db1a5..5e1c255 100644 --- a/Core/Src/yunhorn_sts_process.c +++ b/Core/Src/yunhorn_sts_process.c @@ -270,6 +270,7 @@ void STS_YunhornSTSEventP2_Process(void) sts_presence_rss_fall_rise_detection(); sts_rss_result_changed_flag = (sts_rss_result == last_sts_rss_result)? 0:1; + APP_LOG(TS_OFF, VLEVEL_M, "\r\n STS_RSS RESULT CHANGED FLAG=%u \r\n",sts_rss_result_changed_flag ); last_sts_rss_result = sts_rss_result; //sts_fall_rising_detected_result_changed_flag = (sts_fall_rising_detected_result == last_sts_fall_rising_detected_result)?0:1; @@ -648,9 +649,9 @@ void STS_Combined_Status_Processing(void) if ((sts_rss_result_changed_flag)|| (sts_reed_hall_changed_flag)||(sts_fall_rising_detected_result_changed_flag)) { - sts_rss_result_changed_flag =0; - sts_reed_hall_changed_flag =0; - sts_fall_rising_detected_result_changed_flag =0; + //sts_rss_result_changed_flag =0; + //sts_reed_hall_changed_flag =0; + //sts_fall_rising_detected_result_changed_flag =0; //sts_tof_result_changed_flag =0; sensor_data_ready = 1; //STS_PRESENCE_SENSOR_Prepare_Send_Data(); diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 7b2570c..c607848 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -144,7 +144,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = { extern volatile uint8_t sensor_data_ready; extern volatile STS_OO_SensorStatusDataTypeDef sts_o7_sensorData; extern volatile uint16_t sts_distance_rss_distance, sts_sensor_install_height; - +extern volatile uint8_t sts_rss_config_updated_flag; //#define STS_Status_Door_Close (1) //Normal Close NC:Open **2024-07-15 changed //#define STS_Status_Door_Open (0) //Normal Close NC:Close **2024-07-15 changed @@ -931,7 +931,7 @@ static void SendTxData(void) if (LmHandlerIsBusy() == false) { uint32_t i = 0; - + APP_LOG(TS_OFF, VLEVEL_M, "\r\n STS_WORK_MODE = %02x \r\n", sts_work_mode); STS_PRESENCE_SENSOR_Prepare_Send_Data(&sensorData); if (sts_work_mode == STS_DUAL_MODE) { @@ -1063,6 +1063,10 @@ static void SendTxData(void) sts_door_status_code[sensorData.state_sensor1_on_off], sts_sos_status_code[sensorData.state_sensor2_on_off], sensorData.state_sensor3_on_off); + } else if (sts_work_mode == STS_RSS_MODE) { + APP_LOG(TS_OFF, VLEVEL_L, + "\r\n######| S3-Motion |\r\n" + "\r\n######| %d |\r\n",sensorData.state_sensor3_on_off); } } @@ -1701,16 +1705,21 @@ static void OnRestoreContextRequest(void *nvm, uint32_t nvm_size) */ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context) { - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0); - //APP_LOG(TS_OFF,VLEVEL_L,"\r\n RSS result changed flag=%d \r\n", sts_rss_result_changed_flag); - if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1)) + if ((sts_work_mode == STS_RSS_MODE)||(sts_work_mode == STS_DUAL_MODE)||(sts_work_mode == STS_UNI_MODE)) { - sts_rss_result_changed_flag = 0; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - //if ((last_sts_rss_result ==STS_RESULT_NO_MOTION)&& (sts_rss_result==STS_RESULT_MOTION)) - { - //OnSensor3StateChanged(); - } + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), CFG_SEQ_Prio_0); + APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== RSS result changed flag=%d \r\n", sts_rss_result_changed_flag); + if ((STS_LoRa_WAN_Joined != 0)&&(sts_rss_result_changed_flag==1)) + { + sts_rss_result_changed_flag = 0; + APP_LOG(TS_OFF,VLEVEL_M,"\r\n Wakeup Timer ======== Send Tx Result=\r\n"); + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + //if ((last_sts_rss_result ==STS_RESULT_NO_MOTION)&& (sts_rss_result==STS_RESULT_MOTION)) + { + //OnSensor3StateChanged(); + } + } + } UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); @@ -2429,36 +2438,44 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, uint8_t tlv_buf_size) //sts_service_mask = STS_SERVICE_MASK_L0; //sts_lamp_bar_color = STS_GREEN; + sts_presence_fall_detection=FALSE; + sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT; + switch (sts_work_mode) { case STS_NETWORK_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_0_MASK; break; + case STS_WIRED_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_1_MASK; break; + case STS_REEDSWITCH_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_2_MASK; break; + case STS_RSS_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_3_MASK; + sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT; break; + case STS_DUAL_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_4_MASK; + sts_rss_config_updated_flag = STS_RSS_CONFIG_DEFAULT; break; + case STS_UNI_MODE: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MODE_5_MASK; + sts_rss_config_updated_flag = STS_RSS_CONFIG_FALL_DETECTION; + sts_presence_fall_detection=TRUE; break; + default: sts_cfg_nvm.sts_ioc_mask = STS_IOC_MASK_NONE; break; } sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode; - if (sts_work_mode == STS_UNI_MODE) { - sts_presence_fall_detection=TRUE; - } else { - sts_presence_fall_detection=FALSE; - } sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask; OnStoreSTSCFGContextRequest();