refined clock sync process

This commit is contained in:
Yunhorn 2024-06-06 14:20:33 +08:00
parent e75d6a1a83
commit 055c355a5e
1 changed files with 22 additions and 8 deletions

View File

@ -922,6 +922,10 @@ static void SendTxData(void)
{
status = LmhpClockSyncAppTimeReq( );
if (LORAMAC_HANDLER_SUCCESS == status) {
OnSysTimeUpdate();
}
#if 0 //debug line
struct tm localtime;
SysTime_t UnixEpoch = SysTimeGet();
@ -1776,7 +1780,7 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
//UnixEpoch.Seconds += 3600 * 2; /*adding 2 hours*/
SysTimeLocalTime(UnixEpoch.Seconds, & localtime);
SysTimeLocalTime(UnixEpoch.Seconds, &localtime);
APP_LOG(TS_OFF, VLEVEL_M, "LTIME:%02dh%02dm%02ds on %02d/%02d/%04d\r\n",
localtime.tm_hour, localtime.tm_min, localtime.tm_sec,
@ -1798,13 +1802,13 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
APP_LOG(TS_OFF, VLEVEL_M, "\r\nTime YYYYMMDD=%4d:%2d:%2d HHMMSS=%2d:%2d:%2d \r\n",
mylocal.tm_year, mylocal.tm_mon, mylocal.tm_mday, mylocal.tm_hour, mylocal.tm_min, mylocal.tm_sec);
#endif
outbuf[i++] = (uint8_t) mylocal.tm_year>>8&0xff;
outbuf[i++] = (uint8_t) mylocal.tm_year&0xff;
outbuf[i++] = (uint8_t) mylocal.tm_mon;
outbuf[i++] = (uint8_t) mylocal.tm_mday;
outbuf[i++] = (uint8_t) mylocal.tm_hour;
outbuf[i++] = (uint8_t) mylocal.tm_min;
outbuf[i++] = (uint8_t) mylocal.tm_sec;
outbuf[i++] = (uint8_t) (localtime.tm_year+1900)>>8&0xff;
outbuf[i++] = (uint8_t) (localtime.tm_year+1900)&0xff;
outbuf[i++] = (uint8_t) localtime.tm_mon+1;
outbuf[i++] = (uint8_t) localtime.tm_mday;
outbuf[i++] = (uint8_t) localtime.tm_hour;
outbuf[i++] = (uint8_t) localtime.tm_min;
outbuf[i++] = (uint8_t) localtime.tm_sec;
STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (uint8_t *)outbuf);
APP_LOG(TS_OFF, VLEVEL_M, "###### YUNHORN Report Version [ %10x ] \r\n", (uint8_t *)outbuf);
@ -2084,6 +2088,11 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
//sts_service_mask = STS_SERVICE_MASK_L0;
//sts_lamp_bar_color = STS_GREEN;
sts_cfg_nvm.work_mode = (uint8_t)sts_work_mode;
if (sts_work_mode == STS_UNI_MODE) {
sts_presence_fall_detection=1;
} else {
sts_presence_fall_detection=0;
}
sts_cfg_nvm.sts_service_mask = (uint8_t)sts_service_mask;
OnStoreSTSCFGContextRequest();
@ -2513,6 +2522,11 @@ void OnRestoreSTSCFGContextProcess(void)
sts_lamp_bar_color = STS_GREEN;
sts_service_mask = sts_cfg_nvm.sts_service_mask;
sts_lamp_bar_flashing_color = sts_cfg_nvm.lamp_bar_flashing_color;
if (sts_work_mode == STS_UNI_MODE){
sts_presence_fall_detection =1;
} else {
sts_presence_fall_detection =0;
}
sts_fall_detection_acc_threshold = (uint8_t)sts_cfg_nvm.fall_detection_acc_threshold*10;
sts_fall_detection_depth_threshold = (uint8_t)sts_cfg_nvm.fall_detection_depth_threshold*10; //in cm