/* * 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 #include #define DBG_TAG "custom" #define DBG_LVL DBG_LOG #include #ifdef RT_USING_ULOG #include #endif #include #include #include #include #include #include "aic_core.h" #include "aic_hal_gpio.h" #include #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 #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=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个调光群组用对应调光开关状态的dpid(121~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; } }