Files
Power-Pico/Power_Pico/User/GUI/screens/ui_SetPage.c
不吃油炸鸡 2987ff2fc5 更新版本
2026-02-08 17:25:41 +08:00

496 lines
20 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// This file was generated by SquareLine Studio
// SquareLine Studio version: SquareLine Studio 1.5.3
// LVGL version: 9.2.2
// Project name: PowerPico
#include "../ui.h"
#include "./ui_PPSPage.h"
lv_obj_t * ui_SetPage = NULL;
// backlight
static lv_obj_t * ui_PanelBL = NULL;
static lv_obj_t * ui_SliderBL = NULL;
static lv_obj_t * ui_LabelBL = NULL;
// key sound
static lv_obj_t * ui_PanelKS = NULL;
static lv_obj_t * ui_SwitchKS = NULL;
static lv_obj_t * ui_LabelKS = NULL;
// language
static lv_obj_t * ui_PanelLang = NULL;
static lv_obj_t * ui_SwitchLang = NULL;
static lv_obj_t * ui_LabelLang = NULL;
// chose rotation
static lv_obj_t * ui_PanelRotate = NULL;
static lv_obj_t * ui_LabelRotation = NULL;
static lv_obj_t * ui_LabelRotNum = NULL;
// enable PPS, goto PPS page
static lv_obj_t * ui_PanelPPS = NULL;
static lv_obj_t * ui_SwitchPPS = NULL;
static lv_obj_t * ui_LabelPPS = NULL;
// about
static lv_obj_t * ui_PanelAbout = NULL;
static lv_obj_t * ui_LabelAbout = NULL;
static lv_timer_t * _setting_timer = NULL;
static lv_obj_t * msgbox = NULL; // msgbox 对象
static lv_obj_t * spinner = NULL; // spinner 对象
static bool waiting_for_signal = false; // 标志位,表示是否在等待信号
static lv_obj_t * panels[6]; // 存储所有 panel 的指针
static int current_panel_index = 0; // 当前选中的 panel 索引
static void show_wait_msgbox(void);
static void hide_wait_msgbox(void);
static void show_fail_msgbox(void);
// event funtions
/////////////////////// Timer //////////////////////
static void _setting_timer_cb(lv_timer_t * timer) {
int8_t Msg = 0;
Msg = MsgQueueGet_PPS_ready();
if(Msg == 1) {
// 隐藏等待框
hide_wait_msgbox();
lv_lib_pm_goto("PPS Page", NULL);
} else if(Msg == -1) {
// 隐藏等待框
hide_wait_msgbox();
// 显示失败框
show_fail_msgbox();
ui_send_pps_stop_msg();
}
}
///////////////// key function ///////////////////
#include "key.h"
void ui_set_page_key_handler(void *key_event)
{
if(waiting_for_signal) return;
int panel_count = sizeof(panels) / sizeof(panels[0]);
// key boot
if (((key_event_t*)key_event)->id == KEY_ID_B && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_lib_pm_goto_first();
}
// key left
if (((key_event_t*)key_event)->id == KEY_ID_L && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
current_panel_index = (current_panel_index - 1 + panel_count) % panel_count;
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
lv_obj_scroll_to_view(panels[current_panel_index], LV_ANIM_ON);
}
// key right
else if (((key_event_t*)key_event)->id == KEY_ID_R && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_clear_state(panels[current_panel_index], LV_STATE_CHECKED);
current_panel_index = (current_panel_index + 1) % panel_count;
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
lv_obj_scroll_to_view(panels[current_panel_index], LV_ANIM_ON);
}
// key yes or key neg
else if(((key_event_t*)key_event)->id == KEY_ID_Y || ((key_event_t*)key_event)->id == KEY_ID_N)
{
switch(current_panel_index)
{
// Screen Brightness
case 0:
if (((key_event_t*)key_event)->id == KEY_ID_Y &&
(((key_event_t*)key_event)->type == KEY_EVT_CLICK || ((key_event_t*)key_event)->type == KEY_EVT_REPEAT)) { // key yes
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
slider_value += 10;
if(slider_value > 100) slider_value = 100;
lv_slider_set_value(ui_SliderBL, slider_value, LV_ANIM_ON);
ui_set_back_light_level(slider_value);
} else if (((key_event_t*)key_event)->id == KEY_ID_N &&
(((key_event_t*)key_event)->type == KEY_EVT_CLICK || ((key_event_t*)key_event)->type == KEY_EVT_REPEAT)) { // key neg
int16_t slider_value = lv_slider_get_value(ui_SliderBL);
slider_value -= 10;
if(slider_value < 10) slider_value = 10;
lv_slider_set_value(ui_SliderBL, slider_value, LV_ANIM_ON);
ui_set_back_light_level(slider_value);
}
break;
// key sound
case 1:
// key yes
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_add_state(ui_SwitchKS, LV_STATE_CHECKED);
ui_set_key_sound_enable(1);
}
// key neg
else if (((key_event_t*)key_event)->id == KEY_ID_N && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_clear_state(ui_SwitchKS, LV_STATE_CHECKED);
ui_set_key_sound_enable(0);
}
break;
// language
case 2:
// key yes
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_add_state(ui_SwitchLang, LV_STATE_CHECKED);
ui_set_language_select(1);
lv_i18n_set_locale("en");
}
// key neg
else if (((key_event_t*)key_event)->id == KEY_ID_N && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
lv_obj_clear_state(ui_SwitchLang, LV_STATE_CHECKED);
ui_set_language_select(0);
lv_i18n_set_locale("zh-cn");
}
break;
// chose rotation
case 3:
uint16_t rotation = ui_get_display_rotation();
// key yes
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
rotation = (rotation + 360 + 90) % 360;
}
// key neg
else if (((key_event_t*)key_event)->id == KEY_ID_N && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
rotation = (rotation + 360 - 90) % 360;
}
if (rotation == 0) {
lv_label_set_text(ui_LabelRotNum, "< 0 >");
} else if (rotation == 90) {
lv_label_set_text(ui_LabelRotNum, "< 90 >");
} else if (rotation == 180) {
lv_label_set_text(ui_LabelRotNum, "< 180 >");
} else if (rotation == 270) {
lv_label_set_text(ui_LabelRotNum, "< 270 >");
}
ui_set_display_rotation(rotation);
ui_full_screen_refresh(ui_SetPage);
break;
// PPS page
case 4:
// 发送开启PD诱骗的信号
if (((key_event_t*)key_event)->id == KEY_ID_Y && ((key_event_t*)key_event)->type == KEY_EVT_CLICK)
{
// 发送pps开始信号到PD UFP Task
ui_send_pps_start_msg();
// 弹出 msgbox 等待PD完成并锁住按键操作
show_wait_msgbox();
// lv_lib_pm_goto("PPS Page", NULL);
}
break;
// about
case 5:
// do nothing
break;
}
// save settings to eeprom
ui_system_settings_save();
}
}
/////////////////////// para_initialize //////////////////////
static void on_setpage_loaded(lv_event_t * e) {
// 当 SetPage 页面加载完成后,滚动到当前选中的 panel
lv_obj_scroll_to_view(panels[current_panel_index], LV_ANIM_ON);
}
static void _setting_init(void) {
// backlight
lv_slider_set_value(ui_SliderBL, ui_get_back_light_level(), LV_ANIM_OFF);
// key sound
if(ui_get_key_sound_enable())
lv_obj_add_state(ui_SwitchKS, LV_STATE_CHECKED);
else
lv_obj_clear_state(ui_SwitchKS, LV_STATE_CHECKED);
// language
if(ui_get_language_select() == 1)
lv_obj_add_state(ui_SwitchLang, LV_STATE_CHECKED);
else
lv_obj_clear_state(ui_SwitchLang, LV_STATE_CHECKED);
// lcd rotation
uint16_t rotation = ui_get_display_rotation();
if (rotation == 0) {
lv_label_set_text(ui_LabelRotNum, "< 0 >");
} else if (rotation == 90) {
lv_label_set_text(ui_LabelRotNum, "< 90 >");
} else if (rotation == 180) {
lv_label_set_text(ui_LabelRotNum, "< 180 >");
} else if (rotation == 270) {
lv_label_set_text(ui_LabelRotNum, "< 270 >");
}
}
/////////////////////// ui_initialize //////////////////////
// 显示 PD msgbox
static void show_wait_msgbox(void) {
// 获取当前视角y pos
int32_t view_y = lv_obj_get_scroll_top(ui_SetPage);
// 创建 msgbox
msgbox = lv_obj_create(ui_SetPage);
lv_obj_set_size(msgbox, 200, 160);
lv_obj_center(msgbox);
lv_obj_set_pos(msgbox, 0, view_y);
lv_obj_set_style_bg_color(msgbox, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(msgbox, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
// 添加 spinner
spinner = lv_spinner_create(msgbox);
lv_obj_set_size(spinner, 60, 60);
lv_obj_center(spinner);
// 添加文本
lv_obj_t * label = lv_label_create(msgbox);
lv_label_set_text(label, "Waiting for PD...");
lv_obj_set_align(label, LV_ALIGN_BOTTOM_MID);
lv_obj_set_style_text_font(label, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT);
// 设置标志位
waiting_for_signal = true;
}
// 隐藏 PD msgbox
static void hide_wait_msgbox(void) {
if (msgbox) {
lv_obj_del(msgbox);
msgbox = NULL;
spinner = NULL;
}
waiting_for_signal = false;
}
// 定时器回调函数,用于关闭失败弹窗
static void _fail_msgbox_timer_cb(lv_timer_t * t) {
lv_obj_t * mbox = (lv_obj_t *)lv_timer_get_user_data(t);
if (mbox) {
lv_obj_del(mbox); // 删除 msgbox
}
lv_timer_del(t); // 删除定时器
}
// 显示PPS失败提示弹窗
static void show_fail_msgbox(void) {
// 获取当前视角y pos
int32_t view_y = lv_obj_get_scroll_top(ui_SetPage);
// 创建 msgbox
msgbox = lv_obj_create(ui_SetPage);
lv_obj_set_size(msgbox, 200, 100);
lv_obj_center(msgbox);
lv_obj_set_pos(msgbox, 0, view_y);
lv_obj_set_style_bg_color(msgbox, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT); // 红色背景
lv_obj_set_style_bg_opa(msgbox, 200, LV_PART_MAIN | LV_STATE_DEFAULT);
// 添加文本
lv_obj_t * label = lv_label_create(msgbox);
lv_label_set_text(label, "PD Setting Failed!");
lv_obj_center(label);
lv_obj_set_style_text_font(label, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT);
// 设置定时器2 秒后关闭弹窗
lv_timer_t * timer = lv_timer_create(_fail_msgbox_timer_cb, 2000, msgbox); // 传递 msgbox 对象
lv_timer_set_repeat_count(timer, 1); // 只执行一次
}
/////////////////////// ui_initialize //////////////////////
void ui_SetPage_screen_init(void)
{
ui_SetPage = lv_obj_create(NULL);
ui_PanelBL = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelBL, 234);
lv_obj_set_height(ui_PanelBL, 65);
lv_obj_set_x(ui_PanelBL, 0);
lv_obj_set_y(ui_PanelBL, 5);
lv_obj_set_align(ui_PanelBL, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelBL, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelBL, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelBL, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelBL, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_SliderBL = lv_slider_create(ui_PanelBL);
lv_slider_set_value(ui_SliderBL, 50, LV_ANIM_OFF);
if(lv_slider_get_mode(ui_SliderBL) == LV_SLIDER_MODE_RANGE) lv_slider_set_left_value(ui_SliderBL, 0, LV_ANIM_OFF);
lv_obj_set_width(ui_SliderBL, 200);
lv_obj_set_height(ui_SliderBL, 10);
lv_obj_set_align(ui_SliderBL, LV_ALIGN_BOTTOM_MID);
//Compensating for LVGL9.1 draw crash with bar/slider max value when top-padding is nonzero and right-padding is 0
if(lv_obj_get_style_pad_top(ui_SliderBL, LV_PART_MAIN) > 0) lv_obj_set_style_pad_right(ui_SliderBL, lv_obj_get_style_pad_right(ui_SliderBL, LV_PART_MAIN) + 1, LV_PART_MAIN);
ui_LabelBL = lv_label_create(ui_PanelBL);
lv_obj_set_width(ui_LabelBL, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelBL, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_LabelBL, 0);
lv_obj_set_y(ui_LabelBL, -5);
lv_label_set_text(ui_LabelBL, _("Screen Brightness :"));
if(ui_get_language_select() == 0)
lv_obj_set_style_text_font(ui_LabelBL, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
else
lv_obj_set_style_text_font(ui_LabelBL, &ui_font_zhongyuan18, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_PanelKS = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelKS, 234);
lv_obj_set_height(ui_PanelKS, 45);
lv_obj_set_x(ui_PanelKS, 0);
lv_obj_set_y(ui_PanelKS, 75);
lv_obj_set_align(ui_PanelKS, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelKS, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelKS, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelKS, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelKS, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_SwitchKS = lv_switch_create(ui_PanelKS);
lv_obj_set_width(ui_SwitchKS, 50);
lv_obj_set_height(ui_SwitchKS, 25);
lv_obj_set_align(ui_SwitchKS, LV_ALIGN_RIGHT_MID);
lv_obj_add_state(ui_SwitchKS, LV_STATE_CHECKED); /// States
ui_LabelKS = lv_label_create(ui_PanelKS);
lv_obj_set_width(ui_LabelKS, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelKS, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_LabelKS, LV_ALIGN_LEFT_MID);
lv_label_set_text(ui_LabelKS, _("Enable key sound"));
if(ui_get_language_select() == 0)
lv_obj_set_style_text_font(ui_LabelKS, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
else
lv_obj_set_style_text_font(ui_LabelKS, &ui_font_zhongyuan18, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_PanelLang = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelLang, 234);
lv_obj_set_height(ui_PanelLang, 45);
lv_obj_set_x(ui_PanelLang, 0);
lv_obj_set_y(ui_PanelLang, 125);
lv_obj_set_align(ui_PanelLang, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelLang, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelLang, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelLang, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelLang, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_SwitchLang = lv_switch_create(ui_PanelLang);
lv_obj_set_width(ui_SwitchLang, 50);
lv_obj_set_height(ui_SwitchLang, 25);
lv_obj_set_align(ui_SwitchLang, LV_ALIGN_RIGHT_MID);
ui_LabelLang = lv_label_create(ui_PanelLang);
lv_obj_set_width(ui_LabelLang, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelLang, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_LabelLang, LV_ALIGN_LEFT_MID);
lv_label_set_text(ui_LabelLang, _("Enable Chinese"));
if(ui_get_language_select() == 0)
lv_obj_set_style_text_font(ui_LabelLang, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
else
lv_obj_set_style_text_font(ui_LabelLang, &ui_font_zhongyuan18, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_PanelRotate = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelRotate, 234);
lv_obj_set_height(ui_PanelRotate, 45);
lv_obj_set_x(ui_PanelRotate, 0);
lv_obj_set_y(ui_PanelRotate, 175);
lv_obj_set_align(ui_PanelRotate, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelRotate, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelRotate, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelRotate, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelRotate, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_LabelRotation = lv_label_create(ui_PanelRotate);
lv_obj_set_width(ui_LabelRotation, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelRotation, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_LabelRotation, LV_ALIGN_LEFT_MID);
lv_label_set_text(ui_LabelRotation, _("Chose Rotation"));
if(ui_get_language_select() == 0)
lv_obj_set_style_text_font(ui_LabelRotation, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
else
lv_obj_set_style_text_font(ui_LabelRotation, &ui_font_zhongyuan18, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_LabelRotNum = lv_label_create(ui_PanelRotate);
lv_obj_set_width(ui_LabelRotNum, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelRotNum, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_LabelRotNum, LV_ALIGN_RIGHT_MID);
lv_label_set_text(ui_LabelRotNum, "< 180 >");
lv_obj_set_style_text_font(ui_LabelRotNum, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_PanelPPS = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelPPS, 234);
lv_obj_set_height(ui_PanelPPS, 45);
lv_obj_set_x(ui_PanelPPS, 0);
lv_obj_set_y(ui_PanelPPS, 225);
lv_obj_set_align(ui_PanelPPS, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelPPS, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelPPS, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelPPS, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelPPS, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_SwitchPPS = lv_switch_create(ui_PanelPPS);
lv_obj_set_width(ui_SwitchPPS, 50);
lv_obj_set_height(ui_SwitchPPS, 25);
lv_obj_set_align(ui_SwitchPPS, LV_ALIGN_RIGHT_MID);
ui_LabelPPS = lv_label_create(ui_PanelPPS);
lv_obj_set_width(ui_LabelPPS, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelPPS, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_LabelPPS, LV_ALIGN_LEFT_MID);
lv_label_set_text(ui_LabelPPS, _("PD Setting"));
if(ui_get_language_select() == 0)
lv_obj_set_style_text_font(ui_LabelPPS, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
else
lv_obj_set_style_text_font(ui_LabelPPS, &ui_font_zhongyuan18, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_PanelAbout = lv_obj_create(ui_SetPage);
lv_obj_set_width(ui_PanelAbout, 234);
lv_obj_set_height(ui_PanelAbout, 100);
lv_obj_set_x(ui_PanelAbout, 0);
lv_obj_set_y(ui_PanelAbout, 275);
lv_obj_set_align(ui_PanelAbout, LV_ALIGN_TOP_MID);
lv_obj_add_flag(ui_PanelAbout, LV_OBJ_FLAG_CHECKABLE); /// Flags
lv_obj_remove_flag(ui_PanelAbout, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_PanelAbout, lv_color_hex(0x606060), LV_PART_MAIN | LV_STATE_CHECKED);
lv_obj_set_style_bg_opa(ui_PanelAbout, 255, LV_PART_MAIN | LV_STATE_CHECKED);
ui_LabelAbout = lv_label_create(ui_PanelAbout);
lv_obj_set_width(ui_LabelAbout, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_LabelAbout, LV_SIZE_CONTENT); /// 1
lv_label_set_text(ui_LabelAbout, "About\nPower-Pico\nThe uA current meter\nV 1.0.2");
lv_obj_set_style_text_font(ui_LabelAbout, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT);
// init setting values
_setting_init();
// store panels in array
panels[0] = ui_PanelBL;
panels[1] = ui_PanelKS;
panels[2] = ui_PanelLang;
panels[3] = ui_PanelRotate;
panels[4] = ui_PanelPPS;
panels[5] = ui_PanelAbout;
lv_obj_add_state(panels[current_panel_index], LV_STATE_CHECKED);
// timer
_setting_timer = lv_timer_create(_setting_timer_cb, 500, NULL);
//
lv_obj_add_event_cb(ui_SetPage, on_setpage_loaded, LV_EVENT_SCREEN_LOADED, NULL);
}
void ui_SetPage_screen_destroy(void)
{
if(_setting_timer) {
lv_timer_delete(_setting_timer);
}
}