📄 rem.c
字号:
LcBufAdr[LcBitCnt] = GetNjItem(LcSt0Cnt++); /* 参数 */
} else {
LcBufAdr[1] = 0x32;
if (iNo == 0){
/* 设定温度 */
LcBufAdr[2] = 72;
LcBufAdr[3] = SetupTp;
} else if (iNo == 1){
/* 模式 0:Off 1:A 2:C 3:D 4:F 5:H */
LcBufAdr[2] = 74;
if (ValBit(RunMode,fSysOnOff)){
LcBufAdr[3] = (u8)(RunMode & MODEMASK);
if (LcBufAdr[3] >= 5) LcBufAdr[3] &= 0x03;
if (ValBit(Sysflag2,fMAuto) ||
(LcBufAdr[3] == MODEAUTO)){
LcBufAdr[3] = 1;
} else if (LcBufAdr[3] == MODEHEAT){
LcBufAdr[3] = 5;
}
} else {
LcBufAdr[3] = 0;
}
} else if (iNo == 2){
/* 风速 0:A 1:L 2:M 3:H */
LcBufAdr[2] = 75;
//if ((FanStatus & FANMASK_S) == FANEC_S){
// LcBufAdr[3] = FANLO_S;
//} else if ((FanStatus & FANMASK_S) == FANPO_S){
// LcBufAdr[3] = FANHI_S;
//} else {
LcBufAdr[3] = (u8)(FanStatus & 0x03);
//}
} else {
/* 摆风 0:A 1:Swing 2:Fixed */
LcBufAdr[2] = 76;
LcBufAdr[3] = (u8)(FDoorUnit & SWINGMASK);
}
}
}
u8 GetNjItem(u8 iNo)
{
u8 v;
switch(iNo){
case 20:
/* 模式 */
if (!ValBit(RunMode,fSysOnOff)){
v = 0;
} else{
v = (u8)(RunMode & MODEMASK);
if (v >= 5) v &= 0x03;
if (ValBit(Sysflag2,fMAuto) || (v == MODEAUTO))
v = 5;
}
/* 风机模式 */
v |= (u8)((FanStatus & 0x03) << 3);
if (ValBit(FanStatus,fFanCtrlBit))
v |= (u8)((FanStatus & 0x30) << 1);
/* 电加热 */
if (ValBit(Sysflag1,fEHeatOn)) v |= 0x80;
return v;
break;
case 21:
v = 0x80;
if (ValBit(OutDevStu[0],fOutDeforst)) v = 0x81;
if (ValBit(OutDevStu[0],fRunEnable)||
(!ValBit(RunMode,fSysOnOff)) ||
((RunMode & MODEMASK) == MODEFAN)) v |= 2;
return v;
break;
case 22:
return AmbientTp;
break;
case 23: /* 中点温度 */
return TubeMidTp;
break;
case 24: /* 入口(细管)温度 */
return TubeInTp;
break;
case 25: /* 出口(粗管)温度 */
return TubeOutTp;
break;
case 26: /* 故障代码 */
return ErrNo();
break;
case 27:
return 100;
break;
#ifdef EnPZF
case 28:
return (u8)(CurValve >> 1);
break;
case 29:
return (u8)(SetupValve >> 1);
break;
#endif
#ifdef EnSTYLE5
case 30: /* 内机 ID */
return (u8)(WJ_NJNo & 0x1F);
break;
case 31: /* 外机 ID */
return (u8)(WJ_NJNo >> 5);
break;
#endif
case 32: /* 内机设定功率 */
return PowerConst;
break;
case 33: /* 配置 */
return SysConfig;
break;
#ifdef EnSTYLE5
case 34: /* 制冷调阀零点 +0x80*/
return SetOnCool;
break;
case 35: /* 制热调阀零点 +0x80*/
return SetOnHeat;
break;
case 36: /* 非调节温度 */
return (u8)(SetUnacc + 0x80);
break;
case 37: /* 制热膨胀阀常开开度*/
return SetOn;
break;
#endif
case 38: /* 制热温度补偿 */
#ifdef ChigoXG1
#ifdef ChigoXG1Set
return ChigoXG1Set;
#else
return SetOffset;
#endif
#else
return (u8)(0x80);
#endif
break;
//case 39:
// break;
case 40:
return OutDevStu[1];
break;
#ifdef EnSTYLE5
case 41:
return OutDevStu[2];
break;
#endif
case 42:
return OutSideErr[0];
break;
#ifdef EnSTYLE5
case 43:
return OutSideErr[1];
break;
case 44:
return OutSideErr[2];
break;
case 45:
return OutSideErr[3];
break;
case 46:
return OutSideErr[4];
break;
case 47:
return OutSideErr[5];
break;
#endif
}
return 0;
}
u8 ErrNo(void)
{
#ifdef EnSTYLE5
if ((Errorflg | Errorflg2
|OutSideErr[0]
|OutSideErr[1]
|OutSideErr[2]
|OutSideErr[3]
|OutSideErr[4]
|OutSideErr[5]) != 0){
if (ErrCnt == 0){
ErrCnt = 5;
while(1){
if (++ErrFlashCnt > 63) ErrFlashCnt = 0;
if (ErrFlashCnt >= 56){
if ((Errorflg2 & BitMask[ErrFlashCnt & 0x07]) != 0) break;
} else if (ErrFlashCnt >= 48){
if ((Errorflg & BitMask[ErrFlashCnt & 0x07]) != 0) break;
} else {
if ((OutSideErr[ErrFlashCnt >> 3] & BitMask[ErrFlashCnt & 0x07]) != 0) break;
}
}
}
if (ErrFlashCnt >= 48) {
return Tab_NErr_No[ErrFlashCnt - 48];
} else {
if (WJType == 1){ /* 1: 定频外机系统,0:变频外机系统 */
return Tab_DErr_No[ErrFlashCnt];
} else if (WJType == 0) {
return Tab_BErr_No[ErrFlashCnt];
//} else {
// return 0;
}
}
#else
if ((OutSideErr[0] | Errorflg2 | Errorflg) != 0){
if (ErrCnt == 0){
ErrCnt = 5;
while(1){
if (++ErrFlashCnt > 23) ErrFlashCnt = 0;
if (ErrFlashCnt >= 16){
if ((Errorflg2 & BitMask[ErrFlashCnt & 0x07]) != 0) break;
} else if (ErrFlashCnt > 7){
if ((Errorflg & BitMask[ErrFlashCnt & 0x07]) != 0) break;
} else {
if ((OutSideErr[0] & BitMask[ErrFlashCnt]) != 0) break;
}
}
}
return Tab_Err_No[ErrFlashCnt];
#endif
} else {
ErrFlashCnt = 0;
ErrCnt = 0;
}
return 0;
}
BOOLEAN SetNjItem(u8 iNo,u8 iVal)
{
switch(iNo){
#ifdef EnSTYLE5
case 30: /* 内机 ID */
if ((iVal >= WJ_NJNoMIN) && (iVal <= WJ_NJNoMAX)){
ClrRsErr((u8)((WJ_NJNo & WJNOMASK) | iVal));
return TRUE;
}
break;
case 31: /* 外机 ID */
if (iVal <= WJ_WJNoMAX){
ClrRsErr((u8)((WJ_NJNo & NJNOMASK) | (iVal << 5)));
return TRUE;
}
break;
#endif
case 32: /* 内机设定功率 */
if (!ValBit(RunMode,fSysOn) && /* 停机时才允许修改 */
(iVal != 0)){
PowerConst = iVal;
ClrBit(Errorflg,fSysPowErr); /* 1: 室内机总功率过大 */
return TRUE;
}
break;
case 33: /* 配置 */
if ((iVal & 0x0F0) == 0) {
SysConfig = iVal;
return TRUE;
}
break;
#ifdef EnSTYLE5
case 34: /* 制冷调阀零点 +0x80*/
if ((iVal >= 118) && (iVal <= 138)){
SetOnCool = iVal;
return TRUE;
}
break;
case 35: /* 制热调阀零点 +0x80*/
if ((iVal >= 118) && (iVal <= 138)){
SetOnHeat = iVal;
return TRUE;
}
break;
case 36: /* 非调节温度 */
if ((iVal >= 128) && (iVal <= 138)) {
SetUnacc = (u8)(iVal - 0x80);
return TRUE;
}
break;
case 37: /* 制热膨胀阀常开开度*/
if (iVal >= 40){
SetOn = iVal;
return TRUE;
}
break;
#endif
#ifdef ChigoXG1
#ifndef ChigoXG1Set
case 38: /* 制热温度补偿 */
if ((iVal >= 118) && (iVal <= 138)){
SetOffset = iVal;
return TRUE;
}
break;
#endif
#endif
}
return FALSE;
}
/* 启动传输(内机主动发送)20mS */
void LcScom_Trig(void)
{
if (LcInitTmr++ > 150){
SysInit(); /* 系统初始化标志 */
ReWriting(LcInitCnt);
/* 计算累加和 */
AddSum(TRUE);
/* 准备发送 */
ReadyToSend();
}
}
#endif
void GetAuxCon(void) /* AUX 遥控器 */
{
FanTmSet = BkgLampSET;
TimeTmSet= BkgLampSET;
SWTime = BkgLampSET; /* 键延时与背光开时间相同 */
SetBuzCntr(BuzCntrShort);
ClrBit(Sysflag1,f1XK_YK);
/* 设定温度 */
SetupTp = (u8)((LcBufAdr[1] >> 3) + 0x88);
if (SetupTp < SetupTpMIN){
SetupTp = SetupTpMIN;
} else if (SetupTp > SetupTpMAX){
SetupTp = SetupTpMAX;
}
/* 设定风速 */
SetFanStatus(FanAux[LcBufAdr[4] >> 5]);
/* 设定模式 */
SetMode((u8)ModeAux[LcBufAdr[6] >> 5]);
/* 设定温度强制为 24 */
if (((LcBufAdr[1] & 0x0F8) == 0) /*&&
((RunMode & MODEMASK) == MODEAUTO)*/){
SetupTp = (u8)(0x80 + 24);
}
/* 睡眠 */
if (ValBit(LcBufAdr[6],2)){
if (!ValBit(SlpTmFlag, fSleep)){
SetBit(SlpTmFlag, fSleep);
SleepUnit = 0x78;
}
} else {
ClrBit(SlpTmFlag, fSleep);
}
#if 0
/* 掉电记忆 */
if (ValBit(LcBufAdr[6],1)){
SetBit(SysConfig,fEnMemo);
} else {
ClrBit(SysConfig,fEnMemo);
}
/* 电热 */
if (ValBit(LcBufAdr[9],4)){
ClrBit(SysConfig,fDisDJR);
} else {
SetBit(SysConfig,fDisDJR);
}
#endif
#ifdef EnSWING
/* 摆风 */
if ((LcBufAdr[1] & 0x07) == 0){
SetFDoorUnit(SWINGSWING);
} else {
SetFDoorUnit(SWINGFIXED);
#if (NJTYPE == 0)||(NJTYPE == 1)||(NJTYPE == 2)||(NJTYPE == 3)||(NJTYPE == 4)
if ((FDoorUnit >= SWINGFIXED) && /* 10/11: 固定风 */
ValBit(RunMode,fSysOn) && /* 1: 开机 */
ValBit(FanStatus,fFanCtrlBit)){ /* 1: 内风机运行标志 */
BjSave.w_form = BjStep.w_form; /* 记忆风门位置 */
}
#endif
}
#endif
/* 开关机 */
if (ValBit(LcBufAdr[9],5)){
TurnSysOn();
} else {
TurnSysOff();
SWTime = 0; /* 立即关显示 */
}
/* 定时 */
LcBufAdr[5] &= 0x3F;
LcBufAdr[3] &= 0x3F;
LcBufAdr[4] &= 0x1F;
LcBufAdr[2] &= 0x1F;
if (LcBufAdr[4] < LcBufAdr[2]){
LcBufAdr[4] += 24;
} else if (LcBufAdr[4] == LcBufAdr[2]){
if (LcBufAdr[5] < LcBufAdr[3])
LcBufAdr[4] += 24;
}
LcBufAdr[4] -= LcBufAdr[2];
switch(LcBufAdr[9] & 0x0C0){
case 0x40: /* 定关 */
TurnOff = (u16)((LcBufAdr[4] * 60 + LcBufAdr[5]) - LcBufAdr[3]);
SetBit(SlpTmFlag,fTimeOff);
break;
case 0x80: /* 定开 */
TurnOn = (u16)((LcBufAdr[4] * 60 + LcBufAdr[5]) - LcBufAdr[3]);
SetBit(SlpTmFlag,fTime);
break;
default:
ClrBit(SlpTmFlag,fTime);
ClrBit(SlpTmFlag,fTimeOff);
break;
}
}
/*** (c) 2005 佛山菱电 **************************** END OF FILE *************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -