/* */ #ifndef __NVS_EEPOM_H__ #define __NVS_EEPOM_H__ #include #include #include #include #include "rtthread.h" #include "rtconfig.h" typedef enum { CJ_FAMILY=0,//家庭 CJ_OFFICE, //办公 CJ_HOTEL, //酒店办公 }CANGJING_TYPEDEF; typedef enum { FIRST_SWITCH=0,//开关模式 FIRST_CLOCK, //时钟+开关模式 FIRST_MAX, }FIRST_TYPEDEF; typedef enum { RELAY_1gang=1, //1路负载 RELAY_2gang, //2路负载 RELAY_3gang, //3路负载 RELAY_4gang, //4路负载 RELAY_MAX, }RELAY_TYPEDEF; //----------------------------------------------------- //语言 typedef enum { LANG_CH=0, //中文 LANG_EN, //英文 LANG_MAX, }LANG_TYPEDEF; //----------------------------------------------------- //场景 #define D_Scene_Label_MAX 64 typedef struct { uint8_t delenable; //是否允许删除场景 uint8_t sceneindex; //场景序号 uint8_t icon; //图标 char Label[D_Scene_Label_MAX]; //场景名称 }Scene_Info; //----------------------------------------------------- //上电记忆 //off:0x00 //on:0x01 //memory:0x02 typedef enum { RELAY_STATUS_OFF=0, //断电 默认 RELAY_STATUS_ON, //通电 RELAY_STATUS_MEMORY,//断电记忆酒店办公 }RSTATUS_POWER; //上电继电器状态 #define relayfirst_powerflag 0x80 #define relay_powerflag 0x03 //----------------------------------------------------- //继电器 #define D_Relay_Label_MAX 64 typedef struct { uint8_t relay; //开关状态 uint8_t port; //开关对应的继电器端口 uint8_t status; //上电继电器状态 uint8_t icon; //图标 char Label[D_Relay_Label_MAX]; //场景名称 }Relay_Info; //----------------------------------------------------- //灯 #define D_Downlights_Label_MAX 64 typedef struct { uint16_t GroupID;//群组id uint8_t DPID; //dp id uint8_t status; //开关状态 uint8_t colortemperature; //色温百分比 uint8_t brightness; //亮度百分比 uint8_t light_type; //调光类型 单色灯还是冷暖灯 uint8_t icon; //图标 char Label[D_Downlights_Label_MAX];//场景名称 }Downlights_Info; //----------------------------------------------------- //窗帘 #define D_Curatin_Label_MAX 64 typedef struct { uint16_t GroupID; //群组id uint8_t DPID; //dp id uint8_t percentage;//百分比 uint8_t pos; //窗帘位置//临时都还用 uint8_t status; //开关状态 开 关 停 char Label[D_Curatin_Label_MAX];//窗帘名称 }Curatin_Info; //----------------------------------------------------- //空调 typedef struct { uint8_t onoff; //开关//枚举型(Enum)//On, Off uint8_t mode; //模式//枚举型(Enum)//AUTO, COOL, HEAT, DRY, FAN uint8_t direct; //风向//枚举型(Enum)//AUTO, UP, MEDIUM, DOWN, LEFTORRIGHT uint8_t speed; //风速//枚举型(Enum)//AUTO, LOW, MEDIUM, HIGH uint8_t temp; //温度//枚举型(Enum)//16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }Air_Info; //----------------------------------------------------- //投影仪 typedef struct { uint8_t onoff; //开关//枚举型(Enum)//On, Off uint8_t volume; //音量//枚举型(Enum)//Min, Small, Medium, Big, Max uint8_t dir; //方向//枚举型(Enum)//Up, Down, Left, Right }Projector_Info; //----------------------------------------------------- typedef struct { uint8_t flag; //手动保存wifi信息 原因:不在wifi模式下 经测试app下发的密码信息 用esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config)无法保存 uint8_t ssid[32]; /**< SSID of target AP*/ uint8_t password[64]; /**< password of target AP*/ //时区 char tzzone[16]; // uint8_t debug; uint8_t language;//语言 uint8_t autoupdatetime;//是否自动更新时间 uint8_t backlight;//亮度 uint8_t autobacklight;//是否自动亮度 uint16_t autoScreentime;//息屏时间(单位:秒) 0是永久 uint8_t officemode;//办公模式: uint8_t firstmode;//首屏模式 情景+时钟开关 情景+开关 //======开关 uint8_t totalrelay;//最大几路 uint8_t currentrelay;//当前选择的几路 Relay_Info relay1;//继电器开关1 Relay_Info relay2;//继电器开关2 Relay_Info relay3;//继电器开关3 Relay_Info relay4;//继电器开关4 //======首屏场景 Scene_Info scen_array[8]; //======场景开关 uint8_t gang1_sw;//1路场景开关 Relay_Info gang1_sw1;//场景开关1 // Relay_Info gang1_sw2;//场景开关2 // Relay_Info gang1_sw3;//场景开关3 // Relay_Info gang1_sw4;//场景开关4 uint8_t gang2_sw;//2路场景开关 Relay_Info gang2_sw1;//场景开关1 Relay_Info gang2_sw2;//场景开关2 // Relay_Info gang2_sw3;//场景开关3 // Relay_Info gang2_sw4;//场景开关4 uint8_t gang3_sw;//3路场景开关 Relay_Info gang3_sw1;//场景开关1 Relay_Info gang3_sw2;//场景开关2 Relay_Info gang3_sw3;//场景开关3 // Relay_Info gang3_sw4;//场景开关4 uint8_t gang4_sw;//4路场景开关 Relay_Info gang4_sw1;//场景开关1 Relay_Info gang4_sw2;//场景开关2 Relay_Info gang4_sw3;//场景开关3 Relay_Info gang4_sw4;//场景开关4 uint8_t gang6_sw;//6路场景开关 Relay_Info gang6_sw1;//场景开关1 Relay_Info gang6_sw2;//场景开关2 Relay_Info gang6_sw3;//场景开关3 Relay_Info gang6_sw4;//场景开关4 Relay_Info gang6_sw5;//场景开关5 Relay_Info gang6_sw6;//场景开关6 uint8_t gangonoff1_scutkey; uint8_t gangonoff2_scutkey; uint8_t gangonoff3_scutkey; uint8_t gangonoff4_scutkey; uint8_t gangonoff6_scutkey; //======空调 //======投影仪 //======灯组群 Downlights_Info downlights[4];//设备-->灯页 uint8_t downligths_scutkey; //======窗帘组群 Curatin_Info curtains[4]; uint8_t curtaininfo_pos; //窗帘位置//百分比 uint8_t curtain_scutkey; Air_Info airconditioner;//空调 uint8_t aircontrol_scutkey; Projector_Info projector;//投影仪 uint8_t projector_scutkey; // uint8_t rollers1_scutkey; // uint8_t rollers2_scutkey; // uint8_t socket1_scutkey; // uint8_t socket2_scutkey; // uint8_t socket1_sw;//插座1场景开关 // Relay_Info socket1_sw1;//插座1 // uint8_t socket2_sw;//插座2场景开关 // Relay_Info socket2_sw1;//插座2 // uint8_t shutters_scutkey; // uint8_t projection_scutkey; // uint8_t mubu_scutkey; // uint8_t gauzecurtain_scutkey; // uint8_t window_scutkey; uint8_t wifi_sw; uint8_t subdevice_array[13];//13个设备 0没有 1有设备显示 //subdevice_array[13]保留 uint8_t reserved[40]; }nvs_Sys_Info; extern nvs_Sys_Info nvs_SysInfo; #define nvs_Sys_Info_SysInfo (nvs_SysInfo) //#define SET_nvs_Sys_Info_debug(val) (nvs_SysInfo.debug=val) //#define GET_nvs_Sys_Info_debug() (nvs_SysInfo.debug) #define SET_nvs_Sys_Info_language(val) (nvs_SysInfo.language=val) #define GET_nvs_Sys_Info_language() (nvs_SysInfo.language) #define SET_nvs_Sys_Info_autoupdatetime(val) (nvs_SysInfo.autoupdatetime=val) #define GET_nvs_Sys_Info_autoupdatetime() (nvs_SysInfo.autoupdatetime) #define SET_nvs_Sys_Info_backlight(val) (nvs_SysInfo.backlight=val) #define GET_nvs_Sys_Info_backlight() (nvs_SysInfo.backlight) #define SET_nvs_Sys_Info_autobacklight(val) (nvs_SysInfo.autobacklight=val) #define GET_nvs_Sys_Info_autobacklight() (nvs_SysInfo.autobacklight) #define SET_nvs_Sys_Info_autoScreentime(val) (nvs_SysInfo.autoScreentime=val) #define GET_nvs_Sys_Info_autoScreentime() (nvs_SysInfo.autoScreentime) #define SET_nvs_Sys_Info_office(val) (nvs_SysInfo.officemode=val) #define GET_nvs_Sys_Info_office() (nvs_SysInfo.officemode) #define SET_nvs_Sys_Info_first(val) (nvs_SysInfo.firstmode=val) #define GET_nvs_Sys_Info_first() (nvs_SysInfo.firstmode) //----------------------------------------------------------------------------------------- #define SET_nvs_Sys_Info_totalrelay(val) (nvs_SysInfo.totalrelay=val) #define GET_nvs_Sys_Info_totalrelay() (nvs_SysInfo.totalrelay) #define SET_nvs_Sys_Info_currentrelay(val) (nvs_SysInfo.currentrelay=val) #define GET_nvs_Sys_Info_currentrelay() (nvs_SysInfo.currentrelay) //---------------- #define SET_nvs_Sys_Info_relay1status(val) (nvs_SysInfo.relay1.status=val) #define GET_nvs_Sys_Info_relay1status() (nvs_SysInfo.relay1.status) #define SET_nvs_Sys_Info_relay2status(val) (nvs_SysInfo.relay2.status=val) #define GET_nvs_Sys_Info_relay2status() (nvs_SysInfo.relay2.status) #define SET_nvs_Sys_Info_relay3status(val) (nvs_SysInfo.relay3.status=val) #define GET_nvs_Sys_Info_relay3status() (nvs_SysInfo.relay3.status) #define SET_nvs_Sys_Info_relay4status(val) (nvs_SysInfo.relay4.status=val) #define GET_nvs_Sys_Info_relay4status() (nvs_SysInfo.relay4.status) //icon #define SET_nvs_Sys_Info_relay1icon(val) (nvs_SysInfo.relay1.icon=val) #define GET_nvs_Sys_Info_relay1icon() (nvs_SysInfo.relay1.icon) #define SET_nvs_Sys_Info_relay2icon(val) (nvs_SysInfo.relay2.icon=val) #define GET_nvs_Sys_Info_relay2icon() (nvs_SysInfo.relay2.icon) #define SET_nvs_Sys_Info_relay3icon(val) (nvs_SysInfo.relay3.icon=val) #define GET_nvs_Sys_Info_relay3icon() (nvs_SysInfo.relay3.icon) #define SET_nvs_Sys_Info_relay4icon(val) (nvs_SysInfo.relay4.icon=val) #define GET_nvs_Sys_Info_relay4icon() (nvs_SysInfo.relay4.icon) //---------------- #define SET_nvs_Sys_Info_relay1(val) (nvs_SysInfo.relay1.relay=val) #define GET_nvs_Sys_Info_relay1() (nvs_SysInfo.relay1.relay) #define SET_nvs_Sys_Info_relay2(val) (nvs_SysInfo.relay2.relay=val) #define GET_nvs_Sys_Info_relay2() (nvs_SysInfo.relay2.relay) #define SET_nvs_Sys_Info_relay3(val) (nvs_SysInfo.relay3.relay=val) #define GET_nvs_Sys_Info_relay3() (nvs_SysInfo.relay3.relay) #define SET_nvs_Sys_Info_relay4(val) (nvs_SysInfo.relay4.relay=val) #define GET_nvs_Sys_Info_relay4() (nvs_SysInfo.relay4.relay) //----------------------------------------------------------------------------------------- // #define SET_nvs_Sys_Info_downlights_sw(val) (nvs_SysInfo.downlights.sw=val) // #define GET_nvs_Sys_Info_downlights_sw() (nvs_SysInfo.downlights.sw) // #define SET_nvs_Sys_Info_downlights_colortemp(val) (nvs_SysInfo.downlights.colortemperature=val) // #define GET_nvs_Sys_Info_downlights_colortemp() (nvs_SysInfo.downlights.colortemperature) // #define SET_nvs_Sys_Info_downlights_brightness(val) (nvs_SysInfo.downlights.brightness=val) // #define GET_nvs_Sys_Info_downlights_brightness() (nvs_SysInfo.downlights.brightness) // #define SET_nvs_Sys_Info_y(val) (nvs_SysInfo.downlights.y=val) // #define GET_nvs_Sys_Info_y() (nvs_SysInfo.downlights.y) // #define SET_nvs_Sys_Info_w(val) (nvs_SysInfo.downlights.w=val) // #define GET_nvs_Sys_Info_w() (nvs_SysInfo.downlights.w) // #define SET_nvs_Sys_Info_downlights_icon(val) (nvs_SysInfo.downlights.icon=val) // #define GET_nvs_Sys_Info_downlights_icon() (nvs_SysInfo.downlights.icon) #define SET_nvs_Sys_Info_curtaininfo_pos(val) (nvs_SysInfo.curtaininfo_pos=val) #define GET_nvs_Sys_Info_curtaininfo_pos() (nvs_SysInfo.curtaininfo_pos) #define SET_nvs_Sys_Info_curtain2_pos(val) (nvs_SysInfo.curtain2_pos=val) #define GET_nvs_Sys_Info_curtain2_pos() (nvs_SysInfo.curtain2_pos) #define SET_nvs_Sys_Info_rollers1_pos(val) (nvs_SysInfo.rollers1_pos=val) #define GET_nvs_Sys_Info_rollers1_pos() (nvs_SysInfo.rollers1_pos) #define SET_nvs_Sys_Info_rollers2_pos(val) (nvs_SysInfo.rollers2_pos=val) #define GET_nvs_Sys_Info_rollers2_pos() (nvs_SysInfo.rollers2_pos) //----------------1 #define SET_nvs_Sys_Info_Gang1all(val) (nvs_SysInfo.gang1_sw=val) #define GET_nvs_Sys_Info_Gang1all() (nvs_SysInfo.gang1_sw) #define SET_nvs_Sys_Info_Gang1relay1(val) (nvs_SysInfo.gang1_sw1.relay=val) #define GET_nvs_Sys_Info_Gang1relay1() (nvs_SysInfo.gang1_sw1.relay) //----------------2 #define SET_nvs_Sys_Info_Gang2all(val) (nvs_SysInfo.gang2_sw=val) #define GET_nvs_Sys_Info_Gang2all() (nvs_SysInfo.gang2_sw) #define SET_nvs_Sys_Info_Gang2relay1(val) (nvs_SysInfo.gang2_sw1.relay=val) #define GET_nvs_Sys_Info_Gang2relay1() (nvs_SysInfo.gang2_sw1.relay) #define SET_nvs_Sys_Info_Gang2relay2(val) (nvs_SysInfo.gang2_sw2.relay=val) #define GET_nvs_Sys_Info_Gang2relay2() (nvs_SysInfo.gang2_sw2.relay) //----------------3 #define SET_nvs_Sys_Info_Gang3all(val) (nvs_SysInfo.gang3_sw=val) #define GET_nvs_Sys_Info_Gang3all() (nvs_SysInfo.gang3_sw) #define SET_nvs_Sys_Info_Gang3relay1(val) (nvs_SysInfo.gang3_sw1.relay=val) #define GET_nvs_Sys_Info_Gang3relay1() (nvs_SysInfo.gang3_sw1.relay) #define SET_nvs_Sys_Info_Gang3relay2(val) (nvs_SysInfo.gang3_sw2.relay=val) #define GET_nvs_Sys_Info_Gang3relay2() (nvs_SysInfo.gang3_sw2.relay) #define SET_nvs_Sys_Info_Gang3relay3(val) (nvs_SysInfo.gang3_sw3.relay=val) #define GET_nvs_Sys_Info_Gang3relay3() (nvs_SysInfo.gang3_sw3.relay) //----------------4 #define SET_nvs_Sys_Info_Gang4all(val) (nvs_SysInfo.gang4_sw=val) #define GET_nvs_Sys_Info_Gang4all() (nvs_SysInfo.gang4_sw) #define SET_nvs_Sys_Info_Gang4relay1(val) (nvs_SysInfo.gang4_sw1.relay=val) #define GET_nvs_Sys_Info_Gang4relay1() (nvs_SysInfo.gang4_sw1.relay) #define SET_nvs_Sys_Info_Gang4relay2(val) (nvs_SysInfo.gang4_sw2.relay=val) #define GET_nvs_Sys_Info_Gang4relay2() (nvs_SysInfo.gang4_sw2.relay) #define SET_nvs_Sys_Info_Gang4relay3(val) (nvs_SysInfo.gang4_sw3.relay=val) #define GET_nvs_Sys_Info_Gang4relay3() (nvs_SysInfo.gang4_sw3.relay) #define SET_nvs_Sys_Info_Gang4relay4(val) (nvs_SysInfo.gang4_sw4.relay=val) #define GET_nvs_Sys_Info_Gang4relay4() (nvs_SysInfo.gang4_sw4.relay) //----------------6 #define SET_nvs_Sys_Info_Gang6all(val) (nvs_SysInfo.gang6_sw=val) #define GET_nvs_Sys_Info_Gang6all() (nvs_SysInfo.gang6_sw) #define SET_nvs_Sys_Info_Gang6relay1(val) (nvs_SysInfo.gang6_sw1.relay=val) #define GET_nvs_Sys_Info_Gang6relay1() (nvs_SysInfo.gang6_sw1.relay) #define SET_nvs_Sys_Info_Gang6relay2(val) (nvs_SysInfo.gang6_sw2.relay=val) #define GET_nvs_Sys_Info_Gang6relay2() (nvs_SysInfo.gang6_sw2.relay) #define SET_nvs_Sys_Info_Gang6relay3(val) (nvs_SysInfo.gang6_sw3.relay=val) #define GET_nvs_Sys_Info_Gang6relay3() (nvs_SysInfo.gang6_sw3.relay) #define SET_nvs_Sys_Info_Gang6relay4(val) (nvs_SysInfo.gang6_sw4.relay=val) #define GET_nvs_Sys_Info_Gang6relay4() (nvs_SysInfo.gang6_sw4.relay) #define SET_nvs_Sys_Info_Gang6relay5(val) (nvs_SysInfo.gang6_sw5.relay=val) #define GET_nvs_Sys_Info_Gang6relay5() (nvs_SysInfo.gang6_sw5.relay) #define SET_nvs_Sys_Info_Gang6relay6(val) (nvs_SysInfo.gang6_sw6.relay=val) #define GET_nvs_Sys_Info_Gang6relay6() (nvs_SysInfo.gang6_sw6.relay) // //插座1 // #define SET_nvs_Sys_Info_Socket1all(val) (nvs_SysInfo.socket1_sw=val) // #define GET_nvs_Sys_Info_Socket1all() (nvs_SysInfo.socket1_sw) // #define SET_nvs_Sys_Info_Socket1relay1(val) (nvs_SysInfo.socket1_sw1.relay=val) // #define GET_nvs_Sys_Info_Socket1relay1() (nvs_SysInfo.socket1_sw1.relay) // //插座2 // #define SET_nvs_Sys_Info_Socket2all(val) (nvs_SysInfo.socket2_sw=val) // #define GET_nvs_Sys_Info_Socket2all() (nvs_SysInfo.socket2_sw) // #define SET_nvs_Sys_Info_Socket2relay1(val) (nvs_SysInfo.socket2_sw1.relay=val) // #define GET_nvs_Sys_Info_Socket2relay1() (nvs_SysInfo.socket2_sw1.relay) //-------------------------------- //1 //icon #define SET_nvs_Sys_Info_Gang11icon(val) (nvs_SysInfo.gang1_sw1.icon=val) #define GET_nvs_Sys_Info_Gang11icon() (nvs_SysInfo.gang1_sw1.icon) //2 //icon #define SET_nvs_Sys_Info_Gang21icon(val) (nvs_SysInfo.gang2_sw1.icon=val) #define GET_nvs_Sys_Info_Gang21icon() (nvs_SysInfo.gang2_sw1.icon) #define SET_nvs_Sys_Info_Gang22icon(val) (nvs_SysInfo.gang2_sw2.icon=val) #define GET_nvs_Sys_Info_Gang22icon() (nvs_SysInfo.gang2_sw2.icon) //3 //icon #define SET_nvs_Sys_Info_Gang31icon(val) (nvs_SysInfo.gang3_sw1.icon=val) #define GET_nvs_Sys_Info_Gang31icon() (nvs_SysInfo.gang3_sw1.icon) #define SET_nvs_Sys_Info_Gang32icon(val) (nvs_SysInfo.gang3_sw2.icon=val) #define GET_nvs_Sys_Info_Gang32icon() (nvs_SysInfo.gang3_sw2.icon) #define SET_nvs_Sys_Info_Gang33icon(val) (nvs_SysInfo.gang3_sw3=val) #define GET_nvs_Sys_Info_Gang33icon() (nvs_SysInfo.gang3_sw3.icon) //4 //icon #define SET_nvs_Sys_Info_Gang41icon(val) (nvs_SysInfo.gang4_sw1.icon=val) #define GET_nvs_Sys_Info_Gang41icon() (nvs_SysInfo.gang4_sw1.icon) #define SET_nvs_Sys_Info_Gang42icon(val) (nvs_SysInfo.gang4_sw2.icon=val) #define GET_nvs_Sys_Info_Gang42icon() (nvs_SysInfo.gang4_sw2.icon) #define SET_nvs_Sys_Info_Gang43icon(val) (nvs_SysInfo.gang4_sw3=val) #define GET_nvs_Sys_Info_Gang43icon() (nvs_SysInfo.gang4_sw3.icon) #define SET_nvs_Sys_Info_Gang44icon(val) (nvs_SysInfo.gang4_sw4.icon=val) #define GET_nvs_Sys_Info_Gang44icon() (nvs_SysInfo.gang4_sw4.icon) //6 //icon #define SET_nvs_Sys_Info_Gang61icon(val) (nvs_SysInfo.gang6_sw1.icon=val) #define GET_nvs_Sys_Info_Gang61icon() (nvs_SysInfo.gang6_sw1.icon) #define SET_nvs_Sys_Info_Gang62icon(val) (nvs_SysInfo.gang6_sw2.icon=val) #define GET_nvs_Sys_Info_Gang62icon() (nvs_SysInfo.gang6_sw2.icon) #define SET_nvs_Sys_Info_Gang63icon(val) (nvs_SysInfo.gang6_sw3=val) #define GET_nvs_Sys_Info_Gang63icon() (nvs_SysInfo.gang6_sw3.icon) #define SET_nvs_Sys_Info_Gang64icon(val) (nvs_SysInfo.gang6_sw4.icon=val) #define GET_nvs_Sys_Info_Gang64icon() (nvs_SysInfo.gang6_sw4.icon) #define SET_nvs_Sys_Info_Gang65icon(val) (nvs_SysInfo.gang6_sw5.icon=val) #define GET_nvs_Sys_Info_Gang65icon() (nvs_SysInfo.gang6_sw5.icon) #define SET_nvs_Sys_Info_Gang66icon(val) (nvs_SysInfo.gang6_sw6.icon=val) #define GET_nvs_Sys_Info_Gang66icon() (nvs_SysInfo.gang6_sw6.icon) // //插座1 // //icon // #define SET_nvs_Sys_Info_Socket11icon(val) (nvs_SysInfo.socket1_sw1.icon=val) // #define GET_nvs_Sys_Info_Socket11icon() (nvs_SysInfo.socket1_sw1.icon) // //插座2 // //icon // #define SET_nvs_Sys_Info_Socket21icon(val) (nvs_SysInfo.socket2_sw1.icon=val) // #define GET_nvs_Sys_Info_Socket21icon() (nvs_SysInfo.socket2_sw1.icon) // // // #define SET_nvs_Sys_Info_wifi_sw(val) (nvs_SysInfo.wifi_sw=val) // #define GET_nvs_Sys_Info_wifi_sw() (nvs_SysInfo.wifi_sw) //============================================================================= void nvs_eepom_init(void); void nvs_eepom_factory(void); void nvs_eepom_sysInfo_update(void); //============================================================================= //============================================================================= #endif // __nvs_EEPOM_H__