FluxDC/main/main.cpp

95 lines
3.3 KiB
C++
Raw Normal View History

/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: CC0-1.0
*/
#include "main.h"
2025-03-17 09:50:22 +08:00
/*包含通讯协议头文件*/
#include "FluxProtocol.h"
extern "C" void app_main(void)
{
2025-03-15 09:37:07 +08:00
/* Initialize the display interface */
initialize_display_and_touch();
2025-03-15 09:37:07 +08:00
// Lock the mutex because LVGL APIs are not thread-safe
// Need to lock the scheduler before modifying UI-related resources
2025-03-15 13:17:10 +08:00
if (example_lvgl_lock(-1))
{
2025-03-15 09:37:07 +08:00
2025-03-15 13:17:10 +08:00
/*配置LEDC进行背光亮度调节 */
example_ledc_init();
/*初始化wifi扫描环境*/
wifi_scanInit();
/*初始化页面元素*/
ui_init();
2025-03-15 09:37:07 +08:00
2025-03-15 13:17:10 +08:00
lv_scr_load_anim(uic_pageWelCome, LV_SCR_LOAD_ANIM_OUT_TOP, 0, 0, false);
lv_bar_set_value(ui_pageWelCome_barStartProgress,5,LV_ANIM_ON);
example_lvgl_unlock();
}
2025-03-15 13:17:10 +08:00
/*开启电源 需要解锁屏幕之后*/
button_init();
gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, EXAMPLE_LCD_BK_LIGHT_ON_LEVEL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,20,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"turned on backlight 20%");
2025-03-15 13:17:10 +08:00
vTaskDelay(500/portTICK_PERIOD_MS);
/*初始化按键*/
lv_bar_set_value(ui_pageWelCome_barStartProgress,30,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"Release the power button 30%");
vTaskDelay(500/portTICK_PERIOD_MS);
/*初始化电源管理系统*/
powerInit();
lv_bar_set_value(ui_pageWelCome_barStartProgress,50,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"power management system 50%");
2025-03-15 13:17:10 +08:00
vTaskDelay(500/portTICK_PERIOD_MS);
lv_bar_set_value(ui_pageWelCome_barStartProgress,70,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"WiFi scanning environment 70%");
2025-03-15 13:17:10 +08:00
vTaskDelay(500/portTICK_PERIOD_MS);
/*创建串口任务*/
/*创建UART1响应任务*/
xTaskCreate(uart1_echoTask, "uart1_echo_task", ECHO_TASK_STACK_SIZE, NULL, 10, NULL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,90,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 90%");
2025-03-15 13:17:10 +08:00
vTaskDelay(300/portTICK_PERIOD_MS);
#if 0/*暂时不支持呼吸模拟器*/
2025-03-15 13:17:10 +08:00
/*创建UART2响应任务*/
xTaskCreate(uart2_echoTask, "uart2_echo_task", ECHO_TASK_STACK_SIZE, NULL, 10, NULL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,100,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 100%");
2025-03-15 13:17:10 +08:00
vTaskDelay(500/portTICK_PERIOD_MS);
#endif
2025-03-15 13:17:10 +08:00
lv_scr_load_anim(ui_pageHome, LV_SCR_LOAD_ANIM_OUT_TOP, 800, 0, false);
/*电源开启*/
POWER_ON;
2025-03-15 13:17:10 +08:00
2025-03-17 09:50:22 +08:00
/*初始上电后需要自动触发的一些小事件来更新界面界面元素*/
lv_textarea_set_text(ui_pageDebug_textAreaContent,"");
2025-03-25 10:22:43 +08:00
#if 1
2025-03-17 09:50:22 +08:00
lv_event_send(ui_pageSetting_dropdownDeviceType,LV_EVENT_VALUE_CHANGED,NULL);
lv_event_send(ui_pageHome_spinboxStage,LV_EVENT_VALUE_CHANGED,NULL);
lv_event_send(ui_pageHome_spinboxRate,LV_EVENT_VALUE_CHANGED,NULL);
2025-03-25 10:22:43 +08:00
#endif
2025-03-17 09:50:22 +08:00
lv_label_set_text(ui_pageHome_labelResultCompare,"");
lv_label_set_text(ui_pageHome_labelTestResult,"-");
}