Files
RS485_T1_Transition/Source/SYSTEM/inc/tempctrl_unit.h
yeyangwen 5a726f7378 feat:修改设备类型
feat:修改为红外转发设备,将中弘网关协议转换为主机红外协议
2026-02-09 17:48:39 +08:00

106 lines
2.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef __TEMPCTRL_UNIT_H__
#define __TEMPCTRL_UNIT_H__
#include "apt32f102_types_local.h"
/*温控相关宏定义开始*/
#define TEM_MIN_SET 0x10 //最低温度
#define TEM_MAX_SET 0x20 //最高温度
#define TEM_VALVE_OPEN 0x01 //阀开
#define TEM_VALVE_CLOSE 0x00 //阀关
#define FAN_LOW 0x00 //低风速
#define FAN_MID 0x01 //中风速
#define FAN_HIGH 0x02 //高风速
#define FAN_AUTO 0x03 //自动风
#define FAN_STOP 0x04 //停
#define MODEL_COLD 0x00 //制冷模式
#define MODEL_HOT 0x02 //制热模式
#define MODEL_WIND 0x04 //送风模式
#define MODEL_AUTO 0x06 //自动模式
#define TEMP_ON 0x01 //开机
#define TEMP_OFF 0x00 //关机
#define CARDIN 0x01 //插卡
#define CARDOUT 0x00 //拔卡
#define TEM_DEPARTTURE 0x09 //偏差温度标准
#define uint5_t(data) (data&0x1f)
#define TEMSTATECONVER(data) (*(U16_T *)&data) //实际u16的值
#define TEMTEMPCONVER(data) ((0x00 == data)?TEM_MAX_SET:data) //温控器温度转换为0就输出32度
/*温控相关宏定义结束*/
typedef struct
{
U32_T indoor_t : 8; //0~50(°C),室温
U32_T set_t : 8; //5~40°C设定温度
U32_T valve : 1; //阀门状态
U32_T fan : 3; //风速
U32_T mode : 3; //工作模式
U32_T on_off : 1; //开关机状态
U32_T reserved : 8;
}TemState_Struct;
typedef struct
{
TemState_Struct TemState_Now;
TemState_Struct TemStateLast; //温控器的上一个状态 用于输出屏幕
TemState_Struct TemState_Ctrller; //中宏网关读取到的温控状态
U8_T Temp_dirwind; //风向值,不做控制值只记录默认0
// U16_T IndoorTem;
// U16_T IndoorTemLast; //用于显示
//
// U16_T ReportTem; //用于上报
// U16_T ReportTemLast;
U8_T CardState; //插卡状态
U8_T CardFlag; //插卡状态改变标记
U8_T CardEn; //插卡状态功能启用标记
U8_T SceneNo; //场景编号
U8_T SceneFlag; //场景改变标记
U8_T TempChange_Flag; //状态改变标记
U8_T TempCtrller_Cnt; //发送次数
U8_T TempCtrllerChange_Flag;//状态改变下发网关标记
U32_T SceneNoTick;
U32_T Temp_SendTick; //温度定时上报间隔时间戳
U32_T TempChange_Tick;
U32_T TemQuery_1S_tick; //查询网关温控状态时间戳
}TempCtrl_Unit;
extern TempCtrl_Unit TempCtrl;
void Debug_Init(void);
void DisPlay_Task(void);
/*相关函数声明开始*/
void TemCtrl_Init(void); //初始化函数
void TemCtrl_Pro(void);
U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len);
void Ctrller_Query_AirFun(void);
void Ctrller_Query_AirState(void);
void Ctrller_Ctrl_AirState(void);
/*相关函数声明结束*/
#endif