mirror of
https://gitee.com/Vancouver2017/luban-lite-t3e-pro.git
synced 2025-12-15 10:58:54 +00:00
498 lines
24 KiB
C
498 lines
24 KiB
C
/*
|
|
* Copyright 2025 NXP
|
|
* NXP Confidential and Proprietary. This software is owned or controlled by NXP and may only be used strictly in
|
|
* accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing,
|
|
* activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to
|
|
* comply with and are bound by, such license terms. If you do not agree to be bound by the applicable license
|
|
* terms, then you may not retain, install, activate or otherwise use the software.
|
|
*/
|
|
|
|
#include "lvgl.h"
|
|
#include <stdio.h>
|
|
#include "gui_guider.h"
|
|
#include "events_init.h"
|
|
#include "widgets_init.h"
|
|
#include "custom.h"
|
|
|
|
|
|
#if defined(CONFIG_USER_RELAY_3)
|
|
void setup_scr_onoff3(lv_ui *ui)
|
|
{
|
|
//Write codes onoff3
|
|
ui->onoff3 = lv_obj_create(ui->screen_main_tileview_onoffs);
|
|
lv_obj_set_pos(ui->onoff3, 0, 0);
|
|
lv_obj_set_size(ui->onoff3, 480, 480);
|
|
lv_obj_set_scrollbar_mode(ui->onoff3,LV_SCROLLBAR_MODE_OFF);//不显示滚动条
|
|
lv_obj_clear_flag(ui->onoff3, LV_OBJ_FLAG_SCROLLABLE); // 禁止滚动
|
|
|
|
//Write style for onoff3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_border_width(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_opa(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_color(ui->onoff3, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_grad_dir(ui->onoff3, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_top(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_bottom(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_left(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_right(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_settings_icon
|
|
ui->onoff3_settings_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_settings_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
lv_img_set_src(ui->onoff3_settings_icon, LVGL_PATH(settings_icon.png));
|
|
lv_img_set_pivot(ui->onoff3_settings_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_settings_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_settings_icon, 432, 24);
|
|
lv_obj_set_size(ui->onoff3_settings_icon, 27, 27);
|
|
|
|
//Write style for onoff3_settings_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_settings_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_settings_btn
|
|
ui->onoff3_settings_btn = lv_btn_create(ui->onoff3);
|
|
ui->onoff3_settings_btn_label = lv_label_create(ui->onoff3_settings_btn);
|
|
lv_label_set_text(ui->onoff3_settings_btn_label, "");
|
|
lv_label_set_long_mode(ui->onoff3_settings_btn_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_align(ui->onoff3_settings_btn_label, LV_ALIGN_CENTER, 0, 0);
|
|
lv_obj_set_style_pad_all(ui->onoff3_settings_btn, 0, LV_STATE_DEFAULT);
|
|
lv_obj_set_width(ui->onoff3_settings_btn_label, LV_PCT(100));
|
|
lv_obj_set_pos(ui->onoff3_settings_btn, 418, 12);
|
|
lv_obj_set_size(ui->onoff3_settings_btn, 50, 50);
|
|
|
|
//Write style for onoff3_settings_btn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_bg_opa(ui->onoff3_settings_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_border_width(ui->onoff3_settings_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_settings_btn, 5, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_settings_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_settings_btn, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_settings_btn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_settings_btn, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_settings_btn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw1bg
|
|
ui->onoff3_sw1bg = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw1bg, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw1bg, LVGL_PATH(onoff3_1on.png));
|
|
if(GET_nvs_Sys_Info_relay1status()&relayfirst_powerflag)//看看是不是上电
|
|
{//是上电 按规定设置
|
|
if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_MEMORY)//断电记忆 恢复断电前(包过重启)的继电器状态
|
|
{
|
|
if(GET_nvs_Sys_Info_relay1())
|
|
{ //断电前继电器的状态(通电)
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1on.png));
|
|
}
|
|
else//断电前继电器的状态(断电)
|
|
{
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1off.png));
|
|
}
|
|
}
|
|
else if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_ON)//通电
|
|
{
|
|
SET_nvs_Sys_Info_relay1(true);//强制设置为开(通电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1on.png));
|
|
}
|
|
else //if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
|
|
{
|
|
SET_nvs_Sys_Info_relay1(false);//强制设置为关(断电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1off.png));
|
|
}
|
|
}
|
|
else
|
|
{//不是上电
|
|
if(GET_nvs_Sys_Info_relay1())
|
|
{//开
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1on.png));
|
|
}
|
|
else
|
|
{//关
|
|
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1off.png));
|
|
}
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw1bg, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw1bg, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw1bg, 20, 64);
|
|
lv_obj_set_size(ui->onoff3_sw1bg, 145, 307);
|
|
|
|
//Write style for onoff3_sw1bg, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw1bg, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw1_light_icon
|
|
ui->onoff3_sw1_light_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw1_light_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw1_light_icon, LVGL_PATH(lighgt_icon_02.png));
|
|
if(GET_nvs_Sys_Info_relay1icon())//判断是否使用新的icon
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
|
|
}
|
|
else
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw1_light_icon,LVGL_PATH(lighgt_icon_02.png));//icon
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw1_light_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw1_light_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw1_light_icon, 67, 166);
|
|
lv_obj_set_size(ui->onoff3_sw1_light_icon, 50, 50);
|
|
|
|
//Write style for onoff3_sw1_light_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw1_light_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw1_label
|
|
ui->onoff3_sw1_label = lv_label_create(ui->onoff3);
|
|
//lv_label_set_text(ui->onoff3_sw1_label, "Chandelier");
|
|
if( strlen((const char*)nvs_Sys_Info_SysInfo.relay1.Label) )//用户自己设置的文字(自由设置 不分语言)
|
|
{
|
|
lv_label_set_text_fmt(ui->onoff3_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
|
|
}
|
|
else
|
|
{
|
|
lv_label_set_text(ui->onoff3_sw1_label,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Chandelier]);
|
|
}
|
|
lv_label_set_long_mode(ui->onoff3_sw1_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_set_pos(ui->onoff3_sw1_label, 20, 220);
|
|
lv_obj_set_size(ui->onoff3_sw1_label, 145, 54);
|
|
|
|
//Write style for onoff3_sw1_label, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_border_width(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw1_label, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw1_label, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw1_label, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_letter_space(ui->onoff3_sw1_label, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_line_space(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw1_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_top(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_right(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_bottom(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_left(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw1_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw1_s_icon
|
|
ui->onoff3_sw1_s_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw1_s_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
lv_img_set_src(ui->onoff3_sw1_s_icon, LVGL_PATH(onoff4_sw_on_icon.png));
|
|
lv_img_set_pivot(ui->onoff3_sw1_s_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw1_s_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw1_s_icon, 70, 328);
|
|
lv_obj_set_size(ui->onoff3_sw1_s_icon, 16, 4);
|
|
|
|
//Write style for onoff3_sw1_s_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw1_s_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw1_btn
|
|
ui->onoff3_sw1_btn = lv_btn_create(ui->onoff3);
|
|
ui->onoff3_sw1_btn_label = lv_label_create(ui->onoff3_sw1_btn);
|
|
lv_label_set_text(ui->onoff3_sw1_btn_label, "");
|
|
lv_label_set_long_mode(ui->onoff3_sw1_btn_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_align(ui->onoff3_sw1_btn_label, LV_ALIGN_CENTER, 0, 0);
|
|
lv_obj_set_style_pad_all(ui->onoff3_sw1_btn, 0, LV_STATE_DEFAULT);
|
|
lv_obj_set_width(ui->onoff3_sw1_btn_label, LV_PCT(100));
|
|
lv_obj_set_pos(ui->onoff3_sw1_btn, 32, 64);
|
|
lv_obj_set_size(ui->onoff3_sw1_btn, 120, 307);
|
|
|
|
//Write style for onoff3_sw1_btn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw1_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_border_width(ui->onoff3_sw1_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw1_btn, 25, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw1_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw1_btn, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw1_btn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw1_btn, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw1_btn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw2bg
|
|
ui->onoff3_sw2bg = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw2bg, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw2bg, LVGL_PATH(onoff3_2on.png));
|
|
if(GET_nvs_Sys_Info_relay2status()&relayfirst_powerflag)//看看是不是上电
|
|
{//是上电 按规定设置
|
|
if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_MEMORY)//断电记忆 恢复断电前(包过重启)的继电器状态
|
|
{
|
|
if(GET_nvs_Sys_Info_relay2())
|
|
{ //断电前继电器的状态(通电)
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2on.png));
|
|
}
|
|
else//断电前继电器的状态(断电)
|
|
{
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2off.png));
|
|
}
|
|
}
|
|
else if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_ON)//通电
|
|
{
|
|
SET_nvs_Sys_Info_relay2(true);//强制设置为开(通电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2on.png));
|
|
}
|
|
else //if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
|
|
{
|
|
SET_nvs_Sys_Info_relay2(false);//强制设置为关(断电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2off.png));
|
|
}
|
|
}
|
|
else
|
|
{//不是上电
|
|
if(GET_nvs_Sys_Info_relay2())
|
|
{//开
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2on.png));
|
|
}
|
|
else
|
|
{//关
|
|
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2off.png));
|
|
}
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw2bg, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw2bg, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw2bg, 166, 64);
|
|
lv_obj_set_size(ui->onoff3_sw2bg, 146, 307);
|
|
|
|
//Write style for onoff3_sw2bg, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw2bg, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw2_light_icon
|
|
ui->onoff3_sw2_light_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw2_light_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw2_light_icon, LVGL_PATH(lighgt_icon_08.png));
|
|
if(GET_nvs_Sys_Info_relay2icon())//判断是否使用新的icon
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
|
|
}
|
|
else
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw2_light_icon,LVGL_PATH(lighgt_icon_08.png));//icon
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw2_light_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw2_light_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw2_light_icon, 213, 166);
|
|
lv_obj_set_size(ui->onoff3_sw2_light_icon, 50, 50);
|
|
|
|
//Write style for onoff3_sw2_light_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw2_light_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw2_label
|
|
ui->onoff3_sw2_label = lv_label_create(ui->onoff3);
|
|
//lv_label_set_text(ui->onoff3_sw2_label, "Downlight");
|
|
if( strlen((const char*)nvs_Sys_Info_SysInfo.relay2.Label) )//用户自己设置的文字(自由设置 不分语言)
|
|
{
|
|
lv_label_set_text_fmt(ui->onoff3_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
|
|
}
|
|
else
|
|
{
|
|
lv_label_set_text(ui->onoff3_sw2_label,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Downlight]);
|
|
}
|
|
lv_label_set_long_mode(ui->onoff3_sw2_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_set_pos(ui->onoff3_sw2_label, 166, 220);
|
|
lv_obj_set_size(ui->onoff3_sw2_label, 145, 54);
|
|
|
|
//Write style for onoff3_sw2_label, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_border_width(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw2_label, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw2_label, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw2_label, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_letter_space(ui->onoff3_sw2_label, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_line_space(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw2_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_top(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_right(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_bottom(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_left(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw2_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw2_s_icon
|
|
ui->onoff3_sw2_s_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw2_s_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
lv_img_set_src(ui->onoff3_sw2_s_icon, LVGL_PATH(onoff4_sw_on_icon.png));
|
|
lv_img_set_pivot(ui->onoff3_sw2_s_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw2_s_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw2_s_icon, 232, 328);
|
|
lv_obj_set_size(ui->onoff3_sw2_s_icon, 16, 4);
|
|
|
|
//Write style for onoff3_sw2_s_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw2_s_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw2_btn
|
|
ui->onoff3_sw2_btn = lv_btn_create(ui->onoff3);
|
|
ui->onoff3_sw2_btn_label = lv_label_create(ui->onoff3_sw2_btn);
|
|
lv_label_set_text(ui->onoff3_sw2_btn_label, "");
|
|
lv_label_set_long_mode(ui->onoff3_sw2_btn_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_align(ui->onoff3_sw2_btn_label, LV_ALIGN_CENTER, 0, 0);
|
|
lv_obj_set_style_pad_all(ui->onoff3_sw2_btn, 0, LV_STATE_DEFAULT);
|
|
lv_obj_set_width(ui->onoff3_sw2_btn_label, LV_PCT(100));
|
|
lv_obj_set_pos(ui->onoff3_sw2_btn, 180, 64);
|
|
lv_obj_set_size(ui->onoff3_sw2_btn, 120, 307);
|
|
|
|
//Write style for onoff3_sw2_btn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw2_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_border_width(ui->onoff3_sw2_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw2_btn, 25, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw2_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw2_btn, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw2_btn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw2_btn, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw2_btn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw3bg
|
|
ui->onoff3_sw3bg = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw3bg, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw3bg, LVGL_PATH(onoff3_3on.png));
|
|
if(GET_nvs_Sys_Info_relay3status()&relayfirst_powerflag)//看看是不是上电
|
|
{//是上电 按规定设置
|
|
if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_MEMORY)//断电记忆 恢复断电前(包过重启)的继电器状态
|
|
{
|
|
if(GET_nvs_Sys_Info_relay3())
|
|
{ //断电前继电器的状态(通电)
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3on.png));
|
|
}
|
|
else//断电前继电器的状态(断电)
|
|
{
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3off.png));
|
|
}
|
|
}
|
|
else if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_ON)//通电
|
|
{
|
|
SET_nvs_Sys_Info_relay3(true);//强制设置为开(通电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3on.png));
|
|
}
|
|
else //if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
|
|
{
|
|
SET_nvs_Sys_Info_relay3(false);//强制设置为关(断电)
|
|
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3off.png));
|
|
}
|
|
}
|
|
else
|
|
{//不是上电
|
|
if(GET_nvs_Sys_Info_relay3())
|
|
{//开
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3on.png));
|
|
}
|
|
else
|
|
{//关
|
|
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3off.png));
|
|
}
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw3bg, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw3bg, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw3bg, 313, 64);
|
|
lv_obj_set_size(ui->onoff3_sw3bg, 146, 307);
|
|
|
|
//Write style for onoff3_sw3bg, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw3bg, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw3_light_icon
|
|
ui->onoff3_sw3_light_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw3_light_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
//lv_img_set_src(ui->onoff3_sw3_light_icon, LVGL_PATH(lighgt_icon_07.png));
|
|
if(GET_nvs_Sys_Info_relay3icon())//判断是否使用新的icon
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw3_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay3icon()]);
|
|
}
|
|
else
|
|
{
|
|
lv_img_set_src(ui->onoff3_sw3_light_icon,LVGL_PATH(lighgt_icon_09.png));//icon
|
|
}
|
|
lv_img_set_pivot(ui->onoff3_sw3_light_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw3_light_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw3_light_icon, 360, 166);
|
|
lv_obj_set_size(ui->onoff3_sw3_light_icon, 50, 50);
|
|
|
|
//Write style for onoff3_sw3_light_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw3_light_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw3_label
|
|
ui->onoff3_sw3_label = lv_label_create(ui->onoff3);
|
|
//lv_label_set_text(ui->onoff3_sw3_label, "Light strip");
|
|
if( strlen((const char*)nvs_Sys_Info_SysInfo.relay3.Label) )//用户自己设置的文字(自由设置 不分语言)
|
|
{
|
|
lv_label_set_text_fmt(ui->onoff3_sw3_label, "%s",nvs_Sys_Info_SysInfo.relay3.Label);
|
|
}
|
|
else
|
|
{
|
|
lv_label_set_text(ui->onoff3_sw3_label,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Lightstrip]);
|
|
}
|
|
lv_label_set_long_mode(ui->onoff3_sw3_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_set_pos(ui->onoff3_sw3_label, 313, 220);
|
|
lv_obj_set_size(ui->onoff3_sw3_label, 145, 54);
|
|
|
|
//Write style for onoff3_sw3_label, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_border_width(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw3_label, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw3_label, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw3_label, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_letter_space(ui->onoff3_sw3_label, 2, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_line_space(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw3_label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_top(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_right(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_bottom(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_pad_left(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw3_label, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw3_s_icon
|
|
ui->onoff3_sw3_s_icon = lv_img_create(ui->onoff3);
|
|
lv_obj_add_flag(ui->onoff3_sw3_s_icon, LV_OBJ_FLAG_CLICKABLE);
|
|
lv_img_set_src(ui->onoff3_sw3_s_icon, LVGL_PATH(onoff4_sw_on_icon.png));
|
|
lv_img_set_pivot(ui->onoff3_sw3_s_icon, 50,50);
|
|
lv_img_set_angle(ui->onoff3_sw3_s_icon, 0);
|
|
lv_obj_set_pos(ui->onoff3_sw3_s_icon, 380, 328);
|
|
lv_obj_set_size(ui->onoff3_sw3_s_icon, 16, 4);
|
|
|
|
//Write style for onoff3_sw3_s_icon, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_img_opa(ui->onoff3_sw3_s_icon, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//Write codes onoff3_sw3_btn
|
|
ui->onoff3_sw3_btn = lv_btn_create(ui->onoff3);
|
|
ui->onoff3_sw3_btn_label = lv_label_create(ui->onoff3_sw3_btn);
|
|
lv_label_set_text(ui->onoff3_sw3_btn_label, "");
|
|
lv_label_set_long_mode(ui->onoff3_sw3_btn_label, LV_LABEL_LONG_WRAP);
|
|
lv_obj_align(ui->onoff3_sw3_btn_label, LV_ALIGN_CENTER, 0, 0);
|
|
lv_obj_set_style_pad_all(ui->onoff3_sw3_btn, 0, LV_STATE_DEFAULT);
|
|
lv_obj_set_width(ui->onoff3_sw3_btn_label, LV_PCT(100));
|
|
lv_obj_set_pos(ui->onoff3_sw3_btn, 326, 64);
|
|
lv_obj_set_size(ui->onoff3_sw3_btn, 120, 307);
|
|
|
|
//Write style for onoff3_sw3_btn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
|
|
lv_obj_set_style_bg_opa(ui->onoff3_sw3_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_border_width(ui->onoff3_sw3_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_radius(ui->onoff3_sw3_btn, 25, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_shadow_width(ui->onoff3_sw3_btn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_color(ui->onoff3_sw3_btn, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_font(ui->onoff3_sw3_btn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_opa(ui->onoff3_sw3_btn, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
lv_obj_set_style_text_align(ui->onoff3_sw3_btn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
|
|
|
|
//The custom code of onoff3.
|
|
|
|
|
|
//Update current screen layout.
|
|
lv_obj_update_layout(ui->onoff3);
|
|
//取消上电标记
|
|
if(GET_nvs_Sys_Info_relay1status()&relayfirst_powerflag)//看看是不是上电
|
|
{//
|
|
SET_nvs_Sys_Info_relay1status(GET_nvs_Sys_Info_relay1status()&(~relayfirst_powerflag));//取消上电标记
|
|
}
|
|
if(GET_nvs_Sys_Info_relay2status()&relayfirst_powerflag)//看看是不是上电
|
|
{//
|
|
SET_nvs_Sys_Info_relay2status(GET_nvs_Sys_Info_relay2status()&(~relayfirst_powerflag));//取消上电标记
|
|
}
|
|
if(GET_nvs_Sys_Info_relay3status()&relayfirst_powerflag)//看看是不是上电
|
|
{//
|
|
SET_nvs_Sys_Info_relay3status(GET_nvs_Sys_Info_relay3status()&(~relayfirst_powerflag));//取消上电标记
|
|
}
|
|
if(GET_nvs_Sys_Info_relay4status()&relayfirst_powerflag)//看看是不是上电
|
|
{//
|
|
SET_nvs_Sys_Info_relay4status(GET_nvs_Sys_Info_relay4status()&(~relayfirst_powerflag));//取消上电标记
|
|
}
|
|
nvs_eepom_sysInfo_update();
|
|
//Init events for screen.
|
|
events_init_onoff3(ui);
|
|
}
|
|
#endif |