Files
luban-lite-t3e-pro/application/rt-thread/t3e-pro/components/custom/custom.c
2025-11-15 20:16:32 +08:00

9572 lines
342 KiB
C
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
/*
* Copyright 2023 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.
*/
/*********************
* INCLUDES
*********************/
#include <rtthread.h>
#include <string.h>
#define DBG_TAG "custom"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#ifdef RT_USING_ULOG
#include <ulog.h>
#endif
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include "aic_core.h"
#include "aic_hal_gpio.h"
#include <aic_hal.h>
#include "lvgl.h"
#include "custom.h"
#include "gui_guider.h"
#include "events_init.h"
#include "zigbee.h"
#include "zigbee_fun.h"
// #include "cJSON.h"
#include <drivers/rtc.h>
#include "ESP32_Clock.h"
#include "fontenum.h"
extern rt_mutex_t xGuiSemaphore;
#define DEFAULT_SCAN_LIST_SIZE 10
/*********************
* DEFINES
*********************/
#if defined(CONFIG_USER_RELAY_1)
#define CONFIG_RELAY_1_OUT_PIN "PA.4"
#elif defined(CONFIG_USER_RELAY_2)
#define CONFIG_RELAY_1_OUT_PIN "PA.4"
#define CONFIG_RELAY_2_OUT_PIN "PA.5"
#elif defined(CONFIG_USER_RELAY_3)
#define CONFIG_RELAY_1_OUT_PIN "PA.4"
#define CONFIG_RELAY_2_OUT_PIN "PA.5"
#define CONFIG_RELAY_3_OUT_PIN "PC.4"
#elif defined(CONFIG_USER_RELAY_4)
#define CONFIG_RELAY_1_OUT_PIN "PC.5"
#define CONFIG_RELAY_2_OUT_PIN "PC.4"
#define CONFIG_RELAY_3_OUT_PIN "PA.5"
#define CONFIG_RELAY_4_OUT_PIN "PA.4"
#endif
#if defined(CONFIG_USER_RELAY_1)
#elif defined(CONFIG_USER_RELAY_2)
#elif defined(CONFIG_USER_RELAY_3)
#elif defined(CONFIG_USER_RELAY_4)
#endif
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
//配网页对象及变量
//实现原理 top层创建arc,默认是1s是1%,100s超时退出; 根据入网进程,改变animationtimer的周期 入网成功后定时器周期改为100ms 很快到达100%
lv_obj_t *smartconfigobj;
lv_obj_t * smartlabel;
lv_obj_t * smartarc;
lv_obj_t * alarmlabel;
uint8_t smartconfigtimer;
uint8_t smartconfigfag;
//========================
/**********************
* STATIC VARIABLES
**********************/
/**
* Create a demo application
*/
static lv_ui *custom_ui;
// static uint8_t user_secene_select; //用户选择哪个场景要修改名称和icon
// static uint8_t user_secene_icon_select; //用户选择的场景icon
// static uint8_t user_onoff_key_select; //用户选择哪个按键要修改名称和icon
// static uint8_t user_onoff_key_icon_select;//用户选择的按键icon
// #if defined(CONFIG_LANAGUAGE_CHS)
// static const char * btns_chs[] ={"确认","取消",""};
// #elif defined(CONFIG_LANAGUAGE_CHT)
// static const char * btns_chs[] ={"確認","取消",""};
// #endif
// static const char * btns_eng[] ={"Sure","Cancel",""};
void gpio_set_direction(char *name)
{
long pin = hal_gpio_name2pin(name);
if (pin < 0) {
pr_err("Failed to get GPIO %s\n", name);
return;
}
hal_gpio_direction_output(GPIO_GROUP(pin), GPIO_GROUP_PIN(pin));
}
void gpio_set_level(char *name, u32 value)
{
long pin = hal_gpio_name2pin(name);
if (value)
hal_gpio_set_output(GPIO_GROUP(pin), GPIO_GROUP_PIN(pin));
else
hal_gpio_clr_output(GPIO_GROUP(pin), GPIO_GROUP_PIN(pin));
}
/**
* Create a demo application
*/
//接收消息
rt_mq_t custom_rx_evt_queue = NULL; //定义一个队列返回变量
lv_timer_t * poweralarmtimer = NULL;//上电 时间错误警告
lv_timer_t * animationtimer = NULL;//动画定时器 窗帘 纱帘 卷帘 幕布等使用
int scenebarindex;//
void custom_Task(void *pvParameter);
rt_thread_t custom_thread = RT_NULL;
void custom_init(lv_ui *ui)
{
/* Add your codes here */
animationtimer=NULL;
/*
user_secene_select=0;
user_secene_icon_select=0;
user_onoff_key_select=0;
user_onoff_key_icon_select=0;
*/
custom_ui=ui;
//创建动态消息队列 返回消息队列对象的句柄
custom_rx_evt_queue= rt_mq_create("custom_mq", //消息队列的名称
sizeof(ZIGEvent), //消息队列中一条消息的最大长度,单位字节
10, //消息队列的最大个数
RT_IPC_FLAG_PRIO ); //消息队列采用的阻塞线程的等待方式它可以取如下数值RT_IPC_FLAG_FIFO //按照先进先出排序或RT_IPC_FLAG_PRIO //按照优先级排序
if(!custom_rx_evt_queue)
{
LOG_E("RT-Thread create custom_rx_evt_queue mq fail");
}
//创建任务
custom_thread = rt_thread_create("custom", //名称
custom_Task, //线程代码
RT_NULL, //参数
102400, //栈大小
14, //优先级
10); //时间片
if (custom_thread != RT_NULL)
{
rt_thread_startup(custom_thread); //线程进入就绪态
}
else
{
LOG_I_LINE("custom_thread create failure\n");
}
//初始化继电器IO口
#if defined(CONFIG_USER_RELAY_1)
gpio_set_direction(CONFIG_RELAY_1_OUT_PIN);
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
//=======================================================================================
#elif defined(CONFIG_USER_RELAY_2)
gpio_set_direction(CONFIG_RELAY_1_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_2_OUT_PIN);
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
//=======================================================================================
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
//=======================================================================================
#elif defined(CONFIG_USER_RELAY_3)
gpio_set_direction(CONFIG_RELAY_1_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_2_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_3_OUT_PIN);
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
//=======================================================================================
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
//=======================================================================================
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
//=======================================================================================
#elif defined(CONFIG_USER_RELAY_4)
gpio_set_direction(CONFIG_RELAY_1_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_2_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_3_OUT_PIN);
gpio_set_direction(CONFIG_RELAY_4_OUT_PIN);
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay1status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_1_OUT_PIN, 0);
}
//=======================================================================================
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay2status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_2_OUT_PIN, 0);
}
//=======================================================================================
//-----------------
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())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay3status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_3_OUT_PIN, 0);
}
//=======================================================================================
//-----------------
if(GET_nvs_Sys_Info_relay4status()&relayfirst_powerflag)//看看是不是上电
{//是上电 按规定设置
if((GET_nvs_Sys_Info_relay4status()&relay_powerflag)==RELAY_STATUS_MEMORY)//断电记忆
{
if(GET_nvs_Sys_Info_relay4())
{ //断电前继电器的状态(通电)
gpio_set_level(CONFIG_RELAY_4_OUT_PIN, 1);
}
else//断电前继电器的状态(断电)
{
gpio_set_level(CONFIG_RELAY_4_OUT_PIN, 0);
}
}
else if((GET_nvs_Sys_Info_relay4status()&relay_powerflag)==RELAY_STATUS_ON)//通电
{
gpio_set_level(CONFIG_RELAY_4_OUT_PIN, 1);
}
else //if((GET_nvs_Sys_Info_relay4status()&relay_powerflag)==RELAY_STATUS_OFF)//断电 默认
{
gpio_set_level(CONFIG_RELAY_4_OUT_PIN, 0);
}
}
else
{//不是上电
gpio_set_level(CONFIG_RELAY_4_OUT_PIN, 0);
}
//=======================================================================================
#endif
//取消上电标记
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();
}
static void smartconfig_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
const char * txt = lv_msgbox_get_active_btn_text(msgbox);
printf("click:%s\r\n",txt);
if(animationtimer)
{
printf("wifi scan del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_msgbox_close(msgbox);
//custom_setup_scr_screen(&guider_ui.smartinfopage,&guider_ui.setting);
//if(guider_ui.smartinfopage)
{
printf("del guider_ui.smartinfopage and create guider_ui.setting\r\n");
//custom_setup_scr_screen(&guider_ui.smartinfopage,&guider_ui.setting);
//退回到setting界面
if(!guider_ui.setting)
{
setup_scr_setting(&guider_ui);
}
lv_scr_load(guider_ui.setting);
if(guider_ui.smartinfopage)
{
lv_obj_del(guider_ui.smartinfopage);
guider_ui.smartinfopage = NULL;
}
}
guider_ui.screensaverflag=0;
}
}
//窗帘1
#define D_animcurtaininfo_period 100//移动一次时间100ms
#define D_animcurtaininfo_max_Width 200//移动的最大范围(0~255)
#define D_animcurtaininfo_min_Width 30//移动的最小范围(0~255)
uint8_t *animcurtainposP=NULL;
//static uint8_t animcurtainindex=0;
// void custom_curtaininfo_timeropen(lv_timer_t * timer)//50ms
// {
// printf("animcurtaininfoindex:%d\r\n",animcurtainindex);
// //100-->1
// animcurtainindex -=1;
// if(animcurtainindex==0)//宽度
// {//结束
// if(animationtimer)
// {
// lv_timer_del(animationtimer);
// animationtimer=NULL;
// }
// //SET_nvs_Sys_Info_curtaininfo_pos(0);
// //nvs_eepom_sysInfo_update();
// }
// else
// {
// lv_slider_set_value(guider_ui.curtaininfo_slider_1,animcurtainindex,LV_ANIM_OFF);
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-(animcurtainindex*1.7));//关x+w-->x 100*1.7=170
// //lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+(animcurtainindex*1.7));//关x+w-->x
// }
// }
// void custom_curtaininfo_timerclose(lv_timer_t * timer)
// {
// printf("animcurtaininfoindex:%d\r\n",animcurtainindex);
// animcurtainindex +=1;
// if(animcurtainindex>100)//0~124
// {//结束
// if(animationtimer)
// {
// lv_timer_del(animationtimer);
// animationtimer=NULL;
// }
// //SET_nvs_Sys_Info_curtaininfo_pos(100);
// //nvs_eepom_sysInfo_update();
// }
// else
// {
// lv_slider_set_value(guider_ui.curtaininfo_slider_1,animcurtainindex,LV_ANIM_OFF);
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-(animcurtainindex*1.7));//关x+w-->x 100*1.7=170
// //lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+(animcurtainindex*1.7));//关x+w-->x
// }
// }
static void custom_curtaininfo_timeropen(lv_timer_t * timer)//50ms
{
if(!animcurtainposP)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
return ;
}
//100-->1
if(*animcurtainposP==0)//宽度
{//结束
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
*animcurtainposP=0;
animcurtainposP=NULL;
//不需要断电保存
//SET_nvs_Sys_Info_curtaininfo_pos(0);
//nvs_eepom_sysInfo_update();
}
else
{
*animcurtainposP -=1;
printf("animcurtaininfoindex:%d\r\n",*animcurtainposP);
lv_slider_set_value(guider_ui.curtaininfo_slider_1,*animcurtainposP,LV_ANIM_OFF);
lv_obj_set_x(guider_ui.curtaininfo_leftimg,*animcurtainposP*1.7-170);//关x+w-->x 100*1.7=170
lv_obj_set_x(guider_ui.curtaininfo_rightimg, 212+(170-*animcurtainposP*1.7) );//关x+w-->x
}
}
static void custom_curtaininfo_timerclose(lv_timer_t * timer)
{
if(!animcurtainposP)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
return ;
}
//0-->100
if(*animcurtainposP>=100)//0~124
{//结束
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
*animcurtainposP=100;
animcurtainposP=NULL;
//不需要断电保存
//SET_nvs_Sys_Info_curtaininfo_pos(100);
//nvs_eepom_sysInfo_update();
}
else
{
*animcurtainposP +=1;
printf("animcurtaininfoindex:%d\r\n",*animcurtainposP);
lv_slider_set_value(guider_ui.curtaininfo_slider_1,*animcurtainposP,LV_ANIM_OFF);
lv_obj_set_x(guider_ui.curtaininfo_leftimg,*animcurtainposP*1.7-170);//关x+w-->x 100*1.7=170
lv_obj_set_x(guider_ui.curtaininfo_rightimg, 212+(170-*animcurtainposP*1.7) );//关x+w-->x
}
}
static void custom_rollersinfo_timeropen(lv_timer_t * timer)//50ms
{
if(!animcurtainposP)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
return ;
}
//100-->1
if(*animcurtainposP==0)//宽度
{//结束
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
*animcurtainposP=0;
animcurtainposP=NULL;
//不需要断电保存
//SET_nvs_Sys_Info_curtaininfo_pos(0);
//nvs_eepom_sysInfo_update();
}
else
{
*animcurtainposP -=1;
printf("animrollersinfoindex:%d\r\n",*animcurtainposP);
lv_slider_set_value(guider_ui.rollersinfo_slider_1,*animcurtainposP,LV_ANIM_OFF);
lv_obj_set_y(guider_ui.rollersinfo_onoffimg,*animcurtainposP*2.3-230);//关x+w-->x 100*2.3=230
}
}
static void custom_rollersinfo_timerclose(lv_timer_t * timer)
{
if(!animcurtainposP)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
return ;
}
//0-->100
if(*animcurtainposP>=100)//0~124
{//结束
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
*animcurtainposP=100;
animcurtainposP=NULL;
//不需要断电保存
//SET_nvs_Sys_Info_curtaininfo_pos(100);
//nvs_eepom_sysInfo_update();
}
else
{
*animcurtainposP +=1;
printf("animrollersinfoindex:%d\r\n",*animcurtainposP);
lv_slider_set_value(guider_ui.rollersinfo_slider_1,*animcurtainposP,LV_ANIM_OFF);
lv_obj_set_y(guider_ui.rollersinfo_onoffimg,*animcurtainposP*2.3-230);//关x+w-->x 100*2.3=230
}
}
static void custom_power_timealarm(lv_timer_t * timer)
{
if(guider_ui.scene_alarmtimecont)
{
lv_obj_del(guider_ui.scene_alarmtimecont);
}
lv_timer_del(poweralarmtimer);
poweralarmtimer=NULL;
}
void custom_Task(void *pvParameter)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
time_t now;
struct tm timeinfo;
struct timeval tv;
tv.tv_sec=(time_t)1735689600;//上电的默认时间 2025-01-01 08:00:00
tv.tv_usec=0;
// // int settimeofday(const struct timeval *tv , const struct timezone *tz);
// //tz参数为时区 通常将参数tz设置为NULL表示使用当前系统的时区
// //输入时间戳通过settimeofday()函数来设置系统时间,这个函数设置的精度可以精确到微秒
settimeofday(&tv, NULL);//不用重新设置时区
//开启lv_time定时3s之后删除时间警告
poweralarmtimer = lv_timer_create(custom_power_timealarm,5000,NULL);
for(;;)
{
if(evt.buffStr)//接收到的是指针 用完释放内存
{
LOG_I_LINE("free receData.buffStr:%x",(uint32_t)evt.buffStr);
free(evt.buffStr);
evt.buffStr=NULL;
}
if(rt_mq_recv(custom_rx_evt_queue,&evt,sizeof(ZIGEvent),RT_WAITING_FOREVER)==RT_EOK)
{
//有事件后获取信号量使用权 进而修改lvgl
/* Try to take the semaphore, call lvgl related function on success */
if (RT_EOK == rt_mutex_take(xGuiSemaphore, RT_WAITING_FOREVER))//一直等
{
switch(evt.event)
{
case ZIG_STATE_SUBDEVICE_UPDATE://更新设备界面的子对象
{
LOG_I_LINE("relay update sub device");
//检查每一个checkbox的状态
//lv_obj_t *addsubdevicepage_gangcb//0 固定为选中 不需判断
//nvs_SysInfo.subdevice_array[0]=1;//窗帘电机
//0 场景开关1路
if(lv_obj_get_state(guider_ui.addsubdevicepage_gang1cb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[0]=1;
}
else
{
nvs_SysInfo.subdevice_array[0]=0;
}
//1 场景开关2路
if(lv_obj_get_state(guider_ui.addsubdevicepage_gang2cb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[1]=1;
}
else
{
nvs_SysInfo.subdevice_array[1]=0;
}
//2 场景开关3路
if(lv_obj_get_state(guider_ui.addsubdevicepage_gang3cb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[2]=1;
}
else
{
nvs_SysInfo.subdevice_array[2]=0;
}
//3 场景开关4路
if(lv_obj_get_state(guider_ui.addsubdevicepage_gang4cb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[3]=1;
}
else
{
nvs_SysInfo.subdevice_array[3]=0;
}
//4 场景开关6路
if(lv_obj_get_state(guider_ui.addsubdevicepage_gang6cb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[4]=1;
}
else
{
nvs_SysInfo.subdevice_array[4]=0;
}
//5 空调
if(lv_obj_get_state(guider_ui.addsubdevicepage_airconditionercb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[5]=1;
}
else
{
nvs_SysInfo.subdevice_array[5]=0;
}
//6 投影仪
if(lv_obj_get_state(guider_ui.addsubdevicepage_projectorcb) == LV_STATE_CHECKED )
{
nvs_SysInfo.subdevice_array[6]=1;
}
else
{
nvs_SysInfo.subdevice_array[6]=0;
}
//检查结束 删除选择页面
if(guider_ui.addsubdevicepage)
{
lv_obj_del(guider_ui.addsubdevicepage);
guider_ui.addsubdevicepage = NULL;
}
// //更新nvs
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
//删除子对象重新创建
lv_obj_clean(guider_ui.device_cont_1);//一次性将所有子对象列表清除
//置空 对象是否存在做对应动作;譬如空调 在空调详情界面可以同步设备列表上空调界面的状态
guider_ui.device_gang1cont=NULL;
guider_ui.device_gang2cont=NULL;
guider_ui.device_gang3cont=NULL;
guider_ui.device_gang4cont=NULL;
guider_ui.device_gang6cont=NULL;
guider_ui.device_aircont=NULL;
guider_ui.device_projectorcont=NULL;
// guider_ui.device_curtain1cont=NULL;
//再次创建
#define D_SUBDEVICE_X 5//x坐标固定不变
#define D_SUBDEVICE_WIDTH 460//宽度固定不变
//可变得只有y和每个字设备的高度
lv_coord_t y=0;
for(int i=0;i<sizeof(nvs_SysInfo.subdevice_array);i++)
{
if((i==0)&&nvs_SysInfo.subdevice_array[i])//场景开关1路
{
LOG_I_LINE("create gang before x=%d",y);
create_device_gang1(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,170);
y=y+170+2;//2个空格的间隙
LOG_I_LINE("create gang after x=%d",y);
}
if((i==1)&&nvs_SysInfo.subdevice_array[i])//场景开关2路
{
LOG_I_LINE("create gang before x=%d",y);
create_device_gang2(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,170);
y=y+170+2;//2个空格的间隙
LOG_I_LINE("create gang after x=%d",y);
}
if((i==2)&&nvs_SysInfo.subdevice_array[i])//场景开关3路
{
LOG_I_LINE("create gang before x=%d",y);
create_device_gang3(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,170);
y=y+170+2;//2个空格的间隙
LOG_I_LINE("create gang after x=%d",y);
}
if((i==3)&&nvs_SysInfo.subdevice_array[i])//场景开关4路
{
LOG_I_LINE("create gang before x=%d",y);
create_device_gang4(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,170);
y=y+170+2;//2个空格的间隙
LOG_I_LINE("create gang after x=%d",y);
}
if((i==4)&&nvs_SysInfo.subdevice_array[i])//场景开关6路
{
LOG_I_LINE("create gang before x=%d",y);
create_device_gang6(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,250);
y=y+250+2;//2个空格的间隙
LOG_I_LINE("create gang after x=%d",y);
}
else if((i==5)&&nvs_SysInfo.subdevice_array[i])//空调
{
LOG_I_LINE("create air before x=%d",y);
create_device_air(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,100);
y=y+100+2;//2个空格的间隙
LOG_I_LINE("create air after x=%d",y);
}
else if((i==6)&&nvs_SysInfo.subdevice_array[i])//窗帘1
{
LOG_I_LINE("create projector before x=%d",y);
create_device_projector(&guider_ui,guider_ui.device_cont_1,D_SUBDEVICE_X,y,D_SUBDEVICE_WIDTH,100);
y=y+100+2;//2个空格的间隙
LOG_I_LINE("create projector after x=%d",y);
}
}
}
break;
// case ZIG_STATE_Switch_langue://语言切换
// {
// LOG_I_LINE("Switch language");
// //删除language页
// if(guider_ui.langinfopage)
// {
// lv_obj_del(guider_ui.langinfopage);
// guider_ui.langinfopage = NULL;
// }
// //删除setting页
// if(guider_ui.setting)
// {
// lv_obj_del(guider_ui.setting);
// guider_ui.setting = NULL;
// }
// //重新加载
// memset(&guider_ui,0,sizeof(guider_ui));//统一置0
// setup_ui(&guider_ui);
// }
// break;
case ZIG_STATE_Switch_clock://开关的时钟切换
{
LOG_I_LINE("Switch clock+Switch and Switch");
//重新加载switch界面
#if defined(CONFIG_USER_RELAY_1)
if(guider_ui.onoff1)
{
LOG_I_LINE("del guider_ui.onoff1");
events_init_onoff1_remove(&guider_ui);
lv_obj_del(guider_ui.onoff1);
guider_ui.onoff1=NULL;
}
if(guider_ui.onofftime1)
{
LOG_I_LINE("del guider_ui.onofftime1");
events_init_onofftime1_remove(&guider_ui);
lv_obj_del(guider_ui.onofftime1);
guider_ui.onofftime1=NULL;
}
if(GET_nvs_Sys_Info_first()==FIRST_CLOCK)
{//时钟+开关模式
LOG_I_LINE("reload setup_scr_onofftime1");
setup_scr_onofftime1(&guider_ui);
}
else //if(GET_nvs_Sys_Info_first()==FIRST_SWITCH)
{//开关模式
LOG_I_LINE("reload setup_scr_onoff1");
setup_scr_onoff1(&guider_ui);
}
#elif defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
LOG_I_LINE("del guider_ui.onoff2");
events_init_onoff2_remove(&guider_ui);
lv_obj_del(guider_ui.onoff2);
guider_ui.onoff2=NULL;
}
if(guider_ui.onofftime2)
{
LOG_I_LINE("del guider_ui.onofftime2");
events_init_onofftime2_remove(&guider_ui);
lv_obj_del(guider_ui.onofftime2);
guider_ui.onofftime2=NULL;
}
if(GET_nvs_Sys_Info_first()==FIRST_CLOCK)
{//时钟+开关模式
LOG_I_LINE("reload setup_scr_onofftime2");
setup_scr_onofftime2(&guider_ui);
}
else //if(GET_nvs_Sys_Info_first()==FIRST_SWITCH)
{//开关模式
LOG_I_LINE("reload setup_scr_onoff2");
setup_scr_onoff2(&guider_ui);
}
#elif defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
LOG_I_LINE("del guider_ui.onoff4");
events_init_onoff3_remove(&guider_ui);
lv_obj_del(guider_ui.onoff3);
guider_ui.onoff3=NULL;
}
if(guider_ui.onofftime3)
{
LOG_I_LINE("del guider_ui.onofftime3");
events_init_onofftime3_remove(&guider_ui);
lv_obj_del(guider_ui.onofftime3);
guider_ui.onofftime3=NULL;
}
if(GET_nvs_Sys_Info_first()==FIRST_CLOCK)
{//时钟+开关模式
LOG_I_LINE("reload setup_scr_onofftime3");
setup_scr_onofftime3(&guider_ui);
}
else //if(GET_nvs_Sys_Info_first()==FIRST_SWITCH)
{//开关模式
LOG_I_LINE("reload setup_scr_onoff3");
setup_scr_onoff3(&guider_ui);
}
#elif defined(CONFIG_USER_RELAY_4)
//delete
//guider_ui.screen_main_tileview_onoffs
//lv_obj_del
if(guider_ui.onoff4)
{
LOG_I_LINE("del guider_ui.onoff4");
events_init_onoff4_remove(&guider_ui);
lv_obj_del(guider_ui.onoff4);
guider_ui.onoff4=NULL;
}
if(guider_ui.onofftime4)
{
LOG_I_LINE("del guider_ui.onofftime4");
events_init_onofftime4_remove(&guider_ui);
lv_obj_del(guider_ui.onofftime4);
guider_ui.onofftime4=NULL;
}
if(GET_nvs_Sys_Info_first()==FIRST_CLOCK)
{//时钟+开关模式
LOG_I_LINE("reload setup_scr_onofftime4");
setup_scr_onofftime4(&guider_ui);
}
else //if(GET_nvs_Sys_Info_first()==FIRST_SWITCH)
{//开关模式
LOG_I_LINE("reload setup_scr_onoff4");
setup_scr_onoff4(&guider_ui);
}
#endif
}
break;
//=======================================================================
case ZIG_STATE_RTC_CURRENT://显示
{//在RT-Thread中使用time()函数来获取当前的系统时间。这个函数返回一个time_t类型的值表示自1970年1月1日(UTC)以来的秒数
/* 获取当前时间 */
time(&now);
/* 将time_t类型转换为struct tm类型 */
localtime_r(&now, &timeinfo);//localtime_r()先加上时区值再调用gmtime_r()转换为结构体
// //struct tm
// //{
// // int tm_sec; //分后的秒(0~61)
// // int tm_min; //小时后的分(0~59)
// // int tm_hour; //小时(0~23)
// // int tm_mday; //一个月天数(0~31)
// // int tm_mon; //一个后的月数(0~11)
// // int tm_year; //1900年后的年数 Year - 1900.
// // int tm_wday; //星期日开始的天数(0~6)
// // int tm_yday; //从1月1日开始的时间(0~365)
// // int tm_isdst; //夏令时标志(大于0说明夏令时有效等于0说明无效小于0说明信息不可用)
// //
// //};
// LOG_I_LINE("now=%d",now);
// LOG_I_LINE("zone:%d",tz_get());
// LOG_I_LINE("time==%d:%d:%d:%d:%02d:%02d:%02d:%02d:%02d",
// timeinfo.tm_isdst, //是否为夏时制
// timeinfo.tm_yday, //一年过去的天数
// timeinfo.tm_wday, //星期1对应星期一
// timeinfo.tm_year+1900, //年距离1900年的差值默认是70
// timeinfo.tm_mon+1, //日期从0开始 0~11
// timeinfo.tm_mday, //日期从1开始
// timeinfo.tm_hour, //小时
// timeinfo.tm_min, //分钟
// timeinfo.tm_sec); //秒钟
if((timeinfo.tm_min==59)&&(timeinfo.tm_sec==59))//每小时更新一次
{
ZIGEvent evtstate;
evtstate.event=ZIG_STATE_RTC_UPDATE;
evtstate.length=0;
evtstate.buffStr=NULL;
rt_mq_send(zig_rx_evt_queue, &evtstate, sizeof(ZIGEvent));//上报给zigbee
}
if(guider_ui.screensaver)
{
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.screensaver_clock_time,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
lv_label_set_text_fmt(guider_ui.screensaver_clock_date,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.screensaver_clock_time,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
lv_label_set_text_fmt(guider_ui.screensaver_clock_date,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
//时分秒同时刷新的方法
//对于秒一圈是60秒 1秒是1格 每秒6°
//对于分一圈代表60分钟(360°),分针每秒旋转0.1°(lvgl旋转精度是0.1°),3600秒旋转360°即旋转一周60分钟 now%3600即可
//对于时一圈代表12小时(360°),12小时=12*60=720分钟时针每分钟旋转0.5°,720分钟旋转360°即旋转一周12小时
//秒
int16_t angle=timeinfo.tm_sec*60;//一圈是60秒 1秒是1格 每秒6°(精度0.1° 所以是60代表6°)
//printf("ss:%d\r\n",angle);
lv_img_set_angle(guider_ui.screensaver_clock_second, angle);
//分
angle=now%3600;//0.1° now的单位是秒
//printf("mm:%d\r\n",angle);
lv_img_set_angle(guider_ui.screensaver_clock_min, angle);
//时
angle=((timeinfo.tm_hour%12)*60+timeinfo.tm_min)*5;//0.5°
//printf("hh-angle:%d\r\n",angle);
lv_img_set_angle(guider_ui.screensaver_clock_hour, angle);//
}
if(guider_ui.dateinfopage)//时间开关页
{
lv_label_set_text_fmt(guider_ui.dateinfopage_timetxtlabel,"%02d:%02d",timeinfo.tm_hour,timeinfo.tm_min);
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.dateinfopage_datetxtlabel,"%d年%d月%d日",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday);
}
else
{
lv_label_set_text_fmt(guider_ui.dateinfopage_datetxtlabel,"%s %d, %d",Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
}
if(guider_ui.scene)//情景页时间
{
lv_label_set_text_fmt(guider_ui.scene_timelabel,"%02d:%02d",timeinfo.tm_hour,timeinfo.tm_min);
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.scene_datelabel,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.scene_datelabel,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
}
#if defined(CONFIG_USER_RELAY_1)
if(guider_ui.onofftime1)//
{
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.onofftime1_clock_time,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
lv_label_set_text_fmt(guider_ui.onofftime1_clock_date,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.onofftime1_clock_time,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
lv_label_set_text_fmt(guider_ui.onofftime1_clock_date,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
int16_t angle=timeinfo.tm_sec*60;//一圈是60秒 1秒是1格 每秒6°(精度0.1° 所以是60代表6°)
//printf("ss:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime1_clock_second, angle);
//分
angle=now%3600;//0.1° now的单位是秒
//printf("mm:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime1_clock_min, angle);
//时
angle=((timeinfo.tm_hour%12)*60+timeinfo.tm_min)*5;//0.5°
//printf("hh-angle:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime1_clock_hour, angle);//
}
#endif
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onofftime2)//
{
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.onofftime2_clock_time,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
lv_label_set_text_fmt(guider_ui.onofftime2_clock_date,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.onofftime2_clock_time,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
lv_label_set_text_fmt(guider_ui.onofftime2_clock_date,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
int16_t angle=timeinfo.tm_sec*60;//一圈是60秒 1秒是1格 每秒6°(精度0.1° 所以是60代表6°)
//printf("ss:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime2_clock_second, angle);
//分
angle=now%3600;//0.1° now的单位是秒
//printf("mm:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime2_clock_min, angle);
//时
angle=((timeinfo.tm_hour%12)*60+timeinfo.tm_min)*5;//0.5°
//printf("hh-angle:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime2_clock_hour, angle);//
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onofftime3)//
{
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.onofftime3_clock_time,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
lv_label_set_text_fmt(guider_ui.onofftime3_clock_date,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.onofftime3_clock_time,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
lv_label_set_text_fmt(guider_ui.onofftime3_clock_date,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
int16_t angle=timeinfo.tm_sec*60;//一圈是60秒 1秒是1格 每秒6°(精度0.1° 所以是60代表6°)
//printf("ss:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime3_clock_second, angle);
//分
angle=now%3600;//0.1° now的单位是秒
//printf("mm:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime3_clock_min, angle);
//时
angle=((timeinfo.tm_hour%12)*60+timeinfo.tm_min)*5;//0.5°
//printf("hh-angle:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime3_clock_hour, angle);//
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onofftime4)//
{
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
lv_label_set_text_fmt(guider_ui.onofftime4_clock_time,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
lv_label_set_text_fmt(guider_ui.onofftime4_clock_date,"%d年%d月%d日,%s",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday,Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN]);
}
else
{
lv_label_set_text_fmt(guider_ui.onofftime4_clock_time,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
lv_label_set_text_fmt(guider_ui.onofftime4_clock_date,"%s %s %d, %d",Menu_List[GET_nvs_Sys_Info_language()][timeinfo.tm_wday+MENU_LIST_SUN],Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900);
}
int16_t angle=timeinfo.tm_sec*60;//一圈是60秒 1秒是1格 每秒6°(精度0.1° 所以是60代表6°)
//printf("ss:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime4_clock_second, angle);
//分
angle=now%3600;//0.1° now的单位是秒
//printf("mm:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime4_clock_min, angle);
//时
angle=((timeinfo.tm_hour%12)*60+timeinfo.tm_min)*5;//0.5°
//printf("hh-angle:%d\r\n",angle);
lv_img_set_angle(guider_ui.onofftime4_clock_hour, angle);//
}
#endif
}
break;
case ZIG_STATE_RTC_UPDATE://更新显示
{
}
break;
case ZIG_STATE_RTC_RUNING://更新显示
{
}
break;
case ZIG_STATE_CONFIG_NOT_JION://未入网
{
LOG_I_LINE("NOT_JION");
if(guider_ui.smartinfopage)
{
if(guider_ui.smartinfopage_networklabel)
{
lv_label_set_text(guider_ui.smartinfopage_networklabel,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfigNOT_JION]);
}
}
}
break;
case ZIG_STATE_CONFIG_JOINING://入网中
{//改定时器周期为500ms
LOG_I_LINE("JOINING");
guider_ui.screensaverflag=1;
if(guider_ui.smartinfopage)
{
if(guider_ui.smartinfopage_networklabel)
{
lv_label_set_text(guider_ui.smartinfopage_networklabel,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfig_JOINING]);
}
if(animationtimer)
{
lv_timer_set_period(animationtimer,500);
}
}
}
break;
case ZIG_STATE_CONFIG_GATEWAY://已入网
{//改定时器周期为100ms
LOG_I_LINE("JOIN_GATEWAY");
if(guider_ui.smartinfopage)
{
if(guider_ui.smartinfopage_networklabel)
{
lv_label_set_text(guider_ui.smartinfopage_networklabel,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfigJOIN_GATEWAY]);
}
if(animationtimer)
{
lv_timer_set_period(animationtimer,20);
smartconfigfag=ZIG_STATE_CONFIG_GATEWAY;
}
}
}
break;
case ZIG_STATE_CONFIG_ERROR://错误直接提示 停止定时器了
case ZIG_STATE_CONFIG_GATEWAY1://已入网 入网修改定时器周期 加快进行到100%
case ZIG_STATE_CONFIG_TIMEOUT://入网超时
{
if(guider_ui.smartinfopage)
{
if(animationtimer)//停止lvgl定时器
{
printf("del animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
}
else
{
printf("animationtimer null\r\n");
}
if(smartconfigobj)
{
printf("del smartinfobg before\r\n");
lv_obj_clean(smartconfigobj);
lv_obj_del(smartconfigobj);//自动删除smartlabel smartarc对象
smartconfigobj=NULL;
printf("del smartinfobg after\r\n");
//lv_obj_t * smartconfigmbox = lv_msgbox_create(NULL, NULL, "This is a message box with two buttons.", btns_eng, false);
//
//// //Write style state: LV_STATE_DEFAULT for style_upgradeprocesspage_msgbox_1_extra_title_main_default
//// static lv_style_t style_upgradeprocesspage_msgbox_1_extra_title_main_default;
//// lv_style_reset(&style_upgradeprocesspage_msgbox_1_extra_title_main_default);
//// lv_style_set_text_font(&style_upgradeprocesspage_msgbox_1_extra_title_main_default, &lv_font_simsun_16);
//// lv_style_set_text_align(&style_upgradeprocesspage_msgbox_1_extra_title_main_default, LV_TEXT_ALIGN_CENTER);
//// lv_obj_add_style(lv_msgbox_get_title(mbox1), &style_upgradeprocesspage_msgbox_1_extra_title_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
//
// //Write style state: LV_STATE_DEFAULT for style_upgradeprocesspage_msgbox_1_extra_content_main_default
// static lv_style_t style_upgradeprocesspage_msgbox_1_extra_content_main_default;
// lv_style_reset(&style_upgradeprocesspage_msgbox_1_extra_content_main_default);
// lv_style_set_text_font(&style_upgradeprocesspage_msgbox_1_extra_content_main_default, &lv_font_simsun_16);
// lv_style_set_text_align(&style_upgradeprocesspage_msgbox_1_extra_content_main_default, LV_TEXT_ALIGN_CENTER);
// lv_obj_add_style(lv_msgbox_get_text(smartconfigmbox), &style_upgradeprocesspage_msgbox_1_extra_content_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
//
// //Write style state: LV_STATE_DEFAULT for style_upgradeprocesspage_msgbox_1_extra_btns_items_default
// static lv_style_t style_upgradeprocesspage_msgbox_1_extra_btns_items_default;
// lv_style_reset(&style_upgradeprocesspage_msgbox_1_extra_btns_items_default);
// lv_style_set_text_font(&style_upgradeprocesspage_msgbox_1_extra_btns_items_default, &lv_font_simsun_16);
// lv_style_set_text_align(&style_upgradeprocesspage_msgbox_1_extra_btns_items_default, LV_TEXT_ALIGN_CENTER);
// lv_obj_add_style(lv_msgbox_get_btns(smartconfigmbox), &style_upgradeprocesspage_msgbox_1_extra_btns_items_default, LV_PART_ITEMS|LV_STATE_DEFAULT);
// lv_obj_set_size(lv_msgbox_get_btns(smartconfigmbox), 250, 50);
// //lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(lv_msgbox_get_title(smartconfigmbox), &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(lv_msgbox_get_title(smartconfigmbox), LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
// lv_obj_set_style_text_font(lv_msgbox_get_text(smartconfigmbox), &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
// lv_obj_set_style_text_align(lv_msgbox_get_text(smartconfigmbox), LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
//
// lv_obj_set_style_text_font(lv_msgbox_get_btns(smartconfigmbox), &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
// lv_obj_set_size(lv_msgbox_get_btns(smartconfigmbox), 250, 50);
//
// lv_obj_center(smartconfigmbox);
//
// lv_obj_add_event_cb(smartconfigmbox,smartconfig_msgbox_callback, LV_EVENT_ALL, NULL);
lv_obj_t * mbox1=NULL;
if(evt.event==ZIG_STATE_CONFIG_GATEWAY1)
{
mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfigsuss], btns_chs[GET_nvs_Sys_Info_language()], false);
}
else if(evt.event==ZIG_STATE_CONFIG_ERROR)
{
LOG_I_LINE("JOIN_ERROR");
mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfigerror], btns_chs[GET_nvs_Sys_Info_language()], false);
}
else //if(evt.event==ZIG_STATE_CONFIG_TIMEOUT)
{
LOG_I_LINE("JOIN_TIMEROUT");
mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_smartconfigtimeout], btns_chs[GET_nvs_Sys_Info_language()], false);
}
//lv_obj_set_style_text_font(lv_msgbox_get_title(mbox1), &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
//lv_obj_set_style_text_align(lv_msgbox_get_title(mbox1), LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(lv_msgbox_get_text(mbox1), &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(lv_msgbox_get_text(mbox1), LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(lv_msgbox_get_btns(mbox1), &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1,smartconfig_msgbox_callback, LV_EVENT_ALL, NULL);
}
else
{
printf("smartconfigobj null\r\n");
}
}
}
break;
//-------------------------------更新显示的icon和文字
case ZIG_STATE_Update_icon_name:
{
LOG_I_LINE("custom:dpid:%d",evt.length);
//区分是设置哪个的
if((evt.length>=24)&&(evt.length<=27))//设置开关的(1~4路)
{//app从0开始 t3e-pro从1开始
if(evt.length==24) //1路
{
#if defined(CONFIG_USER_RELAY_1)
if(guider_ui.onoff1)
{
lv_img_set_src(guider_ui.onoff1_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onoff1_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
else if(guider_ui.onofftime1)
{
lv_img_set_src(guider_ui.onofftime1_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onofftime1_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onoff2_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onofftime2_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onoff3_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onofftime3_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onoff4_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw1_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay1icon()]);
lv_label_set_text_fmt(guider_ui.onofftime4_sw1_label, "%s",nvs_Sys_Info_SysInfo.relay1.Label);
}
#endif
}
#if defined(CONFIG_USER_RELAY_2)||defined(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
else if(evt.length==25)//2路
{
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onoff2_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onofftime2_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onoff3_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onofftime3_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onoff4_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw2_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay2icon()]);
lv_label_set_text_fmt(guider_ui.onofftime4_sw2_label, "%s",nvs_Sys_Info_SysInfo.relay2.Label);
}
#endif
}
#endif
#if defined(CONFIG_USER_RELAY_3) ||defined(CONFIG_USER_RELAY_4)
else if(evt.length==26) //3路
{
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw3_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay3icon()]);
lv_label_set_text_fmt(guider_ui.onoff3_sw3_label, "%s",nvs_Sys_Info_SysInfo.relay3.Label);
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw3_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay3icon()]);
lv_label_set_text_fmt(guider_ui.onofftime3_sw3_label, "%s",nvs_Sys_Info_SysInfo.relay3.Label);
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw3_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay3icon()]);
lv_label_set_text_fmt(guider_ui.onoff4_sw3_label, "%s",nvs_Sys_Info_SysInfo.relay3.Label);
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw3_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay3icon()]);
lv_label_set_text_fmt(guider_ui.onofftime4_sw3_label, "%s",nvs_Sys_Info_SysInfo.relay3.Label);
}
#endif
}
#endif
#if defined(CONFIG_USER_RELAY_4)
else if(evt.length==27) //4路
{
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw4_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay4icon()]);
lv_label_set_text_fmt(guider_ui.onoff4_sw4_label, "%s",nvs_Sys_Info_SysInfo.relay4.Label);
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw4_light_icon,onoff_switchlight_icon_ary[GET_nvs_Sys_Info_relay4icon()]);
lv_label_set_text_fmt(guider_ui.onofftime4_sw4_label, "%s",nvs_Sys_Info_SysInfo.relay4.Label);
}
}
#endif
}
else if((evt.length>=1)&&(evt.length<=8))//首屏场景1~8)
{//1234路均有8路首屏场景功能
if(evt.length==1)
{
if( strlen((const char*)nvs_SysInfo.scen_array[0].Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.scene_s1_label, "%s",nvs_SysInfo.scen_array[0].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s1_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence11]);
}
}
else if(evt.length==2)
{
if( strlen((const char*)nvs_SysInfo.scen_array[1].Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.scene_s2_label, "%s",nvs_SysInfo.scen_array[1].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s2_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence12]);
}
}
else if(evt.length==3)
{
if( strlen((const char*)nvs_SysInfo.scen_array[2].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s3_label, "%s",nvs_SysInfo.scen_array[2].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s3_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence13]);
}
}
else if(evt.length==4)
{
if( strlen((const char*)nvs_SysInfo.scen_array[3].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s4_label, "%s",nvs_SysInfo.scen_array[3].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s4_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence14]);
}
}
//第二页
else if(evt.length==5)
{
if( strlen((const char*)nvs_SysInfo.scen_array[4].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s5_label, "%s",nvs_SysInfo.scen_array[4].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s5_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence21]);
}
}
else if(evt.length==6)
{
if( strlen((const char*)nvs_SysInfo.scen_array[5].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s6_label, "%s",nvs_SysInfo.scen_array[5].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s6_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence22]);
}
}
else if(evt.length==7)
{
if( strlen((const char*)nvs_SysInfo.scen_array[6].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s7_label, "%s",nvs_SysInfo.scen_array[6].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s7_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence23]);
}
}
else if(evt.length==8)
{
if( strlen((const char*)nvs_SysInfo.scen_array[7].Label) )
{
lv_label_set_text_fmt(guider_ui.scene_s8_label, "%s",nvs_SysInfo.scen_array[7].Label);
}
else
{
lv_label_set_text(guider_ui.scene_s8_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Scence24]);
}
}
}
else if((evt.length>=142)&&(evt.length<=157))//场景开关142~157
{
if(evt.length==DPID_SCENE_SWITCH1_1) //场景1-1
{
//判断子设备页
if(guider_ui.device_gang1cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang1_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang1swlabel_1, "%s",nvs_Sys_Info_SysInfo.gang1_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang1swlabel_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG11]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff1)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang1_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff1_key1label_1, "%s",nvs_Sys_Info_SysInfo.gang1_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff1_key1label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG11]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH2_1)//场景2-1
{
//判断子设备页
if(guider_ui.device_gang2cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang2_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang2swlabel_1, "%s",nvs_Sys_Info_SysInfo.gang2_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang2swlabel_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG21]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff2)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang2_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff2_key1label_1, "%s",nvs_Sys_Info_SysInfo.gang2_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff2_key1label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG21]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH2_2)//场景2-2
{
//判断子设备页
if(guider_ui.device_gang2cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang2_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang2swlabel_2, "%s",nvs_Sys_Info_SysInfo.gang2_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang2swlabel_2,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG22]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff2)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang2_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff2_key2label_1, "%s",nvs_Sys_Info_SysInfo.gang2_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff2_key2label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG22]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH3_1)//场景3-1
{
//判断子设备页
if(guider_ui.device_gang3cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang3swlabel_1, "%s",nvs_Sys_Info_SysInfo.gang3_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang3swlabel_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG31]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff3)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff3_key1label_1, "%s",nvs_Sys_Info_SysInfo.gang3_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff3_key1label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG31]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH3_2)//场景3-2
{
//判断子设备页
if(guider_ui.device_gang3cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang3swlabel_2, "%s",nvs_Sys_Info_SysInfo.gang3_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang3swlabel_2,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG32]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff3)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff3_key2label_1, "%s",nvs_Sys_Info_SysInfo.gang3_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff3_key2label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG32]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH3_3)//场景3-3
{
//判断子设备页
if(guider_ui.device_gang3cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang3swlabel_3, "%s",nvs_Sys_Info_SysInfo.gang3_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang3swlabel_3,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG33]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff3)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff3_key3label_1, "%s",nvs_Sys_Info_SysInfo.gang3_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff3_key3label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG33]);
}
} //判断子设备页
if(guider_ui.device_gang3cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang3swlabel_3, "%s",nvs_Sys_Info_SysInfo.gang3_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang3swlabel_3,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG33]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff3)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang3_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff3_key3label_1, "%s",nvs_Sys_Info_SysInfo.gang3_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff3_key3label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG33]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH4_1)//场景4-1
{
//判断子设备页
if(guider_ui.device_gang4cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang4swlabel_1, "%s",nvs_Sys_Info_SysInfo.gang4_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang4swlabel_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG41]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff4)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff4_key1label_1, "%s",nvs_Sys_Info_SysInfo.gang4_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff4_key1label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG41]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH4_2)//场景4-2
{
//判断子设备页
if(guider_ui.device_gang4cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang4swlabel_2, "%s",nvs_Sys_Info_SysInfo.gang4_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang4swlabel_2,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG42]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff4)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff4_key2label_1, "%s",nvs_Sys_Info_SysInfo.gang4_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff4_key2label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG42]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH4_3)//场景4-3
{
//判断子设备页
if(guider_ui.device_gang4cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang4swlabel_3, "%s",nvs_Sys_Info_SysInfo.gang4_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang4swlabel_3,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG43]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff4)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff4_key3label_1, "%s",nvs_Sys_Info_SysInfo.gang4_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff4_key3label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG43]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH4_4)//场景4-4
{
//判断子设备页
if(guider_ui.device_gang4cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw4.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang4swlabel_4, "%s",nvs_Sys_Info_SysInfo.gang4_sw4.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang4swlabel_4,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG44]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff4)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang4_sw4.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff4_key4label_1, "%s",nvs_Sys_Info_SysInfo.gang4_sw4.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff4_key4label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG44]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_1)//场景6-1
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG61]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw1.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key1label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw1.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key1label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG61]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_2)//场景6-2
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_2, "%s",nvs_Sys_Info_SysInfo.gang6_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_2,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG62]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw2.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key2label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw2.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key2label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG62]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_3)//场景6-3
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_3, "%s",nvs_Sys_Info_SysInfo.gang6_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_3,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG63]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw3.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key3label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw3.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key3label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG63]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_4)//场景6-4
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw4.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_4, "%s",nvs_Sys_Info_SysInfo.gang6_sw4.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_4,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG64]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw4.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key4label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw4.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key4label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG64]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_5)//场景6-5
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw5.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_5, "%s",nvs_Sys_Info_SysInfo.gang6_sw5.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_5,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG65]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw5.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key5label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw5.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key5label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG65]);
}
}
}
else if(evt.length==DPID_SCENE_SWITCH6_6)//场景6-6
{
//判断子设备页
if(guider_ui.device_gang6cont)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw6.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.device_gang6swlabel_6, "%s",nvs_Sys_Info_SysInfo.gang6_sw6.Label);
}
else
{
lv_label_set_text(guider_ui.device_gang6swlabel_6,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG66]);
}
}
//判断详情是否存在
if(guider_ui.gangonoff6)
{
if( strlen((const char*)nvs_Sys_Info_SysInfo.gang6_sw6.Label) )//用户自己设置的文字(自由设置 不分语言)
{
lv_label_set_text_fmt(guider_ui.gangonoff6_key6label_1, "%s",nvs_Sys_Info_SysInfo.gang6_sw6.Label);
}
else
{
lv_label_set_text(guider_ui.gangonoff6_key6label_1,Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_GANG66]);
}
}
}
}
else if((evt.length>=121)&&(evt.length<=124))//4个调光群组用对应调光开关状态的dpid121~124
{
if(evt.length==121)
{
if(strlen(nvs_SysInfo.downlights[0].Label))
{
lv_label_set_text_fmt(guider_ui.dimmer_group1_infobtn_label,"%s",nvs_SysInfo.downlights[0].Label);
}
else
{
lv_label_set_text(guider_ui.dimmer_group1_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_dimmer_group1_infobtn]);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[0])
{
LOG_I_LINE("updata dimmerinfo name");
if(strlen(nvs_SysInfo.downlights[0].Label))
{
lv_label_set_text_fmt(guider_ui.dimmerinfo_namelabel,"%s",nvs_SysInfo.downlights[0].Label);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[0]");
}
}
else if(evt.length==122)
{
if(strlen(nvs_SysInfo.downlights[1].Label))
{
lv_label_set_text_fmt(guider_ui.dimmer_group2_infobtn_label,"%s",nvs_SysInfo.downlights[1].Label);
}
else
{
lv_label_set_text(guider_ui.dimmer_group2_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_dimmer_group2_infobtn]);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[1])
{
LOG_I_LINE("updata dimmerinfo name");
if(strlen(nvs_SysInfo.downlights[1].Label))
{
lv_label_set_text_fmt(guider_ui.dimmerinfo_namelabel,"%s",nvs_SysInfo.downlights[1].Label);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[1]");
}
}
else if(evt.length==123)
{
if(strlen(nvs_SysInfo.downlights[2].Label))
{
lv_label_set_text_fmt(guider_ui.dimmer_group3_infobtn_label,"%s",nvs_SysInfo.downlights[2].Label);
}
else
{
lv_label_set_text(guider_ui.dimmer_group3_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_dimmer_group3_infobtn]);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[2])
{
LOG_I_LINE("updata dimmerinfo name");
if(strlen(nvs_SysInfo.downlights[2].Label))
{
lv_label_set_text_fmt(guider_ui.dimmerinfo_namelabel,"%s",nvs_SysInfo.downlights[2].Label);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[2]");
}
}
else if(evt.length==124)
{
if(strlen(nvs_SysInfo.downlights[3].Label))
{
lv_label_set_text_fmt(guider_ui.dimmer_group4_infobtn_label,"%s",nvs_SysInfo.downlights[3].Label);
}
else
{
lv_label_set_text(guider_ui.dimmer_group4_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_dimmer_group4_infobtn]);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[3])
{
LOG_I_LINE("updata dimmerinfo name");
if(strlen(nvs_SysInfo.downlights[3].Label))
{
lv_label_set_text_fmt(guider_ui.dimmerinfo_namelabel,"%s",nvs_SysInfo.downlights[3].Label);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[3]");
}
}
}
else if((evt.length>=133)&&(evt.length<=136))//4个窗帘群组用对应窗帘状态的dpid区分133~136
{
if(evt.length==133)
{
if(strlen(nvs_SysInfo.curtains[0].Label))
{
lv_label_set_text_fmt(guider_ui.curtain_group1_infobtn_label,"%s",nvs_SysInfo.curtains[0].Label);
}
else
{
lv_label_set_text(guider_ui.curtain_group1_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Curtain_group1_infobtn]);
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[0])
{
LOG_I_LINE("updata curtaininfo name");
if(strlen(nvs_SysInfo.curtains[0].Label))
{
lv_label_set_text_fmt(guider_ui.curtaininfo_namelabel,"%s",nvs_SysInfo.curtains[0].Label);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[0]");
}
}
else if(evt.length==134)
{
if(strlen(nvs_SysInfo.curtains[1].Label))
{
lv_label_set_text_fmt(guider_ui.curtain_group2_infobtn_label,"%s",nvs_SysInfo.curtains[1].Label);
}
else
{
lv_label_set_text(guider_ui.curtain_group2_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Curtain_group2_infobtn]);
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[1])
{
LOG_I_LINE("updata curtaininfo name");
if(strlen(nvs_SysInfo.curtains[1].Label))
{
lv_label_set_text_fmt(guider_ui.curtaininfo_namelabel,"%s",nvs_SysInfo.curtains[1].Label);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[1]");
}
}
else if(evt.length==135)
{
if(strlen(nvs_SysInfo.curtains[2].Label))
{
lv_label_set_text_fmt(guider_ui.curtain_group3_infobtn_label,"%s",nvs_SysInfo.curtains[2].Label);
}
else
{
lv_label_set_text(guider_ui.curtain_group3_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Curtain_group3_infobtn]);
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[2])
{
LOG_I_LINE("updata curtaininfo name");
if(strlen(nvs_SysInfo.curtains[2].Label))
{
lv_label_set_text_fmt(guider_ui.curtaininfo_namelabel,"%s",nvs_SysInfo.curtains[2].Label);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[2]");
}
}
else if(evt.length==136)
{
if(strlen(nvs_SysInfo.curtains[3].Label))
{
lv_label_set_text_fmt(guider_ui.curtain_group4_infobtn_label,"%s",nvs_SysInfo.curtains[3].Label);
}
else
{
lv_label_set_text(guider_ui.curtain_group4_infobtn_label, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Curtain_group4_infobtn]);
}
if(!guider_ui.rollersinfo)//是否存在
{
LOG_I_LINE("rollersinfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[3])
{
LOG_I_LINE("updata rollersinfo name");
if(strlen(nvs_SysInfo.curtains[3].Label))
{
lv_label_set_text_fmt(guider_ui.rollersinfo_namelabel,"%s",nvs_SysInfo.curtains[3].Label);
}
}
else
{
LOG_I_LINE("rollersinfo is not equal curtains[3]");
}
}
}
}
break;
//------------------------------开关控制(界面触摸和app下发的都会统一到这里处理)
#if defined(CONFIG_USER_RELAY_1)||defined(CONFIG_USER_RELAY_2)||defined(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
case ZIG_STATE_1on:
{
LOG_I_LINE("1 on");
SET_nvs_Sys_Info_relay1(1);
gpio_set_level(CONFIG_RELAY_1_OUT_PIN,1);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
//#if defined(CONFIG_USER_RELAY_1)||(CONFIG_USER_RELAY_2)||(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
#if defined(CONFIG_USER_RELAY_1)
if(guider_ui.onoff1)
{
lv_img_set_src(guider_ui.onoff1_sw1bg,LVGL_PATH(onoff1_1on.png));
}
else if(guider_ui.onofftime1)
{
lv_img_set_src(guider_ui.onofftime1_sw1bg,LVGL_PATH(onofftime1_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw1bg,LVGL_PATH(onoff2_1on.png));
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw1bg,LVGL_PATH(onofftime2_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1on.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw1bg,LVGL_PATH(onofftime3_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw1bg,LVGL_PATH(onoff4_1on.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw1bg,LVGL_PATH(onofftime4_on.png));
}
#endif
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(USERNVSStates));
}
break;
case ZIG_STATE_1off:
{
LOG_I_LINE("1 off");
SET_nvs_Sys_Info_relay1(0);
gpio_set_level(CONFIG_RELAY_1_OUT_PIN,0);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
//#if defined(CONFIG_USER_RELAY_1)||(CONFIG_USER_RELAY_2)||(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
#if defined(CONFIG_USER_RELAY_1)
if(guider_ui.onoff1)
{
lv_img_set_src(guider_ui.onoff1_sw1bg,LVGL_PATH(onoff1_1off.png));
}
else if(guider_ui.onofftime1)
{
lv_img_set_src(guider_ui.onofftime1_sw1bg,LVGL_PATH(onofftime1_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw1bg,LVGL_PATH(onoff2_1off.png));
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw1bg,LVGL_PATH(onofftime2_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw1bg,LVGL_PATH(onoff3_1off.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw1bg,LVGL_PATH(onofftime3_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw1bg,LVGL_PATH(onoff4_1off.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw1bg,LVGL_PATH(onofftime4_off.png));
}
#endif
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(USERNVSStates));
}
break;
#endif
#if defined(CONFIG_USER_RELAY_2)||defined(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
case ZIG_STATE_2on:
{
LOG_I_LINE("2 on");
SET_nvs_Sys_Info_relay2(1);
gpio_set_level(CONFIG_RELAY_2_OUT_PIN,1);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw2bg,LVGL_PATH(onoff2_2on.png));
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw2bg,LVGL_PATH(onofftime2_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2on.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw2bg,LVGL_PATH(onofftime3_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw2bg,LVGL_PATH(onoff4_2on.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw2bg,LVGL_PATH(onofftime4_on.png));
}
#endif
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_2off:
{
LOG_I_LINE("2 off");
SET_nvs_Sys_Info_relay2(0);
gpio_set_level(CONFIG_RELAY_2_OUT_PIN,0);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
#if defined(CONFIG_USER_RELAY_2)
if(guider_ui.onoff2)
{
lv_img_set_src(guider_ui.onoff2_sw2bg,LVGL_PATH(onoff2_2off.png));
}
else if(guider_ui.onofftime2)
{
lv_img_set_src(guider_ui.onofftime2_sw2bg,LVGL_PATH(onofftime2_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw2bg,LVGL_PATH(onoff3_2off.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw2bg,LVGL_PATH(onofftime3_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw2bg,LVGL_PATH(onoff4_2off.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw2bg,LVGL_PATH(onofftime4_off.png));
}
#endif
}
break;
#endif
#if defined(CONFIG_USER_RELAY_3)||defined(CONFIG_USER_RELAY_4)
case ZIG_STATE_3on:
{
LOG_I_LINE("3 on");
SET_nvs_Sys_Info_relay3(1);
gpio_set_level(CONFIG_RELAY_3_OUT_PIN,1);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3on.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw3bg,LVGL_PATH(onofftime3_on.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw3bg,LVGL_PATH(onoff4_3on.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw3bg,LVGL_PATH(onofftime4_on.png));
}
#endif
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_3off:
{
LOG_I_LINE("3 off");
SET_nvs_Sys_Info_relay3(0);
gpio_set_level(CONFIG_RELAY_3_OUT_PIN,0);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
#if defined(CONFIG_USER_RELAY_3)
if(guider_ui.onoff3)
{
lv_img_set_src(guider_ui.onoff3_sw3bg,LVGL_PATH(onoff3_3off.png));
}
else if(guider_ui.onofftime3)
{
lv_img_set_src(guider_ui.onofftime3_sw3bg,LVGL_PATH(onofftime3_off.png));
}
#endif
#if defined(CONFIG_USER_RELAY_4)
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw3bg,LVGL_PATH(onoff4_3off.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw3bg,LVGL_PATH(onofftime4_off.png));
}
#endif
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
#endif
//-----------
#if defined(CONFIG_USER_RELAY_4)
case ZIG_STATE_4on:
{
LOG_I_LINE("4 on");
SET_nvs_Sys_Info_relay4(1);
gpio_set_level(CONFIG_RELAY_4_OUT_PIN,1);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw4bg,LVGL_PATH(onoff4_4on.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw4bg,LVGL_PATH(onofftime4_on.png));
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_4off:
{
LOG_I_LINE("4 off");
SET_nvs_Sys_Info_relay4(0);
gpio_set_level(CONFIG_RELAY_4_OUT_PIN,0);
nvs_eepom_sysInfo_update();//状态保存到本地,实现再次上电是否记忆的功能
if(guider_ui.onoff4)
{
lv_img_set_src(guider_ui.onoff4_sw4bg,LVGL_PATH(onoff4_4off.png));
}
else if(guider_ui.onofftime4)
{
lv_img_set_src(guider_ui.onofftime4_sw4bg,LVGL_PATH(onofftime4_off.png));
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
#endif
//=======================灯群控
//灯群1
case ZIG_STATE_light1_switch_led://开关
{
LOG_I_LINE("light1_switch:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[0].status=evt.length;
nvs_eepom_sysInfo_update();
//改变按钮的状态
if(evt.length)
{
lv_img_set_src(guider_ui.dimmer_group1_onoffbtnimg, LVGL_PATH(dimmer_on_btn.png));
////允许滑动
//lv_obj_clear_state(guider_ui.dimmer_group1_slider_temp, LV_STATE_DISABLED);
//lv_obj_clear_state(guider_ui.dimmer_group1_slider_cold, LV_STATE_DISABLED);
}
else
{
lv_img_set_src(guider_ui.dimmer_group1_onoffbtnimg, LVGL_PATH(dimmer_off_btn.png));
////禁止滑动
//lv_obj_add_state(guider_ui.dimmer_group1_slider_temp, LV_STATE_DISABLED);
//lv_obj_add_state(guider_ui.dimmer_group1_slider_cold, LV_STATE_DISABLED);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[0])
{
LOG_I_LINE("dimmerinfo is equal downlights[0]");
//改变按钮的状态
if(evt.length)
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
}
else
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[0]");
}
}
break;
case ZIG_STATE_light1_temp: //色温
{
LOG_I_LINE("light1_temp:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[0].colortemperature=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group1_slider_temp, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group1_tempagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[0])
{
LOG_I_LINE("dimmerinfo is equal downlights[0]");
lv_slider_set_value(guider_ui.dimmerinfo_tempslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_temppercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[0]");
}
}
break;
case ZIG_STATE_light1_bright: //亮度
{
LOG_I_LINE("light1_cold:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[0].brightness=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group1_slider_cold, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group1_coldagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[0])
{
LOG_I_LINE("dimmerinfo is equal downlights[0]");
lv_slider_set_value(guider_ui.dimmerinfo_coldslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_coldpercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[0]");
}
}
break;
//灯群2
case ZIG_STATE_light2_switch_led://开关
{
LOG_I_LINE("light2_switch:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[1].status=evt.length;
nvs_eepom_sysInfo_update();
//改变按钮的状态
if(evt.length)
{
lv_img_set_src(guider_ui.dimmer_group2_onoffbtnimg, LVGL_PATH(dimmer_on_btn.png));
////允许滑动
//lv_obj_clear_state(guider_ui.dimmer_group2_onoffbtnimg, LV_STATE_DISABLED);
//lv_obj_clear_state(guider_ui.dimmer_group2_slider_cold, LV_STATE_DISABLED);
}
else
{
lv_img_set_src(guider_ui.dimmer_group2_onoffbtnimg, LVGL_PATH(dimmer_off_btn.png));
////禁止滑动
//lv_obj_add_state(guider_ui.dimmer_group2_slider_temp, LV_STATE_DISABLED);
//lv_obj_add_state(guider_ui.dimmer_group2_slider_cold, LV_STATE_DISABLED);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[1])
{
LOG_I_LINE("dimmerinfo is equal downlights[1]");
//改变按钮的状态
if(evt.length)
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
}
else
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[1]");
}
}
break;
case ZIG_STATE_light2_temp: //色温
{
LOG_I_LINE("light2_temp:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[1].colortemperature=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group2_slider_temp, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group2_tempagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[1])
{
LOG_I_LINE("dimmerinfo is equal downlights[1]");
lv_slider_set_value(guider_ui.dimmerinfo_tempslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_temppercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[1]");
}
}
break;
case ZIG_STATE_light2_bright: //亮度
{
LOG_I_LINE("light2_cold:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[1].brightness=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group2_slider_cold, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group2_coldagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[1])
{
LOG_I_LINE("dimmerinfo is equal downlights[1]");
lv_slider_set_value(guider_ui.dimmerinfo_coldslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_coldpercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[1]");
}
}
break;
//灯群3
case ZIG_STATE_light3_switch_led://开关
{
LOG_I_LINE("light3_switch:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[2].status=evt.length;
nvs_eepom_sysInfo_update();
//改变按钮的状态
if(evt.length)
{
lv_img_set_src(guider_ui.dimmer_group3_onoffbtnimg, LVGL_PATH(dimmer_on_btn.png));
////允许滑动
//lv_obj_clear_state(guider_ui.dimmer_group3_slider_temp, LV_STATE_DISABLED);
//lv_obj_clear_state(guider_ui.dimmer_group3_slider_cold, LV_STATE_DISABLED);
}
else
{
lv_img_set_src(guider_ui.dimmer_group3_onoffbtnimg, LVGL_PATH(dimmer_off_btn.png));
////禁止滑动
//lv_obj_add_state(guider_ui.dimmer_group3_slider_temp, LV_STATE_DISABLED);
//lv_obj_add_state(guider_ui.dimmer_group3_slider_cold, LV_STATE_DISABLED);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[2])
{
LOG_I_LINE("dimmerinfo is equal downlights[2]");
//改变按钮的状态
if(evt.length)
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
}
else
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[2]");
}
}
break;
case ZIG_STATE_light3_temp: //色温
{
LOG_I_LINE("light3_temp:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[2].colortemperature=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group3_slider_temp, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group3_tempagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[2])
{
LOG_I_LINE("dimmerinfo is equal downlights[2]");
lv_slider_set_value(guider_ui.dimmerinfo_tempslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_temppercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[2]");
}
}
break;
case ZIG_STATE_light3_bright: //亮度
{
LOG_I_LINE("light3_cold:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[2].brightness=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group3_slider_cold, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group3_coldagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[2])
{
LOG_I_LINE("dimmerinfo is equal downlights[2]");
lv_slider_set_value(guider_ui.dimmerinfo_coldslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_coldpercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[2]");
}
}
break;
//灯群4
case ZIG_STATE_light4_switch_led://开关
{
LOG_I_LINE("light4_switch:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[3].status=evt.length;
nvs_eepom_sysInfo_update();
//改变按钮的状态
if(evt.length)
{
lv_img_set_src(guider_ui.dimmer_group4_onoffbtnimg, LVGL_PATH(dimmer_on_btn.png));
// //允许滑动
// lv_obj_clear_state(guider_ui.dimmer_group4_slider_temp, LV_STATE_DISABLED);
// lv_obj_clear_state(guider_ui.dimmer_group4_slider_cold, LV_STATE_DISABLED);
}
else
{
lv_img_set_src(guider_ui.dimmer_group4_onoffbtnimg, LVGL_PATH(dimmer_off_btn.png));
// //禁止滑动
// lv_obj_add_state(guider_ui.dimmer_group4_slider_temp, LV_STATE_DISABLED);
// lv_obj_add_state(guider_ui.dimmer_group4_slider_cold, LV_STATE_DISABLED);
}
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[3])
{
LOG_I_LINE("dimmerinfo is equal downlights[3]");
//改变按钮的状态
if(evt.length)
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_on_btn.png), NULL);
}
else
{
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
lv_imgbtn_set_src(guider_ui.dimmerinfo_onoffbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(dimmerinfo_off_btn.png), NULL);
}
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[3]");
}
}
break;
case ZIG_STATE_light4_temp: //色温
{
LOG_I_LINE("light4_temp:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[3].colortemperature=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group4_slider_temp, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group4_tempagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[3])
{
LOG_I_LINE("dimmerinfo is equal downlights[3]");
lv_slider_set_value(guider_ui.dimmerinfo_tempslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_temppercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[3]");
}
}
break;
case ZIG_STATE_light4_bright: //亮度
{
LOG_I_LINE("light4_cold:%d",evt.length);
//更新 保存
nvs_SysInfo.downlights[3].brightness=evt.length;
nvs_eepom_sysInfo_update();
lv_slider_set_value(guider_ui.dimmer_group4_slider_cold, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmer_group4_coldagelabel,"%d%%",evt.length);
if(!guider_ui.dimmerinfo)//是否存在
{
LOG_I_LINE("dimmerinfo is not");
break;
}
//是否匹配
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[3])
{
LOG_I_LINE("dimmerinfo is equal downlights[3]");
lv_slider_set_value(guider_ui.dimmerinfo_coldslider, evt.length, LV_ANIM_OFF);
lv_label_set_text_fmt(guider_ui.dimmerinfo_coldpercentlabel,"%d%%",evt.length);
}
else
{
LOG_I_LINE("dimmerinfo is not equal downlights[3]");
}
}
break;
//=======================窗帘群控
//窗帘1
case ZIG_STATE_Curtain1_status://状态 开/关/停
{ //枚举值: open, stop, close 对应于: 0, 1, 2
LOG_I_LINE("curtain1_status:%d",evt.length);
nvs_SysInfo.curtains[0].status=evt.length;
//改变按钮的状态
if(evt.length==1)//停
{
lv_img_set_src(guider_ui.curtain_group1_statusimg, LVGL_PATH(curtain_pause.png));
}
else if(evt.length==2)//关
{
lv_img_set_src(guider_ui.curtain_group1_statusimg, LVGL_PATH(curtain_close.png));
//nvs_SysInfo.curtains[0].pos=100;//修正百分比
}
else //if(evt.length==0)//开
{
lv_img_set_src(guider_ui.curtain_group1_statusimg, LVGL_PATH(curtain_open.png));
//nvs_SysInfo.curtains[0].pos=0;//修正百分比
}
//更新 保存
nvs_eepom_sysInfo_update();
if(animationtimer)
{
LOG_I_LINE("curtain1 del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
animcurtainposP=NULL;
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[0])
{
LOG_I_LINE("curtaininfo is equal curtains[0]");
LOG_I_LINE("curtain->pos=%d",curtain->pos);
//非动画方式
if(curtain->status==1)//停
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, curtain->percentage, LV_ANIM_OFF);
// //窗帘的状态
// if(curtain->percentage==0)
// {//开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
// }
// else
// {//关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
// }
}
else if(curtain->status==2)//关
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
//lv_slider_set_value(guider_ui.curtaininfo_slider_1, 100, LV_ANIM_OFF);
// //窗帘的状态
// //关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[0].pos;
animationtimer = lv_timer_create(custom_curtaininfo_timerclose,D_animcurtaininfo_period,NULL);
}
else //if(curtain->status==0)//开
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
//lv_slider_set_value(guider_ui.curtaininfo_slider_1, 0, LV_ANIM_OFF);
// //窗帘的状态
// //开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[0].pos; //0~100
animationtimer = lv_timer_create(custom_curtaininfo_timeropen,D_animcurtaininfo_period,NULL);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[0]");
}
}
break;
case ZIG_STATE_Curtain1_value: //百分比
{
LOG_I_LINE("curtain1_status:%d",evt.length);
// //更新 保存
// nvs_SysInfo.curtains[0].percentage=evt.length;
// nvs_eepom_sysInfo_update();
}
break;
//窗帘2
case ZIG_STATE_Curtain2_status://状态 开/关/停
{
LOG_I_LINE("curtain2_status:%d",evt.length);
//更新 保存
nvs_SysInfo.curtains[1].status=evt.length;
//改变按钮的状态
if(evt.length==1)//停
{
lv_img_set_src(guider_ui.curtain_group2_statusimg, LVGL_PATH(curtain_pause.png));
}
else if(evt.length==2)//关
{
lv_img_set_src(guider_ui.curtain_group2_statusimg, LVGL_PATH(curtain_close.png));
//nvs_SysInfo.curtains[1].percentage=100;//修正百分比
}
else //if(evt.length==0)//开
{
lv_img_set_src(guider_ui.curtain_group2_statusimg, LVGL_PATH(curtain_open.png));
//nvs_SysInfo.curtains[1].percentage=0;//修正百分比
}
nvs_eepom_sysInfo_update();
if(animationtimer)
{
LOG_I_LINE("curtain2 del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
animcurtainposP=NULL;
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[1])
{
LOG_I_LINE("curtaininfo is equal curtains[1]");
LOG_I_LINE("curtain->pos=%d",curtain->pos);
//非动画方式
if(curtain->status==1)//停
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, curtain->percentage, LV_ANIM_OFF);
// //窗帘的状态
// if(curtain->percentage==0)
// {//开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
// }
// else
// {//关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
// }
}
else if(curtain->status==2)//关
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, 100, LV_ANIM_OFF);
// //窗帘的状态
// //关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[1].pos;
animationtimer = lv_timer_create(custom_curtaininfo_timerclose,D_animcurtaininfo_period,NULL);
}
else //if(curtain->status==0)//开
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, 0, LV_ANIM_OFF);
// //窗帘的状态
// //开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[1].pos; //0~100
animationtimer = lv_timer_create(custom_curtaininfo_timeropen,D_animcurtaininfo_period,NULL);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[1]");
}
}
break;
case ZIG_STATE_Curtain2_value: //百分比
{
}
break;
//窗帘3
case ZIG_STATE_Curtain3_status://状态 开/关/停
{
LOG_I_LINE("curtain3_status:%d",evt.length);
//更新 保存
nvs_SysInfo.curtains[2].status=evt.length;
//改变按钮的状态
if(evt.length==1)//停
{
lv_img_set_src(guider_ui.curtain_group3_statusimg, LVGL_PATH(curtain_pause.png));
}
else if(evt.length==2)//关
{
lv_img_set_src(guider_ui.curtain_group3_statusimg, LVGL_PATH(curtain_close.png));
//nvs_SysInfo.curtains[2].percentage=100;//修正百分比
}
else //if(evt.length==0)//开
{
lv_img_set_src(guider_ui.curtain_group3_statusimg, LVGL_PATH(curtain_open.png));
//nvs_SysInfo.curtains[2].percentage=0;//修正百分比
}
nvs_eepom_sysInfo_update();
if(animationtimer)
{
LOG_I_LINE("curtain3 del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
animcurtainposP=NULL;
}
if(!guider_ui.curtaininfo)//是否存在
{
LOG_I_LINE("curtaininfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[2])
{
LOG_I_LINE("curtaininfo is equal curtains[2]");
LOG_I_LINE("curtain->pos=%d",curtain->pos);
//非动画方式
if(curtain->status==1)//停
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, curtain->percentage, LV_ANIM_OFF);
// //窗帘的状态
// if(curtain->percentage==0)
// {//开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
// }
// else
// {//关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
// }
}
else if(curtain->status==2)//关
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close_s.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, 100, LV_ANIM_OFF);
// //窗帘的状态
// //关
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,0);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[2].pos;
animationtimer = lv_timer_create(custom_curtaininfo_timerclose,D_animcurtaininfo_period,NULL);
}
else //if(curtain->status==0)//开
{
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(window_close.png), NULL);
lv_imgbtn_set_src(guider_ui.curtaininfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(window_close.png), NULL);
// lv_slider_set_value(guider_ui.curtaininfo_slider_1, 0, LV_ANIM_OFF);
// //窗帘的状态
// //开
// lv_obj_set_x(guider_ui.curtaininfo_leftimg,-170);//关x+w-->x
// lv_obj_set_x(guider_ui.curtaininfo_rightimg,212+170);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[2].pos; //0~100
animationtimer = lv_timer_create(custom_curtaininfo_timeropen,D_animcurtaininfo_period,NULL);
}
}
else
{
LOG_I_LINE("curtaininfo is not equal curtains[2]");
}
}
break;
case ZIG_STATE_Curtain3_value: //百分比
{
}
break;
//窗帘4//用于控制卷帘
case ZIG_STATE_Curtain4_status://状态 开/关/停
{
LOG_I_LINE("curtain4_status:%d",evt.length);
//更新 保存
nvs_SysInfo.curtains[3].status=evt.length;
//改变按钮的状态
if(evt.length==1)//停
{
lv_img_set_src(guider_ui.curtain_group4_statusimg, LVGL_PATH(curtain_pause.png));
}
else if(evt.length==2)//关
{
lv_img_set_src(guider_ui.curtain_group4_statusimg, LVGL_PATH(curtain_close.png));
//nvs_SysInfo.curtains[3].percentage=100;//修正百分比
}
else //if(evt.length==0)//开
{
lv_img_set_src(guider_ui.curtain_group4_statusimg, LVGL_PATH(curtain_open.png));
//nvs_SysInfo.curtains[3].percentage=0;//修正百分比
}
nvs_eepom_sysInfo_update();
if(animationtimer)
{
LOG_I_LINE("curtain4 del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
animcurtainposP=NULL;
}
if(!guider_ui.rollersinfo)//是否存在
{
LOG_I_LINE("rollersinfo is not");
break;
}
//是否匹配
Curatin_Info *curtain=(Curatin_Info *)guider_ui.rollersinfo->user_data;
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[3])
{
LOG_I_LINE("rollersinfo is equal curtains[3]");
LOG_I_LINE("curtain->pos=%d",curtain->pos);
//非动画方式
if(curtain->status==1)//停
{
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_pause.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
// lv_slider_set_value(guider_ui.rollersinfo_slider_1, curtain->percentage, LV_ANIM_OFF);
// //窗帘的状态
// if(curtain->percentage==0)
// {//开
// lv_obj_set_y(guider_ui.rollersinfo_onoffimg,-230);//关x+w-->x
// }
// else
// {//关
// lv_obj_set_y(guider_ui.rollersinfo_onoffimg,0);//关x+w-->x
// }
}
else if(curtain->status==2)//关
{
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_open_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_close.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_close.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_close.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_close.png), NULL);
// lv_slider_set_value(guider_ui.rollersinfo_slider_1, 100, LV_ANIM_OFF);
// //窗帘的状态
// //关
// lv_obj_set_y(guider_ui.rollersinfo_onoffimg,0);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[3].pos;
animationtimer = lv_timer_create(custom_rollersinfo_timerclose,D_animcurtaininfo_period,NULL);
}
else //if(curtain->status==0)//开
{
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_open.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_open.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_open.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_openbtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_open.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_pausebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_pause_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_RELEASED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_PRESSED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_RELEASED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
lv_imgbtn_set_src(guider_ui.rollersinfo_closebtn, LV_IMGBTN_STATE_CHECKED_PRESSED, NULL, LVGL_PATH(rollers_close_s.png), NULL);
// lv_slider_set_value(guider_ui.rollersinfo_slider_1, 0, LV_ANIM_OFF);
// //窗帘的状态
// //开
// lv_obj_set_y(guider_ui.rollersinfo_onoffimg,-230);//关x+w-->x
animcurtainposP=&nvs_SysInfo.curtains[3].pos; //0~100
animationtimer = lv_timer_create(custom_rollersinfo_timeropen,D_animcurtaininfo_period,NULL);
}
}
else
{
LOG_I_LINE("rollersinfo is not equal curtains[3]");
}
}
break;
case ZIG_STATE_Curtain4_value: //百分比
{
}
break;
//------------------------------gang1
case ZIG_STATE_GANG11on:
{
LOG_I_LINE("gang switch 1 on");
SET_nvs_Sys_Info_Gang1relay1(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang1swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang1swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
//lv_img_set_src(guider_ui.device_gang1swiconimg_1,LVGL_PATH(onofflighton7.png));
#else
#error "gang status is object !"
#endif
if( GET_nvs_Sys_Info_Gang1relay1() )
{
lv_obj_add_state(guider_ui.device_gang1imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff1)//更新场景开关详情界面的状态
{
#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff_key1bgimg_1,LVGL_PATH(onoff4on1.png));
#else
lv_obj_set_style_bg_color(guider_ui.gangonoff1_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.gangonoff1_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.gangonoff1_key1bgcont_1, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.gangonoff1_key1bgcont_1, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
#endif
if(GET_nvs_Sys_Info_Gang11icon())
{
lv_img_set_src(guider_ui.gangonoff1_key1ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang11icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff1_key1ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff1_key1label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//=======================空调
case ZIG_STATE_SCENE_AirconditionerON://开
{
if(guider_ui.device_aircont)
{
lv_obj_clear_state(guider_ui.device_airbtn_2, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.device_airbtn_3, LV_STATE_DISABLED);
}
if(guider_ui.aircontrol)
{
lv_obj_clear_state(guider_ui.aircontrol_modebtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.aircontrol_fanbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.aircontrol_dirbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.aircontrol_subbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.aircontrol_addbtn, LV_STATE_DISABLED);
lv_img_set_src(guider_ui.aircontrol_modeimg, LVGL_PATH(air_openimg.png));
lv_img_set_src(guider_ui.aircontrol_fanimg, LVGL_PATH(air_openimg.png));
lv_img_set_src(guider_ui.aircontrol_dirimg, LVGL_PATH(air_openimg.png));
lv_img_set_src(guider_ui.aircontrol_onoffimg, LVGL_PATH(air_openimg.png));
}
nvs_SysInfo.airconditioner.onoff=1;
evt.event=ZIG_STATE_SCENE_AirconditionerON;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_SCENE_AirconditionerOFF://关
{
if(guider_ui.device_aircont)
{
lv_obj_add_state(guider_ui.device_airbtn_2, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.device_airbtn_3, LV_STATE_DISABLED);
}
if(guider_ui.aircontrol)
{
lv_obj_add_state(guider_ui.aircontrol_modebtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.aircontrol_fanbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.aircontrol_dirbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.aircontrol_subbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.aircontrol_addbtn, LV_STATE_DISABLED);
lv_img_set_src(guider_ui.aircontrol_modeimg, LVGL_PATH(air_closeimg.png));
lv_img_set_src(guider_ui.aircontrol_fanimg, LVGL_PATH(air_closeimg.png));
lv_img_set_src(guider_ui.aircontrol_dirimg, LVGL_PATH(air_closeimg.png));
lv_img_set_src(guider_ui.aircontrol_onoffimg, LVGL_PATH(air_closeimg.png));
}
nvs_SysInfo.airconditioner.onoff=0;
evt.event=ZIG_STATE_SCENE_AirconditionerOFF;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_Airconditionertempadd:
case ZIG_STATE_SCENE_Airconditionertempsub:
{
if(guider_ui.aircontrol)
{
lv_label_set_text_fmt(guider_ui.aircontrol_templabel,"%d",nvs_SysInfo.airconditioner.temp+16);
}
evt.event=ZIG_STATE_SCENE_Airconditionertempadd;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_Airconditionercool:
case ZIG_STATE_SCENE_Airconditionerheat:
case ZIG_STATE_SCENE_Airconditionermode:
{
if(guider_ui.aircontrol)
{
lv_img_set_src(guider_ui.aircontrol_modeimg_icon, Air_conditioner_mode_ary[nvs_SysInfo.airconditioner.mode]);
}
evt.event=ZIG_STATE_SCENE_Airconditionermode;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_Airconditionerdirect:
{
if(guider_ui.aircontrol)
{
lv_img_set_src(guider_ui.aircontrol_dirimg_icon, Air_conditioner_dir_ary[nvs_SysInfo.airconditioner.direct]);
}
evt.event=ZIG_STATE_SCENE_Airconditionerdirect;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_Airconditionerspeed:
{
if(guider_ui.aircontrol)
{
lv_img_set_src(guider_ui.aircontrol_fanimg_icon, Air_conditioner_fan_ary[nvs_SysInfo.airconditioner.speed]);
}
evt.event=ZIG_STATE_SCENE_Airconditionerspeed;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
//=======================投影仪
case ZIG_STATE_SCENE_ProjectorON:
{
if(guider_ui.device_projectorcont)
{
lv_obj_add_state(guider_ui.device_projectorsw, LV_STATE_CHECKED); // 开
}
if(guider_ui.projectorcontrol)
{
lv_obj_clear_state(guider_ui.projectorcontrol_volumebtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_quitbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_returnbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_homebtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_menubtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_upbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_downbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_leftbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_rightbtn, LV_STATE_DISABLED);
lv_obj_clear_state(guider_ui.projectorcontrol_surebtn, LV_STATE_DISABLED);
lv_img_set_src(guider_ui.projectorcontrol_onoffimg, LVGL_PATH(projector_onimg.png));
lv_img_set_src(guider_ui.projectorcontrol_volumeimg, LVGL_PATH(projector_onimg.png));
lv_img_set_src(guider_ui.projectorcontrol_quitimg, LVGL_PATH(projector_onimg.png));
lv_img_set_src(guider_ui.projectorcontrol_returnimg, LVGL_PATH(projector_onimg.png));
lv_img_set_src(guider_ui.projectorcontrol_homeimg, LVGL_PATH(projector_onimg.png));
lv_img_set_src(guider_ui.projectorcontrol_menuimg, LVGL_PATH(projector_onimg.png));
}
nvs_SysInfo.projector.onoff=1;
evt.event=ZIG_STATE_SCENE_ProjectorON;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_ProjectorOFF:
{
if(guider_ui.device_projectorcont)
{
lv_obj_clear_state(guider_ui.device_projectorsw, LV_STATE_CHECKED); // 关
}
if(guider_ui.projectorcontrol)
{
lv_obj_add_state(guider_ui.projectorcontrol_volumebtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_quitbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_returnbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_homebtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_menubtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_upbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_downbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_leftbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_rightbtn, LV_STATE_DISABLED);
lv_obj_add_state(guider_ui.projectorcontrol_surebtn, LV_STATE_DISABLED);
lv_img_set_src(guider_ui.projectorcontrol_onoffimg, LVGL_PATH(projector_offimg.png));
lv_img_set_src(guider_ui.projectorcontrol_volumeimg, LVGL_PATH(projector_offimg.png));
lv_img_set_src(guider_ui.projectorcontrol_quitimg, LVGL_PATH(projector_offimg.png));
lv_img_set_src(guider_ui.projectorcontrol_returnimg, LVGL_PATH(projector_offimg.png));
lv_img_set_src(guider_ui.projectorcontrol_homeimg, LVGL_PATH(projector_offimg.png));
lv_img_set_src(guider_ui.projectorcontrol_menuimg, LVGL_PATH(projector_offimg.png));
}
nvs_SysInfo.projector.onoff=0;
evt.event=ZIG_STATE_SCENE_ProjectorOFF;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_SCENE_Projector_volume:
{
if(guider_ui.projectorcontrol)
{
lv_img_set_src(guider_ui.projectorcontrol_volumeimg_icon, Air_Projector_volume_ary[nvs_SysInfo.projector.volume]);
}
evt.event=ZIG_STATE_SCENE_Projector_volume;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
//保存
nvs_eepom_sysInfo_update();
}
break;
case ZIG_STATE_GANG11off:
{
LOG_I_LINE("gang switch 1 off");
SET_nvs_Sys_Info_Gang1relay1(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang1swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang1swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
//lv_img_set_src(guider_ui.device_gang1swiconimg_1,LVGL_PATH(onofflightoff7.png));
#else
#endif
if( !GET_nvs_Sys_Info_Gang1relay1() )
{
lv_obj_clear_state(guider_ui.device_gang1imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff1)//更新场景开关详情界面的状态
{
#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff1_key1bgimg_1,LVGL_PATH(onoff4off1.png));
#else
lv_obj_set_style_bg_color(guider_ui.gangonoff1_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.gangonoff1_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.gangonoff1_key1bgcont_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.gangonoff1_key1bgcont_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
#endif
if(GET_nvs_Sys_Info_Gang11icon())
{
lv_img_set_src(guider_ui.gangonoff1_key1ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang11icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff1_key1ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff1_key1label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG1_ALLon:
{
LOG_I_LINE("gang switch all on");
SET_nvs_Sys_Info_Gang1relay1(1);
//全开全关只对设备界面的更新 详情界面不更新(因为当前不显示)
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang1swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang1swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG1_ALLoff:
{
LOG_I_LINE("gang switch all off");
SET_nvs_Sys_Info_Gang1relay1(0);
//全开全关只对设备界面的更新 详情界面不更新(因为当前不显示)
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang1swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang1swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//------------------------------gang2
case ZIG_STATE_GANG21on:
{
LOG_I_LINE("gang switch 21 on");
SET_nvs_Sys_Info_Gang2relay1(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
//lv_img_set_src(guider_ui.device_gang2swiconimg_1,LVGL_PATH(onofflighton7.png));
#else
#error "gang2 status is object !"
#endif
if( GET_nvs_Sys_Info_Gang2relay1()&&GET_nvs_Sys_Info_Gang2relay2() )
{
lv_obj_add_state(guider_ui.device_gang2imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff2)//更新场景开关详情界面的状态
{
//#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff2_key1bgimg_1,LVGL_PATH(onoff2on1.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_3, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_3, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang21icon())
{
lv_img_set_src(guider_ui.gangonoff2_key1ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang21icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff2_key1ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff2_key1label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG21off:
{
LOG_I_LINE("gang switch 21 off");
SET_nvs_Sys_Info_Gang2relay1(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
//lv_img_set_src(guider_ui.device_gang2swiconimg_1,LVGL_PATH(onofflightoff7.png));
#else
#endif
if( (!GET_nvs_Sys_Info_Gang2relay1())||(!GET_nvs_Sys_Info_Gang2relay2()) )
{
lv_obj_clear_state(guider_ui.device_gang2imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff2)//更新场景开关详情界面的状态
{
//#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff2_key1bgimg_1,LVGL_PATH(onoff2off1.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key1bgimg_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key1bgcont_2, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_3, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_3, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key1bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key1bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang21icon())
{
lv_img_set_src(guider_ui.gangonoff2_key1ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang21icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff2_key1ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff2_key1label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG22on:
{
LOG_I_LINE("gang switch 22 on");
SET_nvs_Sys_Info_Gang2relay2(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang2relay1()&&GET_nvs_Sys_Info_Gang2relay2() )
{
lv_obj_add_state(guider_ui.device_gang2imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff2)//更新场景开关详情界面的状态
{
//#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff2_key2bgimg_1,LVGL_PATH(onoff2on2.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key2bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key2bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang22icon())
{
lv_img_set_src(guider_ui.gangonoff2_key2ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang22icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff2_key2ligthimg_1,LVGL_PATH(onofflighton2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff2_key2label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG22off:
{
LOG_I_LINE("gang switch 22 off");
SET_nvs_Sys_Info_Gang2relay2(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang2relay1())||(!GET_nvs_Sys_Info_Gang2relay2()) )
{
lv_obj_clear_state(guider_ui.device_gang2imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff2)//更新场景开关详情界面的状态
{
//#if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff2_key2bgimg_1,LVGL_PATH(onoff2off2.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff2_key2bgimg_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff2_key2bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff2_key2bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang22icon())
{
lv_img_set_src(guider_ui.gangonoff2_key2ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang22icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff2_key2ligthimg_1,LVGL_PATH(onofflightoff2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff2_key2label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG2_ALLon:
{
LOG_I_LINE("gang switch 2 all on");
SET_nvs_Sys_Info_Gang2relay1(1);
SET_nvs_Sys_Info_Gang2relay2(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG2_ALLoff:
{
LOG_I_LINE("gang switch 2 all off");
SET_nvs_Sys_Info_Gang2relay1(0);
SET_nvs_Sys_Info_Gang2relay2(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang2swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang2swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//------------------------------gang3
case ZIG_STATE_GANG31on:
{
LOG_I_LINE("gang switch 31 on");
SET_nvs_Sys_Info_Gang3relay1(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#error "gang3 status is object !"
#endif
if( GET_nvs_Sys_Info_Gang3relay1()&&GET_nvs_Sys_Info_Gang3relay2() &&GET_nvs_Sys_Info_Gang3relay3() )
{
lv_obj_add_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key1bgimg_1,LVGL_PATH(onoff3on1.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_3, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_3, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang31icon())
{
lv_img_set_src(guider_ui.gangonoff3_key1ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang31icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key1ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key1label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG31off:
{
LOG_I_LINE("gang switch 31 off");
SET_nvs_Sys_Info_Gang3relay1(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang3relay1())||(!GET_nvs_Sys_Info_Gang3relay2()) ||(!GET_nvs_Sys_Info_Gang3relay3()) )
{
lv_obj_clear_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key1bgimg_1,LVGL_PATH(onoff3off1.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key1bgimg_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key1bgcont_2, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_3, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_3, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key1bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key1bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang31icon())
{
lv_img_set_src(guider_ui.gangonoff3_key1ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang31icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key1ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key1label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG32on:
{
LOG_I_LINE("gang switch 32 on");
SET_nvs_Sys_Info_Gang3relay2(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang3relay1()&&GET_nvs_Sys_Info_Gang3relay2() &&GET_nvs_Sys_Info_Gang3relay3())
{
lv_obj_add_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key2bgimg_1,LVGL_PATH(onoff3on2.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key2bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key2bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang32icon())
{
lv_img_set_src(guider_ui.gangonoff3_key2ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang32icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key2ligthimg_1,LVGL_PATH(onofflighton2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key2label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG32off:
{
LOG_I_LINE("gang switch 32 off");
SET_nvs_Sys_Info_Gang3relay2(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang3relay1())||(!GET_nvs_Sys_Info_Gang3relay2()) ||(!GET_nvs_Sys_Info_Gang3relay3()) )
{
lv_obj_clear_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key2bgimg_1,LVGL_PATH(onoff3off2.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key2bgimg_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key2bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key2bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang32icon())
{
lv_img_set_src(guider_ui.gangonoff3_key2ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang32icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key2ligthimg_1,LVGL_PATH(onofflightoff2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key2label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG33on:
{
LOG_I_LINE("gang switch 33 on");
SET_nvs_Sys_Info_Gang3relay3(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang3relay1()&&GET_nvs_Sys_Info_Gang3relay2() &&GET_nvs_Sys_Info_Gang3relay3() )
{
lv_obj_add_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key3bgimg_1,LVGL_PATH(onoff3on3.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(CONFIG_ON_COLOR_R, CONFIG_ON_COLOR_G, CONFIG_ON_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(0xFF, 0xFF, 0xFF), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key3bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key3bgcont_4, lv_color_make(0xff, 0xff, 0xff), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang33icon())
{
lv_img_set_src(guider_ui.gangonoff3_key3ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang33icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key3ligthimg_1,LVGL_PATH(onofflighton10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key3label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG33off:
{
LOG_I_LINE("gang switch 33 off");
SET_nvs_Sys_Info_Gang3relay3(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang3relay1())||(!GET_nvs_Sys_Info_Gang3relay2()) ||(!GET_nvs_Sys_Info_Gang3relay3()) )
{
lv_obj_clear_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff3)//更新场景开关详情界面的状态
{
// #if !defined(CONFIG_OBJICT_IMAGE)
lv_img_set_src(guider_ui.gangonoff3_key3bgimg_1,LVGL_PATH(onoff3off3.png));
// #else
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(CONFIG_OFF_COLOR_R, CONFIG_OFF_COLOR_G, CONFIG_OFF_COLOR_B), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_border_color(guider_ui.gangonoff3_key3bgimg_1, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
//
// lv_obj_set_style_bg_color(guider_ui.gangonoff3_key3bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// lv_obj_set_style_bg_grad_color(guider_ui.gangonoff3_key3bgcont_4, lv_color_make(0x72, 0x72, 0x72), LV_PART_MAIN|LV_STATE_DEFAULT);
// #endif
if(GET_nvs_Sys_Info_Gang33icon())
{
lv_img_set_src(guider_ui.gangonoff3_key3ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang33icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff3_key3ligthimg_1,LVGL_PATH(onofflightoff10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff3_key3label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG3_ALLon:
{
LOG_I_LINE("gang switch 3 all on");
SET_nvs_Sys_Info_Gang3relay1(1);
SET_nvs_Sys_Info_Gang3relay2(1);
SET_nvs_Sys_Info_Gang3relay3(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG3_ALLoff:
{
LOG_I_LINE("gang switch 3 all off");
SET_nvs_Sys_Info_Gang3relay1(0);
SET_nvs_Sys_Info_Gang3relay2(0);
SET_nvs_Sys_Info_Gang3relay3(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang3swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang3swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//4路场景开关
//------------------------------gang4
case ZIG_STATE_GANG41on:
{
LOG_I_LINE("gang switch 41 on");
SET_nvs_Sys_Info_Gang4relay1(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#error "gang4 status is object !"
#endif
if( GET_nvs_Sys_Info_Gang4relay1()&&GET_nvs_Sys_Info_Gang4relay2() &&GET_nvs_Sys_Info_Gang4relay3()&&GET_nvs_Sys_Info_Gang4relay4() )
{
lv_obj_add_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key1bgimg_1,LVGL_PATH(gang4_icon_on1.png));
if(GET_nvs_Sys_Info_Gang41icon())
{
lv_img_set_src(guider_ui.gangonoff4_key1ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang41icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key1ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key1label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG41off:
{
LOG_I_LINE("gang switch 41 off");
SET_nvs_Sys_Info_Gang4relay1(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang4relay1())||(!GET_nvs_Sys_Info_Gang4relay2()) ||(!GET_nvs_Sys_Info_Gang4relay3()) ||(!GET_nvs_Sys_Info_Gang4relay4()) )
{
lv_obj_clear_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key1bgimg_1,LVGL_PATH(gang4_icon_off1.png));
if(GET_nvs_Sys_Info_Gang41icon())
{
lv_img_set_src(guider_ui.gangonoff4_key1ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang41icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key1ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key1label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG42on:
{
LOG_I_LINE("gang switch 42 on");
SET_nvs_Sys_Info_Gang4relay2(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang4relay1()&&GET_nvs_Sys_Info_Gang4relay2() &&GET_nvs_Sys_Info_Gang4relay3() &&GET_nvs_Sys_Info_Gang4relay4())
{
lv_obj_add_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key2bgimg_1,LVGL_PATH(gang4_icon_on2.png));
if(GET_nvs_Sys_Info_Gang42icon())
{
lv_img_set_src(guider_ui.gangonoff4_key2ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang42icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key2ligthimg_1,LVGL_PATH(onofflighton2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key2label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG42off:
{
LOG_I_LINE("gang switch 42 off");
SET_nvs_Sys_Info_Gang4relay2(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang4relay1())||(!GET_nvs_Sys_Info_Gang4relay2()) ||(!GET_nvs_Sys_Info_Gang4relay3()) ||(!GET_nvs_Sys_Info_Gang4relay4()) )
{
lv_obj_clear_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key2bgimg_1,LVGL_PATH(gang4_icon_off2.png));
if(GET_nvs_Sys_Info_Gang42icon())
{
lv_img_set_src(guider_ui.gangonoff4_key2ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang42icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key2ligthimg_1,LVGL_PATH(onofflightoff2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key2label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG43on:
{
LOG_I_LINE("gang switch 43 on");
SET_nvs_Sys_Info_Gang4relay3(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang4relay1()&&GET_nvs_Sys_Info_Gang4relay2() &&GET_nvs_Sys_Info_Gang4relay3() &&GET_nvs_Sys_Info_Gang4relay4())
{
lv_obj_add_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key3bgimg_1,LVGL_PATH(gang4_icon_on3.png));
if(GET_nvs_Sys_Info_Gang43icon())
{
lv_img_set_src(guider_ui.gangonoff4_key3ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang43icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key3ligthimg_1,LVGL_PATH(onofflighton10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key3label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG43off:
{
LOG_I_LINE("gang switch 43 off");
SET_nvs_Sys_Info_Gang4relay3(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang4relay1())||(!GET_nvs_Sys_Info_Gang4relay2()) ||(!GET_nvs_Sys_Info_Gang4relay3()) ||(!GET_nvs_Sys_Info_Gang4relay4()))
{
lv_obj_clear_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key3bgimg_1,LVGL_PATH(gang4_icon_off3.png));
if(GET_nvs_Sys_Info_Gang43icon())
{
lv_img_set_src(guider_ui.gangonoff4_key3ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang43icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key3ligthimg_1,LVGL_PATH(onofflightoff10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key3label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG44on:
{
LOG_I_LINE("gang switch 44 on");
SET_nvs_Sys_Info_Gang4relay4(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_4,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_4, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang4relay1()&&GET_nvs_Sys_Info_Gang4relay2() &&GET_nvs_Sys_Info_Gang4relay3() &&GET_nvs_Sys_Info_Gang4relay4())
{
lv_obj_add_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key4bgimg_1,LVGL_PATH(gang4_icon_on4.png));
if(GET_nvs_Sys_Info_Gang44icon())
{
lv_img_set_src(guider_ui.gangonoff4_key4ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang44icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key4ligthimg_1,LVGL_PATH(onofflighton10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key4label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG44off:
{
LOG_I_LINE("gang switch 44 off");
SET_nvs_Sys_Info_Gang4relay4(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_4,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_4, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang4relay1())||(!GET_nvs_Sys_Info_Gang4relay2()) ||(!GET_nvs_Sys_Info_Gang4relay3())||(!GET_nvs_Sys_Info_Gang4relay4()) )
{
lv_obj_clear_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff4)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff4_key4bgimg_1,LVGL_PATH(gang4_icon_off4.png));
if(GET_nvs_Sys_Info_Gang44icon())
{
lv_img_set_src(guider_ui.gangonoff4_key4ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang44icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff4_key4ligthimg_1,LVGL_PATH(onofflightoff10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff4_key4label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG4_ALLon:
{
LOG_I_LINE("gang switch 4 all on");
SET_nvs_Sys_Info_Gang4relay1(1);
SET_nvs_Sys_Info_Gang4relay2(1);
SET_nvs_Sys_Info_Gang4relay3(1);
SET_nvs_Sys_Info_Gang4relay4(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_4,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_4, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG4_ALLoff:
{
LOG_I_LINE("gang switch 4 all off");
SET_nvs_Sys_Info_Gang4relay1(0);
SET_nvs_Sys_Info_Gang4relay2(0);
SET_nvs_Sys_Info_Gang4relay3(0);
SET_nvs_Sys_Info_Gang4relay4(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang4swbgimg_4,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang4swbgimg_4, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//场景开关6
case ZIG_STATE_GANG61on:
{
LOG_I_LINE("gang switch 61 on");
SET_nvs_Sys_Info_Gang6relay1(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#error "gang6 status is object !"
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key1bgimg_1,LVGL_PATH(gang6_bg1_on.png));
if(GET_nvs_Sys_Info_Gang61icon())
{
lv_img_set_src(guider_ui.gangonoff6_key1ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang61icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key1ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key1label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG61off:
{
LOG_I_LINE("gang switch 61 off");
SET_nvs_Sys_Info_Gang6relay1(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key1bgimg_1,LVGL_PATH(gang6_bg1_off.png));
if(GET_nvs_Sys_Info_Gang61icon())
{
lv_img_set_src(guider_ui.gangonoff6_key1ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang61icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key1ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key1label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG62on:
{
LOG_I_LINE("gang switch 62 on");
SET_nvs_Sys_Info_Gang6relay2(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key2bgimg_1,LVGL_PATH(gang6_bg2_on.png));
if(GET_nvs_Sys_Info_Gang62icon())
{
lv_img_set_src(guider_ui.gangonoff6_key2ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang62icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key2ligthimg_1,LVGL_PATH(onofflighton2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key2label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG62off:
{
LOG_I_LINE("gang switch 62 off");
SET_nvs_Sys_Info_Gang6relay2(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key2bgimg_1,LVGL_PATH(gang6_bg2_off.png));
if(GET_nvs_Sys_Info_Gang62icon())
{
lv_img_set_src(guider_ui.gangonoff6_key2ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang62icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key2ligthimg_1,LVGL_PATH(onofflightoff2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key2label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG63on:
{
LOG_I_LINE("gang switch 63 on");
SET_nvs_Sys_Info_Gang6relay3(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key3bgimg_1,LVGL_PATH(gang6_bg3_on.png));
if(GET_nvs_Sys_Info_Gang63icon())
{
lv_img_set_src(guider_ui.gangonoff6_key3ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang63icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key3ligthimg_1,LVGL_PATH(onofflighton10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key3label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG63off:
{
LOG_I_LINE("gang switch 63 off");
SET_nvs_Sys_Info_Gang6relay3(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key3bgimg_1,LVGL_PATH(gang6_bg3_off.png));
if(GET_nvs_Sys_Info_Gang63icon())
{
lv_img_set_src(guider_ui.gangonoff6_key3ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang63icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key3ligthimg_1,LVGL_PATH(onofflightoff10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key3label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG64on:
{
LOG_I_LINE("gang switch 64 on");
SET_nvs_Sys_Info_Gang6relay4(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_4,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_4, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key4bgimg_1,LVGL_PATH(gang6_bg4_on.png));
if(GET_nvs_Sys_Info_Gang64icon())
{
lv_img_set_src(guider_ui.gangonoff6_key4ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang64icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key4ligthimg_1,LVGL_PATH(onofflighton10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key4label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG64off:
{
LOG_I_LINE("gang switch 64 off");
SET_nvs_Sys_Info_Gang6relay4(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_4,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_4, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key4bgimg_1,LVGL_PATH(gang6_bg4_off.png));
if(GET_nvs_Sys_Info_Gang64icon())
{
lv_img_set_src(guider_ui.gangonoff6_key4ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang64icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key4ligthimg_1,LVGL_PATH(onofflightoff10.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key4label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG65on:
{
LOG_I_LINE("gang switch 65 on");
SET_nvs_Sys_Info_Gang6relay5(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_5,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_5, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key5bgimg_1,LVGL_PATH(gang6_bg5_on.png));
if(GET_nvs_Sys_Info_Gang65icon())
{
lv_img_set_src(guider_ui.gangonoff6_key5ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang65icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key5ligthimg_1,LVGL_PATH(onofflighton2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key5label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG65off:
{
LOG_I_LINE("gang switch 65 off");
SET_nvs_Sys_Info_Gang6relay5(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_5,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_5, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key5bgimg_1,LVGL_PATH(gang6_bg5_off.png));
if(GET_nvs_Sys_Info_Gang65icon())
{
lv_img_set_src(guider_ui.gangonoff6_key5ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang65icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key5ligthimg_1,LVGL_PATH(onofflightoff2.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key5label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG66on:
{
LOG_I_LINE("gang switch 66 on");
SET_nvs_Sys_Info_Gang6relay6(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_6,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_6, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#error "gang6 status is object !"
#endif
if( GET_nvs_Sys_Info_Gang6relay1()
&&GET_nvs_Sys_Info_Gang6relay2()
&&GET_nvs_Sys_Info_Gang6relay3()
&&GET_nvs_Sys_Info_Gang6relay4()
&&GET_nvs_Sys_Info_Gang6relay5()
&&GET_nvs_Sys_Info_Gang6relay6()
)
{
lv_obj_add_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key6bgimg_1,LVGL_PATH(gang6_bg6_on.png));
if(GET_nvs_Sys_Info_Gang66icon())
{
lv_img_set_src(guider_ui.gangonoff6_key6ligthimg_1,onoff_keyligthimgon_ary[GET_nvs_Sys_Info_Gang66icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key6ligthimg_1,LVGL_PATH(onofflighton7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key6label_1, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG66off:
{
LOG_I_LINE("gang switch 66 off");
SET_nvs_Sys_Info_Gang6relay6(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_6,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_6, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
if( (!GET_nvs_Sys_Info_Gang6relay1())
||(!GET_nvs_Sys_Info_Gang6relay2())
||(!GET_nvs_Sys_Info_Gang6relay3())
||(!GET_nvs_Sys_Info_Gang6relay4())
||(!GET_nvs_Sys_Info_Gang6relay5())
||(!GET_nvs_Sys_Info_Gang6relay6())
)
{
lv_obj_clear_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED);//on
}
}
if(guider_ui.gangonoff6)//更新场景开关详情界面的状态
{
lv_img_set_src(guider_ui.gangonoff6_key6bgimg_1,LVGL_PATH(gang6_bg6_off.png));
if(GET_nvs_Sys_Info_Gang66icon())
{
lv_img_set_src(guider_ui.gangonoff6_key6ligthimg_1,onoff_keyligthimgoff_ary[GET_nvs_Sys_Info_Gang66icon()]);
}
else
{
lv_img_set_src(guider_ui.gangonoff6_key6ligthimg_1,LVGL_PATH(onofflightoff7.png));//icon
}
lv_obj_set_style_text_color(guider_ui.gangonoff6_key6label_1, lv_color_hex(0x909090), LV_PART_MAIN | LV_STATE_DEFAULT);
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG6_ALLon:
{
LOG_I_LINE("gang switch 6 all on");
SET_nvs_Sys_Info_Gang6relay1(1);
SET_nvs_Sys_Info_Gang6relay2(1);
SET_nvs_Sys_Info_Gang6relay3(1);
SET_nvs_Sys_Info_Gang6relay4(1);
SET_nvs_Sys_Info_Gang6relay5(1);
SET_nvs_Sys_Info_Gang6relay6(1);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_1,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_1, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_2,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_2, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_3,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_3, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_4,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_4, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_5,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_5, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_6,lv_color_make(0xeb, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_6, lv_color_make(0xef, 0x95, 0x0f), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case ZIG_STATE_GANG6_ALLoff:
{
LOG_I_LINE("gang switch 6 all off");
SET_nvs_Sys_Info_Gang6relay1(0);
SET_nvs_Sys_Info_Gang6relay2(0);
SET_nvs_Sys_Info_Gang6relay3(0);
SET_nvs_Sys_Info_Gang6relay4(0);
SET_nvs_Sys_Info_Gang6relay5(0);
SET_nvs_Sys_Info_Gang6relay6(0);
if(guider_ui.device)//更新设备界面的场景开关状态
{
#ifdef CONFIG_OBJICT_IMAGE
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_1,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_1, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_2,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_2, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_3,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_3, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_4,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_4, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_5,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_5, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(guider_ui.device_gang6swbgimg_6,lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_color(guider_ui.device_gang6swbgimg_6, lv_color_make(0xb2, 0xb2, 0xb2), LV_PART_MAIN|LV_STATE_DEFAULT);
#else
#endif
}
// USERNVSStates evt;
// evt=USER_NVS_STATE_UPDATE;//延时保存数据
// rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
default:
{
LOG_I_LINE( "event error!!!");
}
break;
}
rt_mutex_release(xGuiSemaphore);//释放互斥信号量
}
}
}
}
//tableview页面滑动
void custom_tableview_event(lv_event_code_t code)
{
switch (code)
{
case LV_EVENT_VALUE_CHANGED:
{//提取滑到到哪一页 用于同步更新按键指示
uint16_t tab_cur=lv_tabview_get_tab_act(guider_ui.screen_main_tabview);
LOG_I_LINE("tabview page %d",tab_cur);
if(tab_cur<=4)
{
custom_main_navi_status(tab_cur,LV_EVENT_CLICKED);
}
}
break;
default:
break;
}
}
//main_navi导航按键
void custom_main_navi_status(char key,lv_event_code_t code)
{
switch(key)
{
case 0://
{
LOG_I_LINE("navi_scene");
lv_img_set_src(guider_ui.screen_main_navi_scene_icon, LVGL_PATH(navi_scenes_icon_s_29x29.png));
lv_img_set_src(guider_ui.screen_main_navi_switch_icon, LVGL_PATH(navi_sw_icon_38x21.png));
lv_img_set_src(guider_ui.screen_main_navi_dimmer_icon, LVGL_PATH(navi_dimmer_icon_30x30.png));
lv_img_set_src(guider_ui.screen_main_navi_cutain_icon, LVGL_PATH(navi_curtain_icon_24x24.png));
lv_img_set_src(guider_ui.screen_main_navi_device_icon, LVGL_PATH(navi_device_icon_24x24.png));
// if(guider_ui.screen_main_tabview)
// {
// lv_tabview_set_act(guider_ui.screen_main_tabview,0,false);
// }
lv_obj_set_tile(guider_ui.screen_main_tileview, guider_ui.screen_main_tileview_scenes, LV_ANIM_OFF);
}
break;
case 1: //
{
LOG_I_LINE("navi_switch");
lv_img_set_src(guider_ui.screen_main_navi_scene_icon, LVGL_PATH(navi_scenes_icon_29x29.png));
lv_img_set_src(guider_ui.screen_main_navi_switch_icon, LVGL_PATH(navi_sw_icon_s_38x21.png));
lv_img_set_src(guider_ui.screen_main_navi_dimmer_icon, LVGL_PATH(navi_dimmer_icon_30x30.png));
lv_img_set_src(guider_ui.screen_main_navi_cutain_icon, LVGL_PATH(navi_curtain_icon_24x24.png));
lv_img_set_src(guider_ui.screen_main_navi_device_icon, LVGL_PATH(navi_device_icon_24x24.png));
// if(guider_ui.screen_main_tabview)
// {
// lv_tabview_set_act(guider_ui.screen_main_tabview,1,false);
// }
lv_obj_set_tile(guider_ui.screen_main_tileview, guider_ui.screen_main_tileview_onoffs, LV_ANIM_OFF);
}
break;
case 2: //
{
LOG_I_LINE("navi_dimmer");
lv_img_set_src(guider_ui.screen_main_navi_scene_icon, LVGL_PATH(navi_scenes_icon_29x29.png));
lv_img_set_src(guider_ui.screen_main_navi_switch_icon, LVGL_PATH(navi_sw_icon_38x21.png));
lv_img_set_src(guider_ui.screen_main_navi_dimmer_icon, LVGL_PATH(navi_dimmer_icon_s_30x30.png));
lv_img_set_src(guider_ui.screen_main_navi_cutain_icon, LVGL_PATH(navi_curtain_icon_24x24.png));
lv_img_set_src(guider_ui.screen_main_navi_device_icon, LVGL_PATH(navi_device_icon_24x24.png));
// if(guider_ui.screen_main_tabview)
// {
// lv_tabview_set_act(guider_ui.screen_main_tabview,2,false);
// }
lv_obj_set_tile(guider_ui.screen_main_tileview, guider_ui.screen_main_tileview_dimmers, LV_ANIM_OFF);
}
break;
case 3: //
{
LOG_I_LINE("navi_cutain");
lv_img_set_src(guider_ui.screen_main_navi_scene_icon, LVGL_PATH(navi_scenes_icon_29x29.png));
lv_img_set_src(guider_ui.screen_main_navi_switch_icon, LVGL_PATH(navi_sw_icon_38x21.png));
lv_img_set_src(guider_ui.screen_main_navi_dimmer_icon, LVGL_PATH(navi_dimmer_icon_30x30.png));
lv_img_set_src(guider_ui.screen_main_navi_cutain_icon, LVGL_PATH(navi_curtain_icon_s_24x24.png));
lv_img_set_src(guider_ui.screen_main_navi_device_icon, LVGL_PATH(navi_device_icon_24x24.png));
// if(guider_ui.screen_main_tabview)
// {
// lv_tabview_set_act(guider_ui.screen_main_tabview,3,false);
// }
lv_obj_set_tile(guider_ui.screen_main_tileview, guider_ui.screen_main_tileview_curtains, LV_ANIM_OFF);
}
break;
case 4: //
{
LOG_I_LINE("navi_device");
lv_img_set_src(guider_ui.screen_main_navi_scene_icon, LVGL_PATH(navi_scenes_icon_29x29.png));
lv_img_set_src(guider_ui.screen_main_navi_switch_icon, LVGL_PATH(navi_sw_icon_38x21.png));
lv_img_set_src(guider_ui.screen_main_navi_dimmer_icon, LVGL_PATH(navi_dimmer_icon_30x30.png));
lv_img_set_src(guider_ui.screen_main_navi_cutain_icon, LVGL_PATH(navi_curtain_icon_24x24.png));
lv_img_set_src(guider_ui.screen_main_navi_device_icon, LVGL_PATH(navi_device_icon_s_24x24.png));
// if(guider_ui.screen_main_tabview)
// {
// lv_tabview_set_act(guider_ui.screen_main_tabview,4,false);
// }
lv_obj_set_tile(guider_ui.screen_main_tileview, guider_ui.screen_main_tileview_devices, LV_ANIM_OFF);
}
break;
default:
break;
}
}
//setting界面
//主机信息页
//设备重启
extern void rt_hw_cpu_reset(void);
static void mianinfo_restart_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
const char * txt = lv_msgbox_get_active_btn_text(msgbox);
LOG_I_LINE("click:%s\r\n",txt);
if( (strstr((const char *)txt,btns_chs[GET_nvs_Sys_Info_language()][0]) ) )
{
//printf("click sure\r\n");
disp_driver_backlight_set(0);//对flash写会禁止操作psram,造成RGB暂停刷新
rt_thread_mdelay(1000);
printf("Restarting now.\n");
rt_hw_cpu_reset();
}
lv_msgbox_close(msgbox);
}
}
static void mianinfo_factory_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
const char * txt = lv_msgbox_get_active_btn_text(msgbox);
LOG_I_LINE("click:%s\r\n",txt);
if( (strstr((const char *)txt,btns_chs[GET_nvs_Sys_Info_language()][0]) ) )
{
LOG_I_LINE("factory reset\r\n");
disp_driver_backlight_set(0);//对flash写会禁止操作psram,造成RGB暂停刷新
rt_thread_mdelay(1000);
nvs_eepom_factory();
rt_thread_mdelay(1000);
printf("Restarting now.\n");
rt_hw_cpu_reset();
}
lv_msgbox_close(msgbox);
}
}
void custom_mianinfo_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1://
{
if(code==LV_EVENT_CLICKED)
{
LOG_I_LINE("restart");
lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_System_Restartmsgbox], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(mbox->title, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(mbox->title, LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(mbox->text, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(mbox->text, LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(mbox->btns, &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1,mianinfo_restart_msgbox_callback, LV_EVENT_ALL, NULL);
}
}
break;
case 2://
{
if(code==LV_EVENT_CLICKED)
{
LOG_I_LINE("factory reset");
lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Restore_Factorymsgbox], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(mbox->title, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(mbox->title, LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(mbox->text, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(mbox->text, LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(mbox->btns, &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1, mianinfo_factory_msgbox_callback, LV_EVENT_ALL, NULL);
}
}
break;
default:
break;
}
}
//显示页
void custom_display_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1://
{
if(code==LV_EVENT_RELEASED)
{
if(guider_ui.displayinfopage_brightslider_1)
{
int32_t Value=lv_slider_get_value(guider_ui.displayinfopage_brightslider_1);
printf("rel value1: %ld\n", Value);
// Value +=27;//修正亮度
// printf("rel value2: %ld\n", Value);
disp_driver_backlight_set(Value);
SET_nvs_Sys_Info_backlight(Value);
nvs_eepom_sysInfo_update();
// //USERNVSStates evt;
// //evt=USER_NVS_STATE_UPDATE;//延时保存数据
// //rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
}
break;
case 2://
{
if(code==LV_EVENT_VALUE_CHANGED)
{
if(guider_ui.displayinfopage_autobrightsw_1)
{
if (lv_obj_has_state(guider_ui.displayinfopage_autobrightsw_1, LV_STATE_CHECKED))
{
printf("autobright:on\r\n");
SET_nvs_Sys_Info_autobacklight(true);
nvs_eepom_sysInfo_update();
// //USERNVSStates evt;
// //evt=USER_NVS_STATE_UPDATE;//延时保存数据
// //rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
else
{
printf("autobright:off\r\n");
SET_nvs_Sys_Info_autobacklight(false);
nvs_eepom_sysInfo_update();
// //USERNVSStates evt;
// //evt=USER_NVS_STATE_UPDATE;//延时保存数据
// //rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
}
}
break;
case 3://
{
if(code==LV_EVENT_VALUE_CHANGED)
{
if(guider_ui.displayinfopage_autlockdlist_1)
{
uint16_t sel_opt_idt=lv_dropdown_get_selected(guider_ui.displayinfopage_autlockdlist_1);
printf("selected:%d\r\n", sel_opt_idt); // 获取选项的索引值从0开始
//10s\n30s\n45s\n1min\n2min\n5min\n10min\nnever
if(sel_opt_idt==0) //10s
{
SET_nvs_Sys_Info_autoScreentime(10);
}
else if(sel_opt_idt==1)//30s
{
SET_nvs_Sys_Info_autoScreentime(30);
}
else if(sel_opt_idt==2)//45s
{
SET_nvs_Sys_Info_autoScreentime(45);
}
else if(sel_opt_idt==3)//1min--60s
{
SET_nvs_Sys_Info_autoScreentime(60);
}
else if(sel_opt_idt==4)//2min--120s
{
SET_nvs_Sys_Info_autoScreentime(120);
}
else if(sel_opt_idt==5)//5min--300s
{
SET_nvs_Sys_Info_autoScreentime(300);
}
else if(sel_opt_idt==6)//10min--600s
{
SET_nvs_Sys_Info_autoScreentime(600);
}
else //if(sel_opt_idt==7)//never--0s
{
SET_nvs_Sys_Info_autoScreentime(0);
}
nvs_eepom_sysInfo_update();
// //USERNVSStates evt;
// //evt=USER_NVS_STATE_UPDATE;//延时保存数据
// //rt_mq_send(user_nvs_rx_evt_queue, &evt, sizeof(ZIGEvent));
// // char tempbuf[32];
// // lv_dropdown_get_selected_str(guider_ui.displayinfopage_autlockdlist_1,tempbuf, sizeof(tempbuf));
// // printf("Option: %s", tempbuf);
}
}
}
break;
default:
break;
}
}
//语言
void custom_language_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1://中文
{
if(code==LV_EVENT_RELEASED)//按下触发
{
static lv_style_t style_langinfopage_chineseselectimg_main_main_default;
lv_style_reset(&style_langinfopage_chineseselectimg_main_main_default);
lv_style_set_img_recolor(&style_langinfopage_chineseselectimg_main_main_default, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_img_recolor_opa(&style_langinfopage_chineseselectimg_main_main_default, 0);
lv_style_set_img_opa(&style_langinfopage_chineseselectimg_main_main_default, 255);
lv_obj_add_style(guider_ui.langinfopage_chineseselectimg, &style_langinfopage_chineseselectimg_main_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_add_flag(guider_ui.langinfopage_chineseselectimg, LV_OBJ_FLAG_CLICKABLE);
lv_img_set_src(guider_ui.langinfopage_chineseselectimg,LVGL_PATH(dui.png));
static lv_style_t style_langinfopage_egnlishselectimg_main_main_default;
lv_style_reset(&style_langinfopage_egnlishselectimg_main_main_default);
lv_style_set_img_recolor(&style_langinfopage_egnlishselectimg_main_main_default, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_img_recolor_opa(&style_langinfopage_egnlishselectimg_main_main_default, 0);
lv_style_set_img_opa(&style_langinfopage_egnlishselectimg_main_main_default, 0);
lv_obj_add_style(guider_ui.langinfopage_egnlishselectimg, &style_langinfopage_egnlishselectimg_main_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_add_flag(guider_ui.langinfopage_egnlishselectimg, LV_OBJ_FLAG_CLICKABLE);
lv_img_set_src(guider_ui.langinfopage_egnlishselectimg,LVGL_PATH(dui.png));
SET_nvs_Sys_Info_language(LANG_CH);
nvs_eepom_sysInfo_update();
}
}
break;
case 2://英文
{
if(code==LV_EVENT_RELEASED)//按下触发
{
static lv_style_t style_langinfopage_chineseselectimg_main_main_default;
lv_style_reset(&style_langinfopage_chineseselectimg_main_main_default);
lv_style_set_img_recolor(&style_langinfopage_chineseselectimg_main_main_default, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_img_recolor_opa(&style_langinfopage_chineseselectimg_main_main_default, 0);
lv_style_set_img_opa(&style_langinfopage_chineseselectimg_main_main_default, 0);
lv_obj_add_style(guider_ui.langinfopage_chineseselectimg, &style_langinfopage_chineseselectimg_main_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_add_flag(guider_ui.langinfopage_chineseselectimg, LV_OBJ_FLAG_CLICKABLE);
lv_img_set_src(guider_ui.langinfopage_chineseselectimg,LVGL_PATH(dui.png));
static lv_style_t style_langinfopage_egnlishselectimg_main_main_default;
lv_style_reset(&style_langinfopage_egnlishselectimg_main_main_default);
lv_style_set_img_recolor(&style_langinfopage_egnlishselectimg_main_main_default, lv_color_make(0xff, 0xff, 0xff));
lv_style_set_img_recolor_opa(&style_langinfopage_egnlishselectimg_main_main_default, 0);
lv_style_set_img_opa(&style_langinfopage_egnlishselectimg_main_main_default, 255);
lv_obj_add_style(guider_ui.langinfopage_egnlishselectimg, &style_langinfopage_egnlishselectimg_main_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_add_flag(guider_ui.langinfopage_egnlishselectimg, LV_OBJ_FLAG_CLICKABLE);
lv_img_set_src(guider_ui.langinfopage_egnlishselectimg,LVGL_PATH(dui.png));
SET_nvs_Sys_Info_language(LANG_EN);
nvs_eepom_sysInfo_update();
}
}
break;
default:
break;
}
//rt_thread_mdelay(1000);
printf("Restarting now.\n");
rt_hw_cpu_reset();
// ZIGEvent evtstate;
// evtstate.event=ZIG_STATE_Switch_langue;
// evtstate.length=0;
// evtstate.buffStr=NULL;
// rt_mq_send(custom_rx_evt_queue, &evtstate, sizeof(ZIGEvent));//上报给zigbee
}
static void month_erro_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
lv_msgbox_close(msgbox);
}
}
void custom_datetime_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1://自动获取时间开关
{
if (lv_obj_has_state(guider_ui.dateinfopage_sw_1, LV_STATE_CHECKED))
{//自动获取时间 禁用按钮
printf("on\r\n");
//日期按键禁止按下
lv_obj_add_state(guider_ui.dateinfopage_datebtn, LV_STATE_DISABLED);//off
//时间禁止允许按下
lv_obj_add_state(guider_ui.dateinfopage_timebtn, LV_STATE_DISABLED);//off
SET_nvs_Sys_Info_autoupdatetime(true);
nvs_eepom_sysInfo_update();
//立即去更新时间
ZIGEvent evt;
evt.event=ZIG_STATE_RTC_UPDATE;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
}
else
{//手动 允许按钮操作
printf("off\r\n");
//日期按键允许按下
lv_obj_clear_state(guider_ui.dateinfopage_datebtn, LV_STATE_DISABLED);//on
//时间按键允许按下
lv_obj_clear_state(guider_ui.dateinfopage_timebtn, LV_STATE_DISABLED);//on
SET_nvs_Sys_Info_autoupdatetime(false);
nvs_eepom_sysInfo_update();
}
}
break;
case 2://更改
{
LOG_I_LINE("custom_datetime_key_status");
/*
struct tm {
int tm_sec; // 秒 [0-59]
int tm_min; // 分 [0-59]
int tm_hour; // 时 [0-23]
int tm_mday; // 日 [1-31]
int tm_mon; // 月 [0-11]0 代表 1 月)
int tm_year; // 年(自 1900 年的偏移,如 2024 年为 124
int tm_wday; // 星期 [0-6]0 代表周日)
int tm_yday; // 年中的第几天 [0-365]
int tm_isdst; // 夏令时标志UTC 时间中通常为 0
};
*/
////timeinfo.tm_sec //秒钟
//struct tm timeinfo = {0};
char str[64];
//uint16_t int year, int month, int day, int hour, int minute, int second;//
//年
uint16_t sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_yearddlist);//0~99
lv_dropdown_get_selected_str(guider_ui.datesetpage_yearddlist,str,sizeof(str));
int year=sel_opt_idt+2024;//0~99-->2024~2099
LOG_I_LINE("year:%s---%d",str,year);
//timeinfo.tm_year=(int)((year)-1900);
//月
sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_moonddlist);//0~11
lv_dropdown_get_selected_str(guider_ui.datesetpage_moonddlist,str,sizeof(str));
int month=sel_opt_idt+1;//0~11-->1~12
LOG_I_LINE("mon:%s---%d",str,month);
//timeinfo.tm_mon=month-1;
//日
sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_sunddlist);//0~30
lv_dropdown_get_selected_str(guider_ui.datesetpage_sunddlist,str,sizeof(str));
int day=sel_opt_idt+1;//0~30-->1~31
LOG_I_LINE("sun:%s---%d",str,sel_opt_idt+1);
//timeinfo.tm_mday=day-1;
//时
sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_hourddlist);//0~23
lv_dropdown_get_selected_str(guider_ui.datesetpage_hourddlist,str,sizeof(str));
int hour=sel_opt_idt;
LOG_I_LINE("hour:%s---%d",str,hour);
//timeinfo.tm_hour=hour;
//分
sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_minuteddlist);//0~59
lv_dropdown_get_selected_str(guider_ui.datesetpage_minuteddlist,str,sizeof(str));
int minute=sel_opt_idt;
LOG_I_LINE("min:%s---%d",str,minute);
//timeinfo.tm_min=minute;
//1 3 5 7 8 10 12 31天
//4 6 9 11 30天
//2 28天
//卡月对应天 不能超过最大日
// if(
// (
// (month==1)
// ||(month==3)
// ||(month==5)
// ||(month==7)
// ||(month==8)
// ||(month==10)
// ||(month==12)
// )
// &&(day<=31)
// )
// {
// }
//警告
if(
( ( (month==4)||(month==6)||(month==9)||(month==11) ) && (day>30) )
||((month==2)&&(day>28))
)
{
char txtbuf[64];
if(GET_nvs_Sys_Info_language()==LANG_CH)
{
sprintf(txtbuf,"%d月没有%d日",month,day);
}
else
{
sprintf(txtbuf,"There is no %dth in %s",day,Menu_monList[month-1]);
}
//lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_System_Restartmsgbox], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, (const char *)txtbuf, btns_chs[GET_nvs_Sys_Info_language()], false);
lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(mbox->title, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(mbox->title, LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(mbox->text, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(mbox->text, LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(mbox->btns, &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1,month_erro_msgbox_callback, LV_EVENT_ALL, NULL);
}
else
{
//时区
sel_opt_idt=lv_dropdown_get_selected(guider_ui.datesetpage_zoneddlist);//0开始的
lv_dropdown_get_selected_str(guider_ui.datesetpage_zoneddlist,str,sizeof(str));
LOG_I_LINE("zone:%s---%d",str,sel_opt_idt);
LOG_I_LINE("zone:%d,offset:%d",Menu_timearea_array[sel_opt_idt][0],Menu_timearea_array[sel_opt_idt][1]);
tz_set(Menu_timearea_array[sel_opt_idt][0]);
LOG_I_LINE("new read zone:%d",tz_get());
//UTC的起始时间为1970年1月1日 00:00:00协调世界时
//标准时间戳通常指的是UTC 协调世界时 )。时间戳以 1970年1月1日 零时UTC为起点
//标准时间戳:格林威治时间,以 1970.01.01 00:00:00 为起点到现在的总秒数。
//本地时间戳:考虑时区和夏令时的本地时间,即标准时间 ± 时差。一般设备以本地时间为准
//UTC时间 + 时区*3600秒本地时间
//zone=(Localtime-standardtime)/3600
//UTC=本地时间-时区*3600
//now()显示的是 本地时间
//设置的时间当本地时间
time_t Localtime=dateToEpoch(year, month, day, hour, minute, 0);//年月日转换为本地时间(1970开始计算的)
LOG_I_LINE("Localtime:%d\r\n", Localtime);//本地时间
//印度utc+5:30为例
//转为标准utc标准时间正常应该-->当地时间(秒)-非标准时区的偏移时间(分钟)*60(秒)-时区(小时)*3600(秒);如果不处理偏移时间 则utc标准时间多了个偏移时间
//由于rtt(时区参数是个整数)不支持处理非标准时区,所以将非标准时区的偏移时间传到了utc标准时间去了
//好处now()显示出来就是本地时间 非标准时区的偏移时间不用再次处理了
//time_t standardtime=Localtime-Menu_timearea_array[sel_opt_idt][1]-tz_get()*3600;//考虑非标准时区 在now()显示本地时间的时候要加上非标准时区的偏移时间
time_t standardtime=Localtime-tz_get()*3600;//不考虑非标准时区 在now()显示本地时间的时候不需要加上非标准时区的偏移时间
LOG_I_LINE("standardtime:%d\r\n",standardtime);
//更新时间 更新的是utc时间
struct timeval tv;
tv.tv_sec=(time_t)standardtime;//utc时间
tv.tv_usec=0;
settimeofday(&tv, NULL);//settimeofday()函数设置的是UTC协调世界时时间而不是当地时间
SET_nvs_Sys_Info_tzzone(sel_opt_idt);//保存时区
nvs_eepom_sysInfo_update();
//退出
if(!guider_ui.dateinfopage)
{
setup_scr_dateinfopage(&guider_ui);
}
lv_scr_load(guider_ui.dateinfopage);
if(guider_ui.datesetpage)
{
lv_obj_del(guider_ui.datesetpage);
guider_ui.datesetpage = NULL;
}
}
}
break;
default:
break;
}
}
// //实现原理 top层创建arc,默认是1s是1%,100s超时退出; 根据入网进程,改变animationtimer的周期 入网成功后定时器周期改为100ms 很快到达100%
void custom_network_timercb(lv_timer_t * timer)
{
// lv_img_set_angle(guider_ui.onofftime_imgmm_6, angle);
smartconfigtimer++;
printf("smartconfigtimer %d\r\n",smartconfigtimer);
if(smartconfigtimer>100)
{
if(animationtimer)
{
printf("del animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
}
if(smartconfigobj)
{
// printf("del smartinfobg before\r\n");
//
// lv_obj_clean(smartconfigobj);
// lv_obj_del(smartconfigobj);//自动删除smartlabel smartarc对象
// smartconfigobj=NULL;
//
// printf("del smartinfobg after\r\n");
//
// custom_setup_scr_screen(&guider_ui.smartinfopage,&guider_ui.setting);
printf("smartconfig timeout\r\n");
lv_obj_del(smartarc);//删除arc 直接去显示 超时信息
ZIGEvent evt;
if(smartconfigfag==ZIG_STATE_CONFIG_GATEWAY)
{
evt.event=ZIG_STATE_CONFIG_GATEWAY1;
}
else //if(smartconfigfag==ZIG_STATE_CONFIG_TIMEOUT)
{
evt.event=ZIG_STATE_CONFIG_TIMEOUT;
}
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));//显示和动作操作
}
else
{
printf("del smartinfobg null\r\n");
}
}
else
{
if(smartarc)
{
lv_arc_set_value(smartarc,smartconfigtimer);
}
if(smartlabel)
{
lv_label_set_text_fmt(smartlabel,"%d%%",smartconfigtimer);
}
}
}
//网络页
void custom_network_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1://
{
if(code==LV_EVENT_RELEASED)
{
smartconfigtimer=0;
smartconfigfag=ZIG_STATE_IDLE;
printf("network key\r\n");
// //Write style state: LV_STATE_DEFAULT for style_smartinfopage_imgbtn_2_main_main_default
// static lv_style_t style_smartinfopage_imgbtn_2_main_default;
// lv_style_reset(&style_smartinfopage_imgbtn_2_main_default);
// lv_style_set_text_color(&style_smartinfopage_imgbtn_2_main_default, lv_color_make(0x00, 0x00, 0x00);
// lv_style_set_img_recolor(&style_smartinfopage_imgbtn_2_main_default, lv_color_make(0xff, 0xff, 0xff));
// lv_style_set_img_recolor_opa(&style_smartinfopage_imgbtn_2_main_default, 0);
// lv_style_set_img_opa(&style_smartinfopage_imgbtn_2_main_default, 0);
// lv_obj_add_style(guider_ui.smartinfopage_joinimgbtn, &style_smartinfopage_imgbtn_2_main_default, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_img_opa(guider_ui.smartinfopage_joinimgbtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
if(animationtimer)
{
printf("network del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
}
animationtimer = lv_timer_create(custom_network_timercb,1000,NULL);
smartconfigobj = lv_obj_create(lv_layer_top());
lv_obj_set_pos(smartconfigobj, 0, 0);
lv_obj_set_size(smartconfigobj, 480, 480);
//lv_obj_add_flag(lv_layer_top(), LV_OBJ_FLAG_CLICKABLE);
//Write style state: LV_STATE_DEFAULT for style_smartinfopage_main_main_default
static lv_style_t style_smartconfigobj_default;
lv_style_reset(&style_smartconfigobj_default);
lv_style_set_bg_color(&style_smartconfigobj_default, lv_color_make(0x00, 0x00, 0x00));
lv_style_set_bg_opa(&style_smartconfigobj_default, 150);
lv_style_set_border_width(&style_smartconfigobj_default, 0);
lv_style_set_border_opa(&style_smartconfigobj_default, 0);
lv_style_set_pad_all(&style_smartconfigobj_default, 0);
lv_obj_add_style(smartconfigobj, &style_smartconfigobj_default, LV_PART_MAIN|LV_STATE_DEFAULT);
smartarc = lv_arc_create(smartconfigobj);
lv_arc_set_rotation(smartarc, 270);
lv_arc_set_bg_angles(smartarc, 0, 360);
lv_arc_set_value(smartarc,0);
lv_obj_remove_style(smartarc, NULL, LV_PART_KNOB); /*Be sure the knob is not displayed*/
lv_obj_clear_flag(smartarc, LV_OBJ_FLAG_CLICKABLE); /*To not allow adjusting by click*/
lv_obj_center(smartarc);
// lv_anim_t a;
// lv_anim_init(&a);
// lv_anim_set_var(&a, smartarc);
// lv_anim_set_exec_cb(&a, set_angle);
// lv_anim_set_time(&a, 1000);
// lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); /*Just for the demo*/
// lv_anim_set_repeat_delay(&a, 500);
// lv_anim_set_values(&a, 0, 100);
// lv_anim_start(&a);
smartlabel = lv_label_create(smartconfigobj);
lv_obj_set_size(smartlabel, 400, 25);
lv_obj_set_align(smartlabel,LV_ALIGN_CENTER);
lv_label_set_text(smartlabel,"");
lv_label_set_long_mode(smartlabel, LV_LABEL_LONG_WRAP);
lv_obj_set_style_text_align(smartlabel, LV_TEXT_ALIGN_CENTER, 0);
//Write style state: LV_STATE_DEFAULT for style_scen_label_1_main_main_default
static lv_style_t style_smartlabel_default;
lv_style_reset(&style_smartlabel_default);
lv_style_set_radius(&style_smartlabel_default, 0);
lv_style_set_bg_color(&style_smartlabel_default, lv_color_make(0x00, 0x00, 0x00));
lv_style_set_bg_grad_color(&style_smartlabel_default, lv_color_make(0x00, 0x00, 0x00));
lv_style_set_bg_grad_dir(&style_smartlabel_default, LV_GRAD_DIR_VER);
lv_style_set_bg_opa(&style_smartlabel_default, 0);
lv_style_set_text_color(&style_smartlabel_default, lv_color_make(0xFF, 0xFF, 0xFF));
lv_style_set_text_font(&style_smartlabel_default, &lv_font_simsun_16);
lv_style_set_text_letter_space(&style_smartlabel_default, 0);
lv_style_set_pad_left(&style_smartlabel_default, 0);
lv_style_set_pad_right(&style_smartlabel_default, 0);
lv_style_set_pad_top(&style_smartlabel_default, 0);
lv_style_set_pad_bottom(&style_smartlabel_default, 0);
lv_obj_add_style(smartlabel, &style_smartlabel_default, LV_PART_MAIN|LV_STATE_DEFAULT);
//通知去配网
ZIGEvent evt;
evt.event=ZIG_STATE_CONFIG_START;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent));
}
}
break;
case 2://SCAN//1 转圈
{
// //启动定时器去转圈
// if(animationtimer)
// {
// printf("wifi scan del old animationtimer\r\n");
// lv_timer_del(animationtimer);
// animationtimer=NULL;
// }
// wifiscan_animation=0;
// animationtimer = lv_timer_create(custom_wifiscan_animationcallback,100,NULL);
// //启动去扫描
// ZIGEvent evt;
// evt.event=ZIG_STATE_SCAN_START;
// evt.length=0;
// evt.buffStr=NULL;
// rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));
}
break;
case 3://
{
}
break;
default:
break;
}
}
//首屏
static void firstscreen_clock_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
const char * txt = lv_msgbox_get_active_btn_text(msgbox);
printf("click:%s\r\n",txt);
if( (strstr((const char *)txt,btns_chs[GET_nvs_Sys_Info_language()][0]) ) )
{
printf("click sure\r\n");
SET_nvs_Sys_Info_first(FIRST_CLOCK);
nvs_eepom_sysInfo_update();
ZIGEvent evtstate;
evtstate.event=ZIG_STATE_Switch_clock;
evtstate.length=0;
evtstate.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue, &evtstate, sizeof(ZIGEvent));//上报给zigbee
}
lv_msgbox_close(msgbox);
}
}
static void firstscreen_profile_msgbox_callback(lv_event_t *event)
{
lv_event_code_t code = lv_event_get_code(event);
lv_obj_t * msgbox = lv_event_get_current_target(event);
if ((code == LV_EVENT_VALUE_CHANGED) && (msgbox != NULL))
{
const char * txt = lv_msgbox_get_active_btn_text(msgbox);
printf("click:%s\r\n",txt);
if( (strstr((const char *)txt,btns_chs[GET_nvs_Sys_Info_language()][0]) ) )
{
printf("click sure\r\n");
SET_nvs_Sys_Info_first(FIRST_SWITCH);
nvs_eepom_sysInfo_update();
ZIGEvent evtstate;
evtstate.event=ZIG_STATE_Switch_clock;
evtstate.length=0;
evtstate.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue, &evtstate, sizeof(ZIGEvent));//上报给zigbee
}
lv_msgbox_close(msgbox);
}
}
void custom_firstscreen_key_status(char key,lv_event_code_t code)
{
printf("custom_firstscreen_key_status\r\n");
switch(key)
{
case 1://
{
if(code==LV_EVENT_RELEASED)
{
printf("first select clock\r\n");
//lv_obj_t * mbox1 = lv_msgbox_create(NULL, NULL, "\n您将选择时钟模式?\n", NULL, true);
//lv_obj_t * mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Clockmodeselect], NULL, true);
lv_obj_t * mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Clockmodeselect], btns_chs[GET_nvs_Sys_Info_language()], false);
//lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Clockmodeselect], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(mbox->title, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(mbox->title, LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(mbox->text, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(mbox->text, LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(mbox->btns, &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1,firstscreen_clock_msgbox_callback, LV_EVENT_ALL, NULL);
}
}
break;
case 2://
{
if(code==LV_EVENT_RELEASED)
{
printf("first select switch\r\n");
//lv_obj_t * mbox1 = lv_msgbox_create(NULL,NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_switchhmodeselect], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_obj_t * mbox1 = lv_msgbox_create(NULL, NULL, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_switchhmodeselect], btns_chs[GET_nvs_Sys_Info_language()], false);
lv_msgbox_t * mbox = (lv_msgbox_t *)mbox1;
// lv_obj_set_style_text_font(mbox->title, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//标题字体
// lv_obj_set_style_text_align(mbox->title, LV_TEXT_ALIGN_CENTER, 0);//标题居中显示
lv_obj_set_style_text_font(mbox->text, &lv_font_simsun_16, LV_PART_MAIN | LV_STATE_DEFAULT);//内容字体
lv_obj_set_style_text_align(mbox->text, LV_TEXT_ALIGN_CENTER, 0);//内容居中显示
lv_obj_set_style_text_font(mbox->btns, &lv_font_simsun_16, LV_PART_ITEMS | LV_STATE_DEFAULT);//按键字体
lv_obj_set_size(lv_msgbox_get_btns(mbox1), 250, 50);
lv_obj_center(mbox1);
lv_obj_add_event_cb((lv_obj_t *)mbox1,firstscreen_profile_msgbox_callback, LV_EVENT_ALL, NULL);
}
}
break;
default:
break;
}
}
//继电器路数选择界面
void custom_relayselect_key_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1: //
{
}
break;
case 2: //
{
}
break;
case 3: //
{
}
break;
case 4: //
{
}
break;
default:
break;
}
}
//scene界面
static void custom_scene_key1_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s1_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s1_bar,scenebarindex,false);
}
}
static void custom_scene_key2_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s2_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s2_bar,scenebarindex,false);
}
}
static void custom_scene_key3_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s3_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s3_bar,scenebarindex,false);
}
}
static void custom_scene_key4_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s4_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s4_bar,scenebarindex,false);
}
}
static void custom_scene_key5_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s5_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s5_bar,scenebarindex,false);
}
}
static void custom_scene_key6_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s6_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s6_bar,scenebarindex,false);
}
}
static void custom_scene_key7_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s7_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s7_bar,scenebarindex,false);
}
}
static void custom_scene_key8_timercb(lv_timer_t * timer)
{
scenebarindex +=10;
if(scenebarindex>100)
{
if(animationtimer)
{
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s8_bar,0,LV_ANIM_OFF);
scenebarindex=0;
}
else
{
lv_bar_set_value(guider_ui.scene_s8_bar,scenebarindex,false);
}
}
void custom_scene_btn_event(char key,lv_event_code_t code)
{
ZIGEvent evt;
memset(&evt,0,sizeof(evt));
// LOG_I_LINE("custom_scene_btn_event %d",key);
//停止动画
if(animationtimer)
{
printf("network del old animationtimer\r\n");
lv_timer_del(animationtimer);
animationtimer=NULL;
}
lv_bar_set_value(guider_ui.scene_s1_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s2_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s3_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s4_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s5_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s6_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s4_bar,0,LV_ANIM_OFF);
lv_bar_set_value(guider_ui.scene_s8_bar,0,LV_ANIM_OFF);
switch (key)
{
case 0:
{//提取滑到到哪一页 用于同步更新页图标
uint16_t tab_cur=lv_tabview_get_tab_act(guider_ui.scene_tabview_1);
LOG_I_LINE("scene tabview1 page %d",tab_cur);
if(tab_cur==1)
{
lv_img_set_src(guider_ui.scene_scenes_page_icon, LVGL_PATH(page_sw2_42x22.png));
}
else
{
lv_img_set_src(guider_ui.scene_scenes_page_icon, LVGL_PATH(page_sw1_42x22.png));
}
}
break;
case 1:
{
LOG_I_LINE("scene_btn 1");
//启动定时器
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key1_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_1;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 2:
{
LOG_I_LINE("scene_btn 2");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key2_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_2;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 3:
{
LOG_I_LINE("scene_btn 3");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key3_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_3;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 4:
{
LOG_I_LINE("scene_btn 4");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key4_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_4;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 5:
{
LOG_I_LINE("scene_btn 5");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key5_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_5;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 6:
{
LOG_I_LINE("scene_btn 6");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key6_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_6;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 7:
{
LOG_I_LINE("scene_btn 7");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key7_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_7;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 8:
{
LOG_I_LINE("scene_btn 8");
scenebarindex=0;
animationtimer = lv_timer_create(custom_scene_key8_timercb,80,NULL);
evt.event=ZIG_STATE_SCENE_8;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
default:
break;
}
}
//onoffs界面
void custom_onoff1_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
LOG_I_LINE("custom_onoff1_key_status:%d",key);
switch(key)
{
case 1://第一路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_1off;
}
else
{
evt.event=ZIG_STATE_1on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
default:
break;
}
}
void custom_onoff2_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
LOG_I_LINE("custom_onoff2_key_status:%d",key);
switch(key)
{
case 1://第一路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_1off;
}
else
{
evt.event=ZIG_STATE_1on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 2://第二路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_2off;
}
else
{
evt.event=ZIG_STATE_2on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
default:
break;
}
}
void custom_onoff3_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
LOG_I_LINE("custom_onoff3_key_status:%d",key);
switch(key)
{
case 1://第一路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_1off;
}
else
{
evt.event=ZIG_STATE_1on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 2://第二路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_2off;
}
else
{
evt.event=ZIG_STATE_2on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 3://第二路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_3off;
}
else
{
evt.event=ZIG_STATE_3on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
default:
break;
}
}
void custom_onoff4_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
LOG_I_LINE("custom_onoff4_key_status:%d",key);
switch(key)
{
case 1://第一路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_1off;
}
else
{
evt.event=ZIG_STATE_1on;
}
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 2://第二路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_2off;
}
else
{
evt.event=ZIG_STATE_2on;
}
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 3://第二路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_3off;
}
else
{
evt.event=ZIG_STATE_3on;
}
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 4://第4路按键
{
if(code==LV_EVENT_CLICKED)//按下触发
{
if(GET_nvs_Sys_Info_relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_4off;
}
else
{
evt.event=ZIG_STATE_4on;
}
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent));
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
default:
break;
}
}
//开关界面和时间开关界面 统一逻辑处理;eg:开关界面第一路是开的状态,切换到时间开关界面的第一路也要是开的状态 修改名称和灯背景 也统一处理
void custom_onofftime1_key_status(char key,lv_event_code_t code)
{
custom_onoff1_key_status(key,code);
}
void custom_onofftime2_key_status(char key,lv_event_code_t code)
{
custom_onoff2_key_status(key,code);
}
void custom_onofftime3_key_status(char key,lv_event_code_t code)
{
custom_onoff3_key_status(key,code);
}
void custom_onofftime4_key_status(char key,lv_event_code_t code)
{
custom_onoff4_key_status(key,code);
}
//dimmer界面
void custom_dimmer_btn_event(char key,lv_event_code_t code)
{
// LOG_I_LINE("custom_dimmer_btn_event %d",key);
switch (key)
{
case 0:
{//提取滑到到哪一页 用于同步更新页图标
uint16_t tab_cur=lv_tabview_get_tab_act(guider_ui.dimmer_tabview_1);
LOG_I_LINE("dimmer tabview1 page %d",tab_cur);
if(tab_cur==1)
{
lv_label_set_text(guider_ui.dimmer_pagelabel, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Dimmer2edpage]);
lv_img_set_src(guider_ui.dimmer_scenes_page_icon, LVGL_PATH(page_sw2_42x22.png));
}
else
{
lv_label_set_text(guider_ui.dimmer_pagelabel, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_Dimmer1edpage]);
lv_img_set_src(guider_ui.dimmer_scenes_page_icon, LVGL_PATH(page_sw1_42x22.png));
}
}
break;
default:
break;
}
}
//传递参数:色温/亮度/开关状态
void custom_dimmer_group1_event(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
evt.event=ZIG_STATE_light1_temp;
evt.length=lv_slider_get_value(guider_ui.dimmer_group1_slider_temp);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group1_slider_temp=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
evt.event=ZIG_STATE_light1_bright;
evt.length=lv_slider_get_value(guider_ui.dimmer_group1_slider_cold);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group1_slider_cold=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[0].status)//翻转状态
{
nvs_SysInfo.downlights[0].status=0;
}
else
{
nvs_SysInfo.downlights[0].status=1;
}
evt.event=ZIG_STATE_light1_switch_led;
evt.length=nvs_SysInfo.downlights[0].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_dimmer_group2_event(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
evt.event=ZIG_STATE_light2_temp;
evt.length=lv_slider_get_value(guider_ui.dimmer_group2_slider_temp);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group2_slider_temp=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
evt.event=ZIG_STATE_light2_bright;
evt.length=lv_slider_get_value(guider_ui.dimmer_group2_slider_cold);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group2_slider_cold=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[1].status)//翻转状态
{
nvs_SysInfo.downlights[1].status=0;
}
else
{
nvs_SysInfo.downlights[1].status=1;
}
evt.event=ZIG_STATE_light2_switch_led;
evt.length=nvs_SysInfo.downlights[1].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_dimmer_group3_event(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
evt.event=ZIG_STATE_light3_temp;
evt.length=lv_slider_get_value(guider_ui.dimmer_group3_slider_temp);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group3_slider_temp=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
evt.event=ZIG_STATE_light3_bright;
evt.length=lv_slider_get_value(guider_ui.dimmer_group3_slider_cold);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group3_slider_cold=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[2].status)//翻转状态
{
nvs_SysInfo.downlights[2].status=0;
}
else
{
nvs_SysInfo.downlights[2].status=1;
}
evt.event=ZIG_STATE_light3_switch_led;
evt.length=nvs_SysInfo.downlights[2].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_dimmer_group4_event(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
evt.event=ZIG_STATE_light4_temp;
evt.length=lv_slider_get_value(guider_ui.dimmer_group4_slider_temp);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group4_slider_temp=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
evt.event=ZIG_STATE_light4_bright;
evt.length=lv_slider_get_value(guider_ui.dimmer_group4_slider_cold);
evt.buffStr=NULL;
LOG_I_LINE("dimmer_group4_slider_cold=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[3].status)//翻转状态
{
nvs_SysInfo.downlights[3].status=0;
}
else
{
nvs_SysInfo.downlights[3].status=1;
}
evt.event=ZIG_STATE_light4_switch_led;
evt.length=nvs_SysInfo.downlights[3].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
static void custom_dimmerinfo_light1_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
LOG_I_LINE("dimmerinfo_tempslider_temp=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_tempslider));
evt.event=ZIG_STATE_light1_temp;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_tempslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_tempslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
LOG_I_LINE("dimmerinfo_coldslider=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_coldslider));
evt.event=ZIG_STATE_light1_bright;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_coldslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_coldslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[0].status)//翻转状态
{
nvs_SysInfo.downlights[0].status=0;
}
else
{
nvs_SysInfo.downlights[0].status=1;
}
evt.event=ZIG_STATE_light1_switch_led;
evt.length=nvs_SysInfo.downlights[0].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
static void custom_dimmerinfo_light2_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
LOG_I_LINE("dimmerinfo_tempslider_temp=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_tempslider));
evt.event=ZIG_STATE_light2_temp;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_tempslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_tempslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
LOG_I_LINE("dimmerinfo_coldslider=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_coldslider));
evt.event=ZIG_STATE_light2_bright;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_coldslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_coldslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[1].status)//翻转状态
{
nvs_SysInfo.downlights[1].status=0;
}
else
{
nvs_SysInfo.downlights[1].status=1;
}
evt.event=ZIG_STATE_light2_switch_led;
evt.length=nvs_SysInfo.downlights[1].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
static void custom_dimmerinfo_light3_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
LOG_I_LINE("dimmerinfo_tempslider_temp=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_tempslider));
evt.event=ZIG_STATE_light3_temp;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_tempslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_tempslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
LOG_I_LINE("dimmerinfo_coldslider=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_coldslider));
evt.event=ZIG_STATE_light3_bright;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_coldslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_coldslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[2].status)//翻转状态
{
nvs_SysInfo.downlights[2].status=0;
}
else
{
nvs_SysInfo.downlights[2].status=1;
}
evt.event=ZIG_STATE_light3_switch_led;
evt.length=nvs_SysInfo.downlights[2].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
static void custom_dimmerinfo_light4_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch (key)
{
case 0://色温
{
LOG_I_LINE("dimmerinfo_tempslider_temp=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_tempslider));
evt.event=ZIG_STATE_light4_temp;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_tempslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_tempslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://亮度
{
LOG_I_LINE("dimmerinfo_coldslider=%d%%",lv_slider_get_value(guider_ui.dimmerinfo_coldslider));
evt.event=ZIG_STATE_light4_bright;
evt.length=lv_slider_get_value(guider_ui.dimmerinfo_coldslider);
evt.buffStr=NULL;
//LOG_I_LINE("dimmerinfo_coldslider=%d%%",evt.length);
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://开关状态
{
if(nvs_SysInfo.downlights[3].status)//翻转状态
{
nvs_SysInfo.downlights[3].status=0;
}
else
{
nvs_SysInfo.downlights[3].status=1;
}
evt.event=ZIG_STATE_light4_switch_led;
evt.length=nvs_SysInfo.downlights[3].status;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_dimmerinfo_status(char key,lv_event_code_t code)
{
Downlights_Info *downlight=(Downlights_Info *)guider_ui.dimmerinfo->user_data;
LOG_I_LINE("downlights[0] address=0x%x",(uint32_t)&nvs_SysInfo.downlights[0]);
LOG_I_LINE("downlights[1] address=0x%x",(uint32_t)&nvs_SysInfo.downlights[1]);
LOG_I_LINE("downlights[2] address=0x%x",(uint32_t)&nvs_SysInfo.downlights[2]);
LOG_I_LINE("downlights[3] address=0x%x",(uint32_t)&nvs_SysInfo.downlights[3]);
LOG_I_LINE("current downlight address=0x%x",(uint32_t)downlight);
if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[0])
{
LOG_I_LINE("is equal downlights[0]");
custom_dimmerinfo_light1_status(key,code);
}
else if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[1])
{
LOG_I_LINE("is equal downlights[1]");
custom_dimmerinfo_light2_status(key,code);
}
else if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[2])
{
LOG_I_LINE("is equal downlights[2]");
custom_dimmerinfo_light3_status(key,code);
}
else if(downlight==(Downlights_Info *)&nvs_SysInfo.downlights[3])
{
LOG_I_LINE("is equal downlights[3]");
custom_dimmerinfo_light4_status(key,code);
}
else
{
LOG_I_LINE("is equal fail");
}
}
//curtain界面
void custom_curtain_btn_event(char key,lv_event_code_t code)
{
// LOG_I_LINE("custom_dimmer_btn_event %d",key);
switch (key)
{
case 0:
{//提取滑到到哪一页 用于同步更新页图标
}
break;
default:
break;
}
}
void custom_curtain_group1_event(char key,lv_event_code_t code)
{//枚举值: open, stop, close 对应于: 0, 1, 2
ZIGEvent evt;
switch (key)
{
case 0://开
{
LOG_I_LINE("custom_curtain_group1_event:open");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://停
{
LOG_I_LINE("custom_curtain_group1_event:pause");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://关
{
LOG_I_LINE("custom_curtain_group1_event:close");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_curtain_group2_event(char key,lv_event_code_t code)
{//枚举值: open, stop, close 对应于: 0, 1, 2
ZIGEvent evt;
switch (key)
{
case 0://开
{
LOG_I_LINE("custom_curtain_group2_event:open");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://停
{
LOG_I_LINE("custom_curtain_group2_event:pause");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://关
{
LOG_I_LINE("custom_curtain_group2_event:close");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_curtain_group3_event(char key,lv_event_code_t code)
{//枚举值: open, stop, close 对应于: 0, 1, 2
ZIGEvent evt;
switch (key)
{
case 0://开
{
LOG_I_LINE("custom_curtain_group3_event:open");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://停
{
LOG_I_LINE("custom_curtain_group3_event:pause");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://关
{
LOG_I_LINE("custom_curtain_group3_event:close");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
void custom_curtain_group4_event(char key,lv_event_code_t code)
{//枚举值: open, stop, close 对应于: 0, 1, 2
ZIGEvent evt;
switch (key)
{
case 0://开
{
LOG_I_LINE("custom_curtain_group4_event:open");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 1://停
{
LOG_I_LINE("custom_curtain_group4_event:pause");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
case 2://关
{
LOG_I_LINE("custom_curtain_group4_event:close");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
break;
default:
break;
}
}
static void custom_curtaininfo_curtain1_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch(key)
{
case 1://窗帘界面 开
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo1 open\r\n");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 2://窗帘界面 暂停
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo1 pause\r\n");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 3://窗帘界面 关
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo1 close\r\n");
evt.event=ZIG_STATE_Curtain1_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
default:
break;
}
}
static void custom_curtaininfo_curtain2_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch(key)
{
case 1://窗帘界面 开
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo2 open\r\n");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 2://窗帘界面 暂停
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo2 pause\r\n");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 3://窗帘界面 关
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo2 close\r\n");
evt.event=ZIG_STATE_Curtain2_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
default:
break;
}
}
static void custom_curtaininfo_curtain3_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch(key)
{
case 1://窗帘界面 开
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo3 open\r\n");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 2://窗帘界面 暂停
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo3 pause\r\n");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 3://窗帘界面 关
{
if(code==LV_EVENT_CLICKED)
{
printf("curtaininfo3 close\r\n");
evt.event=ZIG_STATE_Curtain3_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
default:
break;
}
}
void custom_curtaininfo_status(char key,lv_event_code_t code)
{
Curatin_Info *curtain=(Curatin_Info *)guider_ui.curtaininfo->user_data;
LOG_I_LINE("curtains[0] address=0x%x",(uint32_t)&nvs_SysInfo.curtains[0]);
LOG_I_LINE("curtains[1] address=0x%x",(uint32_t)&nvs_SysInfo.curtains[1]);
LOG_I_LINE("curtains[2] address=0x%x",(uint32_t)&nvs_SysInfo.curtains[2]);
LOG_I_LINE("curtains[3] address=0x%x",(uint32_t)&nvs_SysInfo.curtains[3]);
LOG_I_LINE("current curtain address=0x%x",(uint32_t)curtain);
if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[0])
{
LOG_I_LINE("is equal curtains[0]");
custom_curtaininfo_curtain1_status(key,code);
}
else if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[1])
{
LOG_I_LINE("is equal curtains[1]");
custom_curtaininfo_curtain2_status(key,code);
}
else if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[2])
{
LOG_I_LINE("is equal curtains[2]");
custom_curtaininfo_curtain3_status(key,code);
}
// else if(curtain==(Curatin_Info *)&nvs_SysInfo.curtains[3])
// {
// LOG_I_LINE("is equal curtains[3]");
// custom_rollersinfo_status(key,code);
// }
else
{
LOG_I_LINE("is equal fail");
}
}
void custom_rollersinfo_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
switch(key)
{
case 1://窗帘界面 开
{
if(code==LV_EVENT_CLICKED)
{
printf("rollersinfo4 open\r\n");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 2://窗帘界面 暂停
{
if(code==LV_EVENT_CLICKED)
{
printf("rollersinfo4 pause\r\n");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=1;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
case 3://窗帘界面 关
{
if(code==LV_EVENT_CLICKED)
{
printf("rollersinfo4 close\r\n");
evt.event=ZIG_STATE_Curtain4_status;
evt.length=2;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知ui改变状态
rt_mq_send(zig_rx_evt_queue,&evt, sizeof(ZIGEvent)); //通知zigbee发出群控命令
}
}
break;
default:
break;
}
}
void custom_addsubdevicepage_status(char key,lv_event_code_t code)
{
switch(key)
{
case 1:
{
LOG_I_LINE("click save subdevicepage");
//启动重新显示
ZIGEvent evt;
evt.event=ZIG_STATE_SUBDEVICE_UPDATE;
evt.length=0;
evt.buffStr=NULL;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
default:
break;
}
}
void custom_gang1onoff_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{ //1 2 3 4 详情界面的操作
case 1:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang1relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG11off;
}
else
{
evt.event=ZIG_STATE_GANG11on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 1 long");
// user_onoff_key_select=11;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 1 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 1 edit quit");
// }
// }
}
break;
//5 全开全关
//6 7 8 9设备界面的操作
case 5:
{
if(code==LV_EVENT_VALUE_CHANGED)//全开
{
//ZIGEvent evt;
//evt.length=0;
//evt.buffStr=NULL;
if (lv_obj_has_state(guider_ui.device_gang1imgbtn_1, LV_STATE_CHECKED))
{
printf("on\r\n");
evt.event=ZIG_STATE_GANG1_ALLon;
}
else
{
printf("off\r\n");
evt.event=ZIG_STATE_GANG1_ALLoff;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 6://1路
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang1relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG11off;
}
else
{
evt.event=ZIG_STATE_GANG11on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
default:
break;
}
}
void custom_gang2onoff_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{ //1 2 3 4 详情界面的操作
case 1://第1路
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang2relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG21off;
}
else
{
evt.event=ZIG_STATE_GANG21on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 1 long");
// user_onoff_key_select=21;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 1 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 1 edit quit");
// }
// }
}
break;
case 2://第2路
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang2relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG22off;
}
else
{
evt.event=ZIG_STATE_GANG22on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 2 long");
// user_onoff_key_select=22;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 2 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 2 edit quit");
// }
// }
}
break;
//5 全开全关
//6 7 8 9设备界面的操作
case 5://全开 全关
{
if(code==LV_EVENT_VALUE_CHANGED)
{
//ZIGEvent evt;
//evt.length=0;
//evt.buffStr=NULL;
if (lv_obj_has_state(guider_ui.device_gang2imgbtn_1, LV_STATE_CHECKED))
{
printf("on\r\n");
evt.event=ZIG_STATE_GANG2_ALLon;
}
else
{
printf("off\r\n");
evt.event=ZIG_STATE_GANG2_ALLoff;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 6://第1路
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang2relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG21off;
}
else
{
evt.event=ZIG_STATE_GANG21on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// }
}
break;
case 7://第2路
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang2relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG22off;
}
else
{
evt.event=ZIG_STATE_GANG22on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// }
}
break;
default:
break;
}
}
void custom_gang3onoff_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{
case 1:
{ //1 2 3 4 详情界面的操作
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG31off;
}
else
{
evt.event=ZIG_STATE_GANG31on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 1 long");
// user_onoff_key_select=31;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 1 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 1 edit quit");
// }
// }
}
break;
case 2:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG32off;
}
else
{
evt.event=ZIG_STATE_GANG32on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 2 long");
// user_onoff_key_select=32;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 2 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 2 edit quit");
// }
// }
}
break;
case 3:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG33off;
}
else
{
evt.event=ZIG_STATE_GANG33on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 3 long");
// user_onoff_key_select=33;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
//5 全开全关
//6 7 8 9设备界面的操作
case 5:
{
if(code==LV_EVENT_VALUE_CHANGED)
{
//ZIGEvent evt;
//evt.length=0;
//evt.buffStr=NULL;
if (lv_obj_has_state(guider_ui.device_gang3imgbtn_1, LV_STATE_CHECKED))
{
printf("on\r\n");
evt.event=ZIG_STATE_GANG3_ALLon;
}
else
{
printf("off\r\n");
evt.event=ZIG_STATE_GANG3_ALLoff;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 6:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG31off;
}
else
{
evt.event=ZIG_STATE_GANG31on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// }
}
break;
case 7:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG32off;
}
else
{
evt.event=ZIG_STATE_GANG32on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 8:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang3relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG33off;
}
else
{
evt.event=ZIG_STATE_GANG33on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 9:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG44off;
}
else
{
evt.event=ZIG_STATE_GANG44on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
default:
break;
}
}
void custom_gang4onoff_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{
case 1:
{ //1 2 3 4 详情界面的操作
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG41off;
}
else
{
evt.event=ZIG_STATE_GANG41on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 1 long");
// user_onoff_key_select=41;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 1 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 1 edit quit");
// }
// }
}
break;
case 2:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG42off;
}
else
{
evt.event=ZIG_STATE_GANG42on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 2 long");
// user_onoff_key_select=42;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 2 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 2 edit quit");
// }
// }
}
break;
case 3:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG43off;
}
else
{
evt.event=ZIG_STATE_GANG43on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 3 long");
// user_onoff_key_select=43;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
case 4:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG44off;
}
else
{
evt.event=ZIG_STATE_GANG44on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 4 long");
// user_onoff_key_select=44;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
//5 全开全关
//6 7 8 9设备界面的操作
case 5:
{
if(code==LV_EVENT_VALUE_CHANGED)
{
//ZIGEvent evt;
//evt.length=0;
//evt.buffStr=NULL;
if (lv_obj_has_state(guider_ui.device_gang4imgbtn_1, LV_STATE_CHECKED))
{
printf("on\r\n");
evt.event=ZIG_STATE_GANG4_ALLon;
}
else
{
printf("off\r\n");
evt.event=ZIG_STATE_GANG4_ALLoff;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 6:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG41off;
}
else
{
evt.event=ZIG_STATE_GANG41on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 7:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG42off;
}
else
{
evt.event=ZIG_STATE_GANG42on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 8:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG43off;
}
else
{
evt.event=ZIG_STATE_GANG43on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 9:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang4relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG44off;
}
else
{
evt.event=ZIG_STATE_GANG44on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
default:
break;
}
}
void custom_gang6onoff_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{
case 1:
{ //1 2 3 4 10 11详情界面的操作
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG61off;
}
else
{
evt.event=ZIG_STATE_GANG61on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 1 long");
// user_onoff_key_select=61;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 1 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 1 edit quit");
// }
// }
}
break;
case 2:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG62off;
}
else
{
evt.event=ZIG_STATE_GANG62on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 2 long");
// user_onoff_key_select=62;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 2 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 2 edit quit");
// }
// }
}
break;
case 3:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG63off;
}
else
{
evt.event=ZIG_STATE_GANG63on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 3 long");
// user_onoff_key_select=63;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
case 4:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG64off;
}
else
{
evt.event=ZIG_STATE_GANG64on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 4 long");
// user_onoff_key_select=64;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
case 10:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay5())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG65off;
}
else
{
evt.event=ZIG_STATE_GANG65on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 5 long");
// user_onoff_key_select=65;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
case 11:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay6())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG66off;
}
else
{
evt.event=ZIG_STATE_GANG66on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
// else if(code==LV_EVENT_LONG_PRESSED)//长按触发
// {
// LOG_I_LINE("key 6 long");
// user_onoff_key_select=66;//用于按键修改icon和名称
// if(!guider_ui.onoffiEdit)
// {
// LOG_I_LINE("key 3 edit enter");
// setup_scr_onoffiEdit(&guider_ui);
// LOG_I_LINE("key 3 edit quit");
// }
// }
}
break;
//5 全开全关
//6 7 8 9 15 16设备界面的操作
case 5:
{
if(code==LV_EVENT_VALUE_CHANGED)
{
//ZIGEvent evt;
//evt.length=0;
//evt.buffStr=NULL;
if (lv_obj_has_state(guider_ui.device_gang6imgbtn_1, LV_STATE_CHECKED))
{
printf("on\r\n");
evt.event=ZIG_STATE_GANG6_ALLon;
}
else
{
printf("off\r\n");
evt.event=ZIG_STATE_GANG6_ALLoff;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
}
break;
case 6:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay1())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG61off;
}
else
{
evt.event=ZIG_STATE_GANG61on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 7:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay2())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG62off;
}
else
{
evt.event=ZIG_STATE_GANG62on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 8:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay3())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG63off;
}
else
{
evt.event=ZIG_STATE_GANG63on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 9:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay4())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG64off;
}
else
{
evt.event=ZIG_STATE_GANG64on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 15:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay5())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG65off;
}
else
{
evt.event=ZIG_STATE_GANG65on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
case 16:
{
if(code==LV_EVENT_PRESSED)//按下触发
{
if(GET_nvs_Sys_Info_Gang6relay6())//上电内存清0 默认0 默认关
{
evt.event=ZIG_STATE_GANG66off;
}
else
{
evt.event=ZIG_STATE_GANG66on;
}
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));//上报给zigbee
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));//显示和动作操作
}
else if(code==LV_EVENT_LONG_PRESSED)//长按触发
{
}
}
break;
default:
break;
}
}
//空调
void custom_Airconditioner_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
switch(key)
{ //设备界面的4个按钮
case 1://开
{
if(code==LV_EVENT_CLICKED)
{
// lv_obj_clear_state(guider_ui.device_airbtn_2, LV_STATE_DISABLED);
// lv_obj_clear_state(guider_ui.device_airbtn_3, LV_STATE_DISABLED);
nvs_SysInfo.airconditioner.onoff=1;
evt.event=ZIG_STATE_SCENE_AirconditionerON;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 2://关
{
if(code==LV_EVENT_CLICKED)
{
// lv_obj_add_state(guider_ui.device_airbtn_2, LV_STATE_DISABLED);
// lv_obj_add_state(guider_ui.device_airbtn_3, LV_STATE_DISABLED);
nvs_SysInfo.airconditioner.onoff=0;
evt.event=ZIG_STATE_SCENE_AirconditionerOFF;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 3://制冷
{
if(code==LV_EVENT_CLICKED)
{
nvs_SysInfo.airconditioner.mode=1;
evt.event=ZIG_STATE_SCENE_Airconditionercool;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 4://制热
{
if(code==LV_EVENT_CLICKED)
{
nvs_SysInfo.airconditioner.mode=2;
evt.event=ZIG_STATE_SCENE_Airconditionerheat;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
//空调详情界面的空调功能
case 5://空调开关
{
if(code==LV_EVENT_CLICKED)
{
if(nvs_SysInfo.airconditioner.onoff)
{
nvs_SysInfo.airconditioner.onoff=0;
evt.event=ZIG_STATE_SCENE_AirconditionerOFF;
}
else
{
nvs_SysInfo.airconditioner.onoff=1;
evt.event=ZIG_STATE_SCENE_AirconditionerON;
}
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 6://模式
{
if(code==LV_EVENT_CLICKED)
{
//AUTO, COOL, HEAT, DRY, FAN
//循环显示
if(++nvs_SysInfo.airconditioner.mode>4)
{
nvs_SysInfo.airconditioner.mode=0;
}
evt.event=ZIG_STATE_SCENE_Airconditionermode;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 7://风向
{
if(code==LV_EVENT_CLICKED)
{
//AUTO, UP, MEDIUM, DOWN, LEFTORRIGHT
//循环显示
if(++nvs_SysInfo.airconditioner.direct>4)
{
nvs_SysInfo.airconditioner.direct=0;
}
evt.event=ZIG_STATE_SCENE_Airconditionerdirect;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 8://风速
{
if(code==LV_EVENT_CLICKED)
{
//AUTO, LOW, MEDIUM, HIGH
//循环显示
if(++nvs_SysInfo.airconditioner.speed>3)
{
nvs_SysInfo.airconditioner.speed=0;
}
evt.event=ZIG_STATE_SCENE_Airconditionerspeed;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 9://+
{
if(code==LV_EVENT_CLICKED)
{
//循环显示
if(++nvs_SysInfo.airconditioner.temp>=14)
{
nvs_SysInfo.airconditioner.temp=14;
}
evt.event=ZIG_STATE_SCENE_Airconditionertempadd;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
case 10://-
{
if(code==LV_EVENT_CLICKED)
{
//循环显示
if(nvs_SysInfo.airconditioner.temp>0)
{
nvs_SysInfo.airconditioner.temp -=1;
}
evt.event=ZIG_STATE_SCENE_Airconditionertempsub;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
}
break;
default:
break;
}
}
void custom_Projector_key_status(char key,lv_event_code_t code)
{
ZIGEvent evt;
evt.event=ZIG_STATE_IDLE;
evt.length=0;
evt.buffStr=NULL;
//
//Air_conditioner_mode_ary[nvs_SysInfo.airconditioner.mode]
switch(key)
{ //设备界面的1个按钮
case 1://开关
{
if (lv_obj_has_state(guider_ui.device_projectorsw, LV_STATE_CHECKED))
{
LOG_I_LINE("on");
nvs_SysInfo.projector.onoff=1;
evt.event=ZIG_STATE_SCENE_ProjectorON;
}
else
{
LOG_I_LINE("off");
nvs_SysInfo.projector.onoff=0;
evt.event=ZIG_STATE_SCENE_ProjectorOFF;
}
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
//详情界面
case 2://开关
{
if(nvs_SysInfo.projector.onoff)
{
nvs_SysInfo.projector.onoff=0;
evt.event=ZIG_STATE_SCENE_ProjectorOFF;
}
else
{
nvs_SysInfo.projector.onoff=1;
evt.event=ZIG_STATE_SCENE_ProjectorON;
}
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 3://音量
{
//Min, Small, Medium, Big, Max
//循环显示
if(++nvs_SysInfo.projector.volume>4)
{
nvs_SysInfo.projector.volume=0;
}
evt.event=ZIG_STATE_SCENE_Projector_volume;
rt_mq_send(custom_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 4://退出
{
evt.event=ZIG_STATE_SCENE_Projector_quit;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 5://返回
{
evt.event=ZIG_STATE_SCENE_Projector_return;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 6://主页
{
evt.event=ZIG_STATE_SCENE_Projector_home;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 7://菜单
{
evt.event=ZIG_STATE_SCENE_Projector_menu;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 8://上
{
evt.event=ZIG_STATE_SCENE_Projector_up;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 9://下
{
evt.event=ZIG_STATE_SCENE_Projector_down;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 10://左
{
evt.event=ZIG_STATE_SCENE_Projector_left;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 11://右
{
evt.event=ZIG_STATE_SCENE_Projector_right;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
case 12://确认
{
evt.event=ZIG_STATE_SCENE_Projector_sure;
rt_mq_send(zig_rx_evt_queue, &evt, sizeof(ZIGEvent));
}
break;
default:
break;
}
}