From df8cda2feda2a80b900642bc20f0504f3e45e61f Mon Sep 17 00:00:00 2001
From: YunHorn Technology <dp.s@yunhorn.com>
Date: Tue, 8 Apr 2025 13:55:22 +0800
Subject: [PATCH] minor improve... good so far

---
 Core/Src/main.c                    |  1 +
 LoRaWAN/App/app_lorawan.c          |  2 ++
 LoRaWAN/App/lora_app.c             | 26 ++++++++++++++++++++++++++
 STS/Core/Inc/yunhorn_sts_sensors.h |  4 ++--
 4 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/Core/Src/main.c b/Core/Src/main.c
index 8319a2b..4c9a40e 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -28,6 +28,7 @@
 #include "usart.h"
 #include "sys_app.h"
 #include "tim.h"
+#include "yunhorn_sts_sensors.h"
 #ifdef	STS_P2
 #include "app_tof.h"
 #include "app_tof_peoplecount.h"
diff --git a/LoRaWAN/App/app_lorawan.c b/LoRaWAN/App/app_lorawan.c
index fd539c1..c888e17 100644
--- a/LoRaWAN/App/app_lorawan.c
+++ b/LoRaWAN/App/app_lorawan.c
@@ -74,6 +74,8 @@ void MX_LoRaWAN_Init(void)
   LoRaWAN_Init();
   /* USER CODE BEGIN MX_LoRaWAN_Init_3 */
   STS_SENSOR_Function_Test_Process();
+  //STS_ClockSync_process();
+  //STS_SENSOR_Warm_Up();
   /* USER CODE END MX_LoRaWAN_Init_3 */
 }
 
diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index e5e151b..fc1ad51 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -1820,6 +1820,32 @@ void STSWakeupScanTimerStop(void)
 	UTIL_TIMER_Stop(&YunhornSTSWakeUpScanTimer);
 }
 
+void STS_SENSOR_Warm_Up(void)
+{
+	   	  AppData.Port = 1;
+	      AppData.BufferSize = 16;
+	      char warm_up[30]="Yunhorn Technology Limited";
+	      UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t*)warm_up, sizeof(warm_up));
+	      //UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t *)YUNHORN_STS_PRD_STRING, sizeof(YUNHORN_STS_PRD_STRING));
+	      AppData.BufferSize = sizeof(AppData.Buffer);
+	      LmHandlerErrorStatus_t status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
+	      HAL_Delay(3000);
+	      status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
+	      HAL_Delay(3000);
+	      status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
+}
+void STS_ClockSync_process(void)
+{
+	LmHandlerErrorStatus_t status = LORAMAC_HANDLER_ERROR;
+	if( IsClockSynched == false )
+	{
+		status = LmhpClockSyncAppTimeReq( );
+
+		if (LORAMAC_HANDLER_SUCCESS == status) {
+			OnSysTimeUpdate();
+		}
+	}
+}
 uint32_t STS_Get_Date_Time_Stamp(void)
 {
 	struct tm localtime={0};
diff --git a/STS/Core/Inc/yunhorn_sts_sensors.h b/STS/Core/Inc/yunhorn_sts_sensors.h
index cf068d6..a185080 100644
--- a/STS/Core/Inc/yunhorn_sts_sensors.h
+++ b/STS/Core/Inc/yunhorn_sts_sensors.h
@@ -513,7 +513,7 @@ void OnSensorPIR1StateChanged(void);
 void STS_FHMOS_sensor_upload_map(uint8_t map_index);
 
 uint32_t STS_Get_Date_Time_Stamp(void);//uint32_t *time_stamp, uint8_t *datetimestamp);
-
+void STS_ClockSync_process(void);
 void STS_Reed_Hall_Presence_Detection(void);
 
 void STS_SENSOR_Upload_Config_Invalid_Message(void);
@@ -541,7 +541,7 @@ void STS_FHMOS_sensor_config_update(void);
 void sts_generate_fall_gesture_map(void);
 void STSWakeupScanTimerStop(void);
 void STSWakeupScanTimerStart(void);
-
+void STS_SENSOR_Warm_Up(void);
 /* USER CODE BEGIN Private defines */
 /* 
     In this example TIM2 input clock (TIM2CLK)  is set to APB1 clock (PCLK1),