mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
移动文件夹
This commit is contained in:
495
software/Power_Pico/User/GUI/screens/ui_SetPage.c
Normal file
495
software/Power_Pico/User/GUI/screens/ui_SetPage.c
Normal file
@@ -0,0 +1,495 @@
|
||||
// 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.3");
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user