diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 4f36929..1ee2ddb 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -766,8 +766,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) #endif if (sts_pir_read != last_sts_pir_read) { - last_sts_pir_read = sts_hall3_read; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + last_sts_pir_read = sts_pir_read; + // disable PIR status upload 2025 04 18 + // UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); } break; @@ -991,7 +992,7 @@ static void SendTxData(void) #elif defined(STS_M1) sts_r_sensor_data_t sts_m1_sensor_data={0}; #elif defined(STS_L8) - sts_fhmos_sensor_data_t fhmos_data={0}; + sts_fhmos_sensor_data_t fhmos_info={0}; #elif defined(STS_XX) #endif @@ -1026,7 +1027,7 @@ static void SendTxData(void) #endif #ifdef STS_L8 - STS_FHMOS_sensor_read(&fhmos_data); + STS_FHMOS_sensor_read(&fhmos_info); #endif #ifdef VL53LX @@ -1198,33 +1199,33 @@ static void SendTxData(void) #if defined(L8) //AppData.Buffer[i++] = 4; #if 0 - if ((fhmos_data.state_fall ==3)||(fhmos_data.state_occupancy ==3)||(fhmos_data.state_human_movement ==3)) + if ((fhmos_info.state_fall ==3)||(fhmos_info.state_occupancy ==3)||(fhmos_info.state_human_movement ==3)) { AppData.Buffer[i++] = 10; AppData.Buffer[i++] = 0x04; // payload type, 0x01= regular payload - AppData.Buffer[i++] = fhmos_data.state_fall; - AppData.Buffer[i++] = fhmos_data.state_human_movement; - AppData.Buffer[i++] = fhmos_data.state_occupancy; - AppData.Buffer[i++] = fhmos_data.state_sos_alarm; - AppData.Buffer[i++] = fhmos_data.lamp_bar_color; - if (fhmos_data.state_fall ==3) + AppData.Buffer[i++] = fhmos_info.state_fall; + AppData.Buffer[i++] = fhmos_info.state_human_movement; + AppData.Buffer[i++] = fhmos_info.state_occupancy; + AppData.Buffer[i++] = fhmos_info.state_sos_alarm; + AppData.Buffer[i++] = fhmos_info.lamp_bar_color; + if (fhmos_info.state_fall ==3) { - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>24); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>16); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed>>8); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_fall_confirmed); - } else if (fhmos_data.state_occupancy ==3){ - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>24); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>16); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed>>8); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_overstay_confirmed); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_fall_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_fall_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_fall_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_fall_confirmed); + } else if (fhmos_info.state_occupancy ==3){ + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_overstay_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_overstay_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_overstay_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_overstay_confirmed); - } else if (fhmos_data.state_human_movement ==3) + } else if (fhmos_info.state_human_movement ==3) { - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>24); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>16); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed>>8); - AppData.Buffer[i++] = 0xff&(fhmos_data.time_stamp_motionless_confirmed); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_motionless_confirmed>>24); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_motionless_confirmed>>16); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_motionless_confirmed>>8); + AppData.Buffer[i++] = 0xff&(fhmos_info.time_stamp_motionless_confirmed); } } else @@ -1233,38 +1234,38 @@ static void SendTxData(void) AppData.Buffer[i++] = 9; AppData.Buffer[i++] = 0x01; - AppData.Buffer[i++] = fhmos_data.state_fall; - AppData.Buffer[i++] = fhmos_data.state_human_movement; - AppData.Buffer[i++] = fhmos_data.state_occupancy; - AppData.Buffer[i++] = fhmos_data.state_sos_alarm; + AppData.Buffer[i++] = fhmos_info.state_fall; + AppData.Buffer[i++] = fhmos_info.state_human_movement; + AppData.Buffer[i++] = fhmos_info.state_occupancy; + AppData.Buffer[i++] = fhmos_info.state_sos_alarm; - AppData.Buffer[i++] = fhmos_data.lamp_bar_color; - AppData.Buffer[i++] = fhmos_data.state_hall_1; - AppData.Buffer[i++] = fhmos_data.state_hall_2; - AppData.Buffer[i++] = fhmos_data.state_PIR; + AppData.Buffer[i++] = fhmos_info.lamp_bar_color; + AppData.Buffer[i++] = fhmos_info.state_hall_1; + AppData.Buffer[i++] = fhmos_info.state_hall_2; + AppData.Buffer[i++] = fhmos_info.state_PIR; - if (fhmos_data.state_fall_released == 1) + if (fhmos_info.state_fall_released == 1) { - fhmos_data.state_fall_released = 0; + fhmos_info.state_fall_released = 0; - AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_data.time_stamp_fall_confirmed>>24); - AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_data.time_stamp_fall_confirmed>>16); - AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_data.time_stamp_fall_confirmed>>8); - AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_data.time_stamp_fall_confirmed); + AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_info.time_stamp_fall_confirmed>>24); + AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_info.time_stamp_fall_confirmed>>16); + AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_info.time_stamp_fall_confirmed>>8); + AppData.Buffer[i++] = (uint8_t) 0xff&(fhmos_info.time_stamp_fall_confirmed); } } // AppData.Buffer[i++] = 0x01; // payload type, 0x01= regular payload #if 0 - AppData.Buffer[i++] = fhmos_data.state_fall; - AppData.Buffer[i++] = fhmos_data.state_human_movement; - AppData.Buffer[i++] = fhmos_data.state_occupancy; - AppData.Buffer[i++] = fhmos_data.state_sos_alarm; + AppData.Buffer[i++] = fhmos_info.state_fall; + AppData.Buffer[i++] = fhmos_info.state_human_movement; + AppData.Buffer[i++] = fhmos_info.state_occupancy; + AppData.Buffer[i++] = fhmos_info.state_sos_alarm; - AppData.Buffer[i++] = fhmos_data.lamp_bar_color; - AppData.Buffer[i++] = fhmos_data.state_hall_1; - AppData.Buffer[i++] = fhmos_data.state_hall_2; - AppData.Buffer[i++] = fhmos_data.state_PIR; + AppData.Buffer[i++] = fhmos_info.lamp_bar_color; + AppData.Buffer[i++] = fhmos_info.state_hall_1; + AppData.Buffer[i++] = fhmos_info.state_hall_2; + AppData.Buffer[i++] = fhmos_info.state_PIR; #endif #elif defined(L8) @@ -1274,12 +1275,12 @@ static void SendTxData(void) sts_data->state_PIR = sts_pir_read;; AppData.Buffer[i++] = 8; - AppData.Buffer[i++] = fhmos_data.state_fall; - AppData.Buffer[i++] = fhmos_data.state_human_movement; - AppData.Buffer[i++] = fhmos_data.occupancy; - AppData.Buffer[i++] = fhmos_data.state_sos_alarm; - AppData.Buffer[i++] = fhmos_data.lamp_bar_color; - AppData.Buffer[i++] = fhmos_data.batteryLevel; + AppData.Buffer[i++] = fhmos_info.state_fall; + AppData.Buffer[i++] = fhmos_info.state_human_movement; + AppData.Buffer[i++] = fhmos_info.occupancy; + AppData.Buffer[i++] = fhmos_info.state_sos_alarm; + AppData.Buffer[i++] = fhmos_info.lamp_bar_color; + AppData.Buffer[i++] = fhmos_info.batteryLevel; diff --git a/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin b/STM32CubeIDE/Release/WLE5CC_NODE_STS.bin index 80a0bca..e9f8f02 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 60d542c..aeded72 100644 Binary files a/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf and b/STM32CubeIDE/Release/WLE5CC_NODE_STS.elf differ diff --git a/STS/Core/Src/yunhorn_sts_process.c b/STS/Core/Src/yunhorn_sts_process.c index eb3f8e9..5df8b71 100644 --- a/STS/Core/Src/yunhorn_sts_process.c +++ b/STS/Core/Src/yunhorn_sts_process.c @@ -2556,7 +2556,8 @@ void YunhornSTSDurationCheckTimer(void) //fhmos_data.head_low_level_start_time = 0; fhmos_data.head_low_level_duration = 0; - fhmos_data.state_fall = STS_FHMOS_FALL_STATE_NORMAL; + if (STS_Status_Door_Close == sts_hall1_read) + fhmos_data.state_fall = STS_FHMOS_FALL_STATE_NORMAL; // 2025 04 18 fhmos_data.state_fall_released = 1; sts_fhmos_bitmap_pending = 0;