/** * @Author: 李建 * @Date: 2025/5/2 11:48 * Description: 系统设置功能 * Copyright: Copyright (©) 2025 永续绿建. All rights reserved. */ #ifndef WIRE_CONTROLLER_SETTING_H #define WIRE_CONTROLLER_SETTING_H #include #include #define NVS_REPORT_DATA_DURATION "report_dur" // 上报数据间隔 #define NVS_ALLOW_VALVE_ONOFF "allow_valve" // 是否允许风阀完全关闭 #define NVS_FF_NAME_1 "ff_n_1" // 风阀一名称 #define NVS_FF_NAME_2 "ff_n_2" // 风阀二名称 #define NVS_FF_NAME_3 "ff_n_3" // 风阀三名称 #define NVS_FF_NAME_4 "ff_n_4" // 风阀四名称 #define NVS_FF_NAME_5 "ff_n_5" // 风阀五名称 #define NVS_SOUND_ON_OFF_KEY "S_ON_OFF" #define NVS_SCREEN_AUTO_OFF_KEY "SCREEN_A_O" #define NVS_SOUND_VOLUME_KEY "S_VOLUME" #define NVS_SCREEN_OFF_MINUTE_KEY "SCREEN_O_M" #define NVS_INNER_ADDR "inner_addr" // 内机地址 #define NVS_FIX_TEMP_KEY "FIX_TEMP" #define NVS_FIX_HUM_KEY "FIX_HUM" #define NVS_SCREEN_ON_OFF "scr_on_off" // 屏幕当前状态 #define NVS_HP_MODE_KEY "hp_mode" #define NVS_HP_POWER_KEY "HP_POWER" #define NVS_HP_COOL_SET_TEMP_KEY "hp_c_temp" #define NVS_HP_HEAT_SET_TEMP_KEY "hp_h_temp" #define NVS_RELEY_STATUS_KEY "relay" #define NVS_FJSQ_SLAVE_ADDR "fjsq_addr" /** * 定义五恒模块的类型 */ typedef enum { QRXFJSJ = 1, // (全热)新风加湿一体机 XFCSJ = 2, // 新风除湿机 XFJHJ = 3 // 新风净化一体机 } five_const_module_type_e; enum { MODE_COOL = 1, MODE_HEAT }; /** * 定义系统设定参数结构体 */ typedef struct { uint16_t inner_addr; // 内机地址 int8_t fix_temp; // 温度修正值(-5,5) int8_t fix_hum; // 湿度修正值(-5,5) five_const_module_type_e five_const_module_type; // 五恒模块类型 uint8_t sound_on_off; // 声音开关 uint8_t screen_auto_off; // 是否自动关屏 uint8_t sound_volume; // 声音音量大小 uint8_t screen_off_minute; // 屏幕自动关屏时间 uint8_t report_data_duration; // 数据上报时间间隔,默认30秒一次 uint16_t hp_power; // 开关机状态 uint16_t hp_mode; // 设置模式 uint16_t hp_cool_set_temp; // 制冷水温设定 uint16_t hp_heat_set_temp; // 制热水温设定 uint16_t reley_status; // 分集水器1-8路状态 uint16_t fjsq_slave_addr;// 集控盒通讯地址 } system_setting_t; /** * 读取系统设定参数 * @param setting */ void read_system_setting(system_setting_t *setting); /** * 保存 ADDR * @param addr */ void save_inner_addr(uint8_t addr); /** * 保存系统配置 */ void save_system_setting(system_setting_t *setting); /** * 保存风阀配置信息 * @param setting * @param ctrl_no 控制编号 (1-5) * @param fan_valve_no 风阀编号(1-5) * @param value 0或1,代表关联与取消关联 */ void save_fan_valve_setting(system_setting_t *setting, uint8_t ctrl_no, uint8_t fan_valve_no, uint8_t value); /** * 熄屏计时器初始化 */ void screen_off_timer_init(system_setting_t *setting); /** * 重置屏幕熄灭 * 返回是否是重新点亮的操作 */ bool reset_screen_off(); #endif //WIRE_CONTROLLER_SETTING_H