#ifndef SNTP_ESP_H #define SNTP_ESP_H #include #include #include "esp_err.h" /** * @brief 初始化SNTP服务 * * 初始化SNTP客户端,配置NTP服务器和时区 * 必须在获得网络连接后调用 * * @return ESP_OK 成功 * ESP_FAIL 失败 */ esp_err_t sntp_esp_init(void); /** * @brief 设置时区 * * 设置本地时区,默认为北京时间(CST-8) * * @return ESP_OK 成功 */ esp_err_t sntp_esp_set_timezone(void); /** * @brief 获取当前时间 * * @return time_t 当前时间戳 */ time_t sntp_esp_get_current_time(void); /** * @brief 打印当前时间 * * 以格式化的方式打印当前时间到日志 */ void sntp_esp_print_current_time(void); /** * @brief 获取格式化的时间字符串 * * @param buffer 存储时间字符串的缓冲区 * @param size 缓冲区大小 * @param format 时间格式(如 "%Y-%m-%d %H:%M:%S") * @return ESP_OK 成功 * ESP_FAIL 失败 */ esp_err_t sntp_esp_get_formatted_time(char *buffer, size_t size, const char *format); /** * @brief 等待时间同步完成 * * 等待SNTP时间同步完成 * * @param max_wait_ms 最大等待时间(毫秒) * @return true 同步成功 * false 超时 */ bool sntp_esp_wait_sync(uint32_t max_wait_ms); /** * @brief 检查时间是否已同步 * * @return true 已同步 * false 未同步 */ bool sntp_esp_is_synced(void); #endif // SNTP_ESP_H