FluxDC/components/FluxUI/ui_event_debug.c
2025-03-27 14:57:30 +08:00

88 lines
2.0 KiB
C

/*此文件中专门实现Debug过程中的事件的处理*/
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.5.1
// LVGL version: 8.3.6
// Project name: ESP32S3_UI
#include "ui.h"
#include "driver/ledc.h"
#include "esp_err.h"
#include "esp_log.h"
#include "FluxWifi.h"
#include "FluxUart.h"
#include "FluxSD.h"
#include "FluxProtocol.h"
/*选择是否使能Debug页面的操作*/
#define MODE_TEST 0
/*流量计当前示数回传函数——Debug模式*/
void on_buttonFluxRead_clicked(lv_event_t * e)
{
/*选择是否使用Debug中的操作*/
#if MODE_TEST
flux_frame.DATA[1] = (unsigned char)lv_spinbox_get_value(ui_pageFluxDebug_spinboxAddr);
flux_frame.DATA[3] = (unsigned char)lv_spinbox_get_value(ui_pageFluxDebug_spinboxNum);
/*测试模式可手动设置功能码*/
if (lv_dropdown_get_selected(ui_pageFluxDebug_dropdownFunctionCode) == 0)
{
flux_frame.FUNC = FLUX_FUNC_READ;
}else{
flux_frame.FUNC = FLUX_FUNC_SET;
}
ESP_ERROR_CHECK(ModbusRTU_Send_0306(ECHO_UART_PORT_NUM1,&flux_frame));
#endif
}
/*流量计当前示数显示——Debug模式*/
void on_buttonClearTextarea_clicked(lv_event_t * e)
{
#if MODE_TEST
lv_textarea_set_text(ui_pageFluxDebug_textAreaContent, "");
#endif
}
void on_buttonGetTime_clicked(lv_event_t * e)
{
#if MODE_TEST
/*获取当前北京时间*/
/*当WiFi开启时进行时间获取*/
char strftime_buf[64];
time_t now = 0;
struct tm timeinfo = {0};
int retry = 0;
while(timeinfo.tm_year < (2022 - 1900)) {
ESP_LOGI("SNTP","Waiting for system time to be set... (%d)", ++retry);
vTaskDelay(1000 / portTICK_PERIOD_MS);
time(&now);
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
ESP_LOGI("SNTP","The current date/time in China is: %s", strftime_buf);
if (retry == 2)
{
break;
}
}
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
ESP_LOGI("SNTP","The current date/time in China is: %s", strftime_buf);
#endif
}