| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /**
- * @Author: 李建
- * @Date: 2025/3/25 15:23
- * Description: 空调控制器
- * Copyright: Copyright (©) 2025 永续绿建. All rights reserved.
- */
- #ifndef WIRE_CONTROLLER_XF_CONTROLLER_H
- #define WIRE_CONTROLLER_XF_CONTROLLER_H
- #include "stdint.h"
- #include "setting.h"
- #include "esp_err.h"
- #define NVS_POWER_CONTROLLER "power" // 电源
- #define NVS_MODEL_CONTROLLER "model" // 工作模式
- #define NVS_FAN_SPEED_SET "fan_speed" // 风速挡位
- #define NVS_FILTER_USED_TIME "filter" //滤芯已使用时间
- #define NVS_MAX_HUM_SET "set_max_hum" // 自动模式下最大湿度
- #define NVS_MIN_HUM_SET "set_min_hum" // 自动模式下最小湿度
- #define NVS_NEW_FAN "new_fan" // 新风开关
- typedef struct {
- uint16_t power; // 电源状态
- uint16_t mode;
- uint16_t fan_speed;
- uint16_t filter_used_time;
- uint16_t set_max_hum;
- uint16_t set_min_hum;
- uint8_t filter_life_remaining;
- uint8_t error_code;
- }js_module_status_t;
- typedef struct {
- uint16_t power; // 电源状态
- uint16_t mode;
- uint16_t fan_speed;
- uint16_t filter_used_time;
- uint16_t set_hum;
- uint8_t filter_life_remaining;
- uint8_t error_code;
- }xfcs_status_t;
- /**
- * 定义保存空调设置参数的结构体
- */
- typedef struct {
- uint16_t power; // 电源状态
- uint16_t mode;
- uint16_t fan_speed;
- uint16_t filter_used_time;
- uint16_t set_max_hum;
- uint8_t filter_life_remaining;
- uint8_t js_error_code;
- uint8_t cs_error_code;
- uint8_t new_fan;//新风开关
- uint8_t filter_change_flag;//
- xfcs_status_t xfcs_status;//新风除湿机状态
- js_module_status_t js_module_status;//加湿模块状态
- uint8_t proof_mode;
- uint8_t filter_reset_flag;
- }xf_status_t;
- typedef struct {
- uint8_t code[3];
- uint8_t description[32];
- }xf_fault_t;
- enum {
- CS = 1,
- JS=3,
- SF=2,
- AUTO=4,
- };
- enum {
- XFCS_XF = 1,
- XFCS_XFCS=2,
- XFCS_NXHCS=3,
- XFCS_NXH=4,
- };
- enum {
- JS_JS = 3,
- };
- extern xf_fault_t xf_fault[9];
- extern xf_fault_t xf_CSFault[];
- void stop_xf_controller();
- // 保存当前空调状态
- extern xf_status_t xf_status;
- /**
- * 控制器初始化
- * @param setting 系统设置参数
- */
- void xf_controller_init(system_setting_t * setting);
- /**
- * 设置滤网剩余寿命
- * @param saved 是否保存到 nvs 中
- */
- void xf_set_filter_life_remain(bool saved);
- /**
- * 设置风档
- * @param saved 是否保存到 nvs 中
- */
- esp_err_t xf_set_fan_speed(bool saved);
- /**
- * 设置电源
- * @param saved 是否保存到 nvs 中
- */
- esp_err_t xf_set_power(bool saved);
- /**
- * 设置温度
- * @param saved 是否保存到 nvs 中
- */
- esp_err_t ac_set_temp(bool saved);
- /**
- * 设置模式
- * @param saved 是否保存到 nvs 中
- */
- esp_err_t xf_set_mode(bool saved);
- /**
- * 设置对应风阀开度
- * @param no 风阀序号
- * @param degree 风阀开度
- */
- esp_err_t ac_set_fan_valve(uint8_t no, uint16_t degree);
- /**
- * 注册云端指令
- */
- void register_sparrow_commands(void);
- /**
- * 手动新风
- *
- */
- esp_err_t set_new_fan(bool saved);
- esp_err_t xf_set_max_hum(bool saved);
- void read_xf_status(system_setting_t *setting);
- #endif //WIRE_CONTROLLER_XF_CONTROLLER_H
|