FluxDC/components/FluxTime/FluxTime.c

98 lines
2.3 KiB
C
Raw Permalink Normal View History

/**
* @file FluxTimer.c
* @brief
*
* Not Used
*
* @author wang xiang en
* @date 2025-04-19
* @version
* @copyright (C)2025, YUWELL MEDTECH Co.ltd
*/
2025-03-27 14:57:30 +08:00
#include <stdio.h>
#include "FluxTime.h"
#include "ui.h"
#include "esp_err.h"
#include "esp_log.h"
/*包含SNTP的头文件*/
#include "lwip/apps/sntp.h"
#include <time.h>
/* 更新SD卡信息中的时间戳 */
#include "FluxSD.h"
2025-03-28 10:13:22 +08:00
/**
* @brief
*
* 使
*
* @param[in] arg not used
*/
2025-03-27 14:57:30 +08:00
void time_synic_task(void *arg)
{
/*用来进行显示的字符串*/
char strftime_buf[64];
2025-03-28 10:13:22 +08:00
char time_str[64];
2025-03-27 14:57:30 +08:00
/*大数*/
time_t now = 0;
/*时间结构体*/
struct tm timeinfo = {0};
//ESP_LOGI("SNTP..........","SNTP task start");
2025-03-27 14:57:30 +08:00
while (1)
2025-03-28 10:13:22 +08:00
{
/*1秒钟更新一下显示时间*/
vTaskDelay(SYSTEM_TIME_UPDATE_INTERVAL_SEC*1000 / portTICK_PERIOD_MS);
2025-03-27 14:57:30 +08:00
time(&now);
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
lv_label_set_text_fmt(ui_pageTimeDebug_labelHearderTime,"%s",strftime_buf);
//ESP_LOGI("SNTP","The current date/time in China is: %s", strftime_buf);
/* 更新时间信息 */
sdData.current_time = now;
//sdData.current_time_tm = timeinfo;
memcpy(sdData.strftime_buf,strftime_buf,sizeof(strftime_buf));
2025-03-27 14:57:30 +08:00
/* 更新时间信息 */
2025-03-28 10:13:22 +08:00
lv_label_set_text_fmt(ui_pageHome_labelTime,"%d:%d",timeinfo.tm_hour,timeinfo.tm_min);
lv_label_set_text_fmt(ui_pageTime_time,"%d:%d:%d",timeinfo.tm_hour,timeinfo.tm_min,timeinfo.tm_sec);
lv_label_set_text_fmt(ui_pageTime_date,"%d-%d-%d %d",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,timeinfo.tm_wday);
2025-03-27 14:57:30 +08:00
}
}
/**
* @brief API
*
*
*
* @return
*/
2025-03-28 10:13:22 +08:00
char* get_time_str(void)
2025-03-27 14:57:30 +08:00
{
char strftime_buf[64];
time_t now = 0;
struct tm timeinfo = {0};
/* 获取时间 */
2025-03-27 14:57:30 +08:00
time(&now);
/* 获取时间字符串 */
2025-03-27 14:57:30 +08:00
localtime_r(&now, &timeinfo);
/* 返回时间字符串 */
2025-03-27 14:57:30 +08:00
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
return strftime_buf;
}