static void scrn_UpdatePage(void)
{
SCRN_DATA_P pScrnData = SCRN_GetScrnDataPtr();
char *dispStr = (char*)pScrnData->dispStr;
u16 tmpVal = SCRN_CurPageId(pScrnData);
SCRN_DispFocusIcon (pScrnData);
if (SCRN_IsTherapyPage(pScrnData))
{
u16 tmpVal2;
tmpVal = PAPRM_GetPapMode();
//写文本
if (MODE_CPAP == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "CPAP");
}
else if (MODE_ST == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "S/T");
}
else if (MODE_PC == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "PAC");
}
else if (MODE_AVAPS == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "VAPS");
}
else if (MODE_S == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "S");
}
else if (MODE_T == tmpVal)
{
SCRN_SetAddrText(ADDR_TextPapMode, "T");
}
else if (MODE_APAP == tmpVal)
{
/* 24.5.15 OEM 模式为APAP时,显示为cpap ty */
if (SYS_GetReserveValue(RESE_DeviceType) <= 9)
{
SCRN_SetAddrText(ADDR_TextPapMode, "CPAP");
}
else
{
SCRN_SetAddrText(ADDR_TextPapMode, "APAP");
}
}
else if (MODE_AUTOS == tmpVal)
{
/* 24.5.15 OEM 模式为AutoS时,显示为S ty */
if (SYS_GetReserveValue(RESE_DeviceType) <= 9)
{
SCRN_SetAddrText(ADDR_TextPapMode, "S");
}
else
{
SCRN_SetAddrText(ADDR_TextPapMode, "AutoS");
}
}
/* 2024.3.16 Added by Tianyongchang
*/
if (SCRN_CurPageId(pScrnData) == PAGE_Simple_CN || SCRN_CurPageId(pScrnData) == PAGE_Simple_EN)
{
//第一页不显示第二、三页的数据
SCRN_SetAddrWord(ADDR_IPAPSet, g_sVentRun.DisplayPrs * 10); //设置压力
//SCRN_SetAddrWord(ADDR_PRT, pScrnData->uRealTimePress); //实时压力
/* 倒计时显示 */
scrn_Count_Down();
/* 湿化刷新 */
scrn_Show_Humidity(dispStr);
}
else
{//第二、三页不显示第一页的数据
/* 吸气峰压 */
sprintf(dispStr, "%d.%d", pScrnData->uRealTimeIpap / 10, pScrnData->uRealTimeIpap % 10);
SCRN_SetAddrTextE(ADDR_Param_1, dispStr);
/* 呼末正压 */
sprintf(dispStr, "%d.%d", pScrnData->uRealTimeEpap / 10, pScrnData->uRealTimeEpap % 10);
SCRN_SetAddrTextE(ADDR_Param_2, dispStr);
if (Vent_GetBreathCount() < 5 || g_sVentRun.uVentPhase == 0)
{
delay_us(10000);
SCRN_SetAddrTextE(ADDR_Param_3, "-?-");
SCRN_SetAddrTextE(ADDR_Param_4, "-?-");
SCRN_SetAddrTextE(ADDR_Param_5, "-?-");
SCRN_SetAddrTextE(ADDR_Param_6, "-?-");
SCRN_SetAddrTextE(ADDR_Param_7, "-?-");
SCRN_SetAddrTextE(ADDR_Param_8, "-?-");
SCRN_SetAddrTextE(ADDR_Param_9, "-?-");
}
else
{
/* 呼吸频率 */
pScrnData->uRealTimeRR = MIN(60, pScrnData->uRealTimeRR);
sprintf (dispStr, "%d", pScrnData->uRealTimeRR);
SCRN_SetAddrTextE(ADDR_Param_3, dispStr);
/* 分钟通气量 */
pScrnData->uRealTimeMV = MIN(1000, pScrnData->uRealTimeMV);
sprintf (dispStr, "%d.%d", pScrnData->uRealTimeMV/10, pScrnData->uRealTimeMV%10);
SCRN_SetAddrTextE(ADDR_Param_4, dispStr);
/* 潮气量 */
pScrnData->uRealTimeVT = MIN(5000, pScrnData->uRealTimeVT);
sprintf (dispStr, "%d", pScrnData->uRealTimeVT);
SCRN_SetAddrTextE(ADDR_Param_5, dispStr);
/* 泄漏量 */
pScrnData->uRealTimeLeak = MIN(2000, pScrnData->uRealTimeLeak);
sprintf (dispStr, "%d.%d", pScrnData->uRealTimeLeak/10, pScrnData->uRealTimeLeak%10);
SCRN_SetAddrTextE(ADDR_Param_6, dispStr);
/* 吸气时间 */
pScrnData->uRealTimeTI = MIN(9999, pScrnData->uRealTimeTI);
sprintf (dispStr, "%d", pScrnData->uRealTimeTI);
SCRN_SetAddrTextE(ADDR_Param_7, dispStr);
/* 脉率 */
SCRN_SetAddrTextE(ADDR_Param_8, "-?-");
/* 吸呼比 */
IERate_Value((u32)pScrnData->uRealTimeIERate, &tmpVal, &tmpVal2);
pScrnData->uRealTimeTI = MIN(9999, pScrnData->uRealTimeTI);
sprintf (dispStr, "%d.%d:%d.%d", tmpVal/10, tmpVal%10, tmpVal2/10, tmpVal2%10);
SCRN_SetAddrTextE(ADDR_Param_9, dispStr);
}
}
}
else if (tmpVal == PAGE_MENU1_CN || tmpVal == PAGE_MENU1_EN)
{
delay_us (10000);
SCRN_SetAddrTxtID (ADDR_TextMenuMaskMatch, TXT_Jump);
sprintf(dispStr, "%d", SYS_GetBrightLevelState());
SCRN_SetAddrTextE(ADDR_TextMenuBrightLvl, dispStr);
if (SYS_GetEcModeState())
{
SCRN_SetAddrTxtID(ADDR_TextMenuGreenMode, TXT_On);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextMenuGreenMode, TXT_Off);
}
delay_us (10000);
SCRN_SetAddrTxtID(ADDR_TextMenuLanguage, TXT_Language);
if (SYS_GetAlarmClockState(&tmpVal))
{
sprintf(dispStr, "%02d:%02d", (tmpVal >> 8)&0xFF, tmpVal&0xFF);
SCRN_SetAddrTextE(ADDR_TextMenuAlarmSet, dispStr);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextMenuAlarmSet, TXT_Off);
}
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus2, (tmpVal == 2 || tmpVal == 3));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus4, (tmpVal == 5 || tmpVal == 6));
}
else if (tmpVal == PAGE_MENU2_CN || tmpVal == PAGE_MENU2_EN)
{
delay_us (10000);
if (SYS_GetKeyToneState())
{
SCRN_SetAddrTxtID(ADDR_TextMenuKeyTone, TXT_On);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextMenuKeyTone, TXT_Off);
}
SCRN_SetAddrTxtID(ADDR_TextMenuWarnItem, TXT_Jump);
switch (SYS_GetMaskTypeState())
{
case 0:
{
SCRN_SetAddrTxtID(ADDR_TextMenuMaskType, TXT_Mask);
break;
}
case 1:
{
SCRN_SetAddrTxtID(ADDR_TextMenuMaskType, TXT_Nasal);
break;
}
case 2:
{
SCRN_SetAddrTxtID(ADDR_TextMenuMaskType, TXT_Pillows);
break;
}
case 3:
{
SCRN_SetAddrTxtID(ADDR_TextMenuMaskType, TXT_Resistor);
break;
}
}
delay_us(10000);
if (SYS_GetPressUnitState())
{
SCRN_SetAddrTxtID(ADDR_TextMenuPressUnit, TXT_hPa);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextMenuPressUnit, TXT_cmH2O);
}
if (SYS_GetTempeUnitState())
{
SCRN_SetAddrTxtID (ADDR_TextMenuTempeUnit, TXT_Fahrenheit);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextMenuTempeUnit, TXT_Centigrade);
}
SCRN_SetAddrTxtID(ADDR_TextMenuLocalInfo, TXT_Jump);
delay_us(10000);
tmpVal = SCRN_CurIconIdx(pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus1, (tmpVal == 1 || tmpVal == 2));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus3, (tmpVal == 4 || tmpVal == 5));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus4, (tmpVal == 6 || tmpVal == 7));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus5, (tmpVal == 8 || tmpVal == 9));
}
else if (tmpVal == PAGE_MENU3_CN || tmpVal == PAGE_MENU3_EN)
{
SCRN_SetAddrTxtID(ADDR_ListItem_1, SYS_GetAutoVentState() ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_2, SYS_GetAutoDryingState() ? TXT_On : TXT_Off);
delay_us(10000);
SCRN_SetAddrTxtID(ADDR_ListItem_3, SYS_GetAbFilterState() ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_3_2, TXT_Jump);
/*tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus1, (tmpVal == 1 || tmpVal == 2));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus2, (tmpVal == 3 || tmpVal == 4));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus3, (tmpVal == 5 || tmpVal == 6));*/
}
else if (tmpVal == PAGE_ComfortSet_CN || tmpVal == PAGE_ComfortSet_EN)
{
delay_us (10000);
tmpVal = PARAM_GetHumidiVal();
sprintf(dispStr, "%d", tmpVal);
if (tmpVal == 6)
{
SCRN_SetAddrTxtID(ADDR_TextComfHumiLevel, TXT_Auto); // add by gt 231128 for auto humidity
}
else
{
SCRN_SetAddrTextE(ADDR_TextComfHumiLevel, dispStr);
}
if (PARAM_GetPreHeatState())
{
SCRN_SetAddrTxtID(ADDR_TextComfPreHeat, TXT_On);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextComfPreHeat, TXT_Off);
}
tmpVal = PARAM_GetTemperVal();
if (SYS_GetTempeUnitState())
{
tmpVal = tmpVal * 9 / 5 + 32;
}
sprintf(dispStr, "%d", tmpVal);
if (tmpVal)
{
SCRN_SetAddrTextE(ADDR_TextComfTubeTempe, dispStr);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextComfTubeTempe, TXT_Off);
}
delay_us(10000);
if (SYS_GetTubeTypeState())
{
sprintf(dispStr, "%s", "19mm");
}
else
{
sprintf(dispStr, "%s", "15mm");
}
SCRN_SetAddrTextE(ADDR_TextComfTubeType, dispStr);
/* 24.4.8 模式参数设置改变,起始压力需要跟着改变 ty
u16 data;
if (PAPRM_GetPapMode() == MODE_CPAP)
{
data = (PAPRM_GetVal(PARAM_Ipap) < PARAM_GetRampPressVal()) ? PAPRM_GetVal(PARAM_Ipap) : PARAM_GetRampPressVal();
}
else if (PAPRM_GetPapMode() == MODE_APAP || PAPRM_GetPapMode() == MODE_AUTOS)
{
data = (PAPRM_GetVal(PARAM_EpapMin) < PARAM_GetRampPressVal()) ? PAPRM_GetVal(PARAM_EpapMin) : PARAM_GetRampPressVal();
}
else//S T S/T
{
data = (PAPRM_GetVal(PARAM_Epap) < PARAM_GetRampPressVal()) ? PAPRM_GetVal(PARAM_Epap) : PARAM_GetRampPressVal();
}
PARAM_SetRampPressVal(data);
sprintf(dispStr, "%d.%d", PARAM_GetRampPressVal() / 10, PARAM_GetRampPressVal() % 10);
SCRN_SetAddrTextE(ADDR_TextComfRampIpap, dispStr);*/
tmpVal = PARAM_GetRampTimeVal();
sprintf (dispStr, "%d", tmpVal);
if (tmpVal == 1)
{
// add by gt 231009 for auto ramps
SCRN_SetAddrTxtID(ADDR_TextComfRampTime, TXT_Auto);
}
else if (tmpVal == 0 || tmpVal == 2)//24.11.28 change by ty : kjr require 2min display off
{
SCRN_SetAddrTxtID(ADDR_TextComfRampTime, TXT_Off);
}
else
{
SCRN_SetAddrTextE(ADDR_TextComfRampTime, dispStr);
}
/* 2024.3.20 add by Chaoqi
* If ramp setting value is changed,will reset ramp time.
*/
static uint8_t Ramp_Time_Record = 0;
if (Ramp_Time_Record != tmpVal)
{
Ramp_Time_Record = tmpVal;
if (tmpVal == 1)
{
g_sVentRun.uAutoRampTrigger = 1;
Vent_StartRamp(((FP32)PARAM_GetRampPressVal()) / 10, 10 * 60);
}
else
{
g_sVentRun.uAutoRampTrigger = 0;
Vent_StartRamp(((FP32)PARAM_GetRampPressVal()) / 10, PARAM_GetRampTimeVal() * 60);
}
}
delay_us(10000);
tmpVal = PAPRM_GetFlexVal();
sprintf (dispStr, "%d", tmpVal);
if (tmpVal)
{
SCRN_SetAddrTextE(ADDR_TextComfFlexState, dispStr);
}
else
{
SCRN_SetAddrTxtID(ADDR_TextComfFlexState, TXT_Off);
}
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus2, (tmpVal == 2 || tmpVal == 3));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus4, (tmpVal == 5 || tmpVal == 6));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus7, (tmpVal == 9 || tmpVal ==10));
}
else if (tmpVal == PAGE_ReportBase_CN || tmpVal == PAGE_ReportBase_EN)
{
u16 dayCount = 0;
switch (pScrnData->sParam1)
{
//24.4.2 ty 本次报告
case 0:
SCRN_SetAddrTxtID (ADDR_TextReportDurat, TXT_ThisTime);
dayCount = 0;
break;
case 1:
SCRN_SetAddrTxtID(ADDR_TextReportDurat, TXT_1Days);
dayCount = 1;
break;
case 2:
SCRN_SetAddrTxtID(ADDR_TextReportDurat, TXT_7Days);
dayCount = 7;
break;
case 3:
SCRN_SetAddrTxtID(ADDR_TextReportDurat, TXT_1Month);
dayCount = 31;
break;
}
SCRN_SetAddrWord(ADDR_DispAhiVal, LOG_GetAiAvg(dayCount) + LOG_GetHiAvg(dayCount));
/* 24.4.3 使用时间ty */
tmpVal = (dayCount==0) ? (s_sThisTimeUse.iUseTime / 6) : LOG_GetUseTime(dayCount);
SCRN_SetAddrWord(ADDR_DispUseTime, tmpVal); //unit 0.1Hour
tmpVal = LOG_GetMaskFitAvg(dayCount);
SCRN_SetAddrFoucus(ADDR_IconMatchStar1, tmpVal >= 10);
SCRN_SetAddrFoucus(ADDR_IconMatchStar2, tmpVal >= 15);
SCRN_SetAddrFoucus(ADDR_IconMatchStar3, tmpVal >= 45);
tmpVal = LOG_GetHeatRate(dayCount);
SCRN_SetAddrFoucus(ADDR_IconHumiStar1, tmpVal >= 10);
SCRN_SetAddrFoucus(ADDR_IconHumiStar2, tmpVal >= 30);
SCRN_SetAddrFoucus(ADDR_IconHumiStar3, tmpVal >= 60);
}
else if (tmpVal == PAGE_ReportMore_CN || tmpVal == PAGE_ReportMore_EN)
{
u16 dayCount = 0;
switch (pScrnData->sParam1)
{
//24.4.2 ty 本次报告
case 0:
SCRN_SetAddrTxtID (ADDR_TextReportDurat, TXT_ThisTime);
dayCount = 0;
break;
case 1:
SCRN_SetAddrTxtID (ADDR_TextReportDurat, TXT_1Days);
dayCount = 1;
break;
case 2:
SCRN_SetAddrTxtID (ADDR_TextReportDurat, TXT_7Days);
dayCount = 7;
break;
case 3:
SCRN_SetAddrTxtID (ADDR_TextReportDurat, TXT_1Month);
dayCount = 31;
break;
}
/* 24.4.3 单双水平报告分开 ty */
if (PAPRM_GetPapMode() == MODE_CPAP || PAPRM_GetPapMode() == MODE_APAP)
{
scrn_ReportMoreSingle(pScrnData, dayCount);//单水平
}
else
{
scrn_ReportMoreDouble(pScrnData, dayCount);//双水平
}
}
else if (SCRN_IsPapSetPage(pScrnData))
{
SCRN_LoadPapParamData();
//24.4.13 注释掉,放到模式界面跳转前
/*tmpVal = pScrnData->uPapModeBak;
SCRN_SetAddrFoucus(ADDR_IconCommSel1, (tmpVal==MODE_CPAP) ? 1 : 0);
SCRN_SetAddrFoucus(ADDR_IconCommSel2, (tmpVal==MODE_APAP) ? 1 : 0);
SCRN_SetAddrFoucus(ADDR_IconCommSel3, (tmpVal==MODE_S) ? 1 : 0);
SCRN_SetAddrFoucus(ADDR_IconCommSel4, (tmpVal==MODE_AUTOS) ? 1 : 0);
SCRN_SetAddrFoucus(ADDR_IconCommSel5, (tmpVal==MODE_T) ? 1 : 0);
SCRN_SetAddrFoucus(ADDR_IconCommSel6, (tmpVal==MODE_ST) ? 1 : 0);*/
}
else if (tmpVal == PAGE_DeviceInfo_CN || tmpVal == PAGE_DeviceInfo_EN)
{
SYS_GetVersionInfo(dispStr, 1);
SCRN_SetAddrText(ADDR_TextProductId, dispStr);
SYS_GetVersionInfo(dispStr, 2);
SCRN_SetAddrText(ADDR_TextHardWareVer, dispStr);
SYS_GetVersionInfo(dispStr, 3);
SCRN_SetAddrText(ADDR_TextSoftWareVer, dispStr);
SYS_GetVersionInfo(dispStr, 4);
SCRN_SetAddrText(ADDR_TextDwinDgusVer, dispStr);
}
else if (tmpVal == PAGE_MaskMatch_CN || tmpVal == PAGE_MaskMatch_EN)
{
// chg by gt 20231010 for 修改面罩适配流程
scrn_CheckMaskMatch();
}
else if (tmpVal == PAGE_WarnEnable_CN || tmpVal == PAGE_WarnEnable_EN)
{
delay_us (10000);
SCRN_SetAddrTxtID(ADDR_ListItem_1, SYS_GetWarnEnableState(WARN_EN_CircFault) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_2, SYS_GetWarnEnableState(WARN_EN_LowLeakage)? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_3, SYS_GetWarnEnableState(WARN_EN_MvTooLow) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_4, SYS_GetWarnEnableState(WARN_EN_VtTooLow) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_5, SYS_GetWarnEnableState(WARN_EN_Overheat) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_6, SYS_GetWarnEnableState(WARN_EN_AgingFilter) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_7, SYS_GetWarnEnableState(WARN_EN_AgingTank) ? TXT_On : TXT_Off);
delay_us(10000);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_CircFault));
SCRN_SetAddrTextE(ADDR_ListItem_1_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_MvTooLow));
SCRN_SetAddrTextE(ADDR_ListItem_3_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_AgingFilter));
SCRN_SetAddrTextE(ADDR_ListItem_6_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_AgingTank));
SCRN_SetAddrTextE (ADDR_ListItem_7_2, dispStr);
delay_us (10000);
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus8, (tmpVal == 4 || tmpVal == 5));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus9, (tmpVal == 8 || tmpVal == 9));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus10, (tmpVal ==13 || tmpVal ==14));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus11, (tmpVal ==16 || tmpVal ==17));
}
else if (tmpVal == PAGE_WarnEnable2_CN || tmpVal == PAGE_WarnEnable2_EN)
{
delay_us (10000);
SCRN_SetAddrTxtID(ADDR_ListItem_1, SYS_GetWarnEnableState(WARN_EN_ApneaAlam) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_2, SYS_GetWarnEnableState(WARN_EN_PressFault) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_3, SYS_GetWarnEnableState(WARN_EN_RrTooHigh) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_4, SYS_GetWarnEnableState(WARN_EN_WaterShort) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_5, SYS_GetWarnEnableState(WARN_EN_AgingTube) ? TXT_On : TXT_Off);
SCRN_SetAddrTxtID(ADDR_ListItem_6, SYS_GetWarnEnableState(WARN_EN_AgingMask) ? TXT_On : TXT_Off);
delay_us(10000);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_ApneaAlam));
SCRN_SetAddrTextE(ADDR_ListItem_1_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_RrTooHigh));
SCRN_SetAddrTextE(ADDR_ListItem_3_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_AgingTube));
SCRN_SetAddrTextE(ADDR_ListItem_5_2, dispStr);
sprintf(dispStr, "%d", SYS_GetWarnLimitValue(WARN_EN_AgingMask));
SCRN_SetAddrTextE(ADDR_ListItem_6_2, dispStr);
delay_us (10000);
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus8, (tmpVal == 4 || tmpVal == 5));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus9, (tmpVal == 8 || tmpVal == 9));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus10, (tmpVal ==12 || tmpVal ==13));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus11, (tmpVal ==15 || tmpVal ==16));
}
else if (tmpVal == PAGE_WarnList_CN || tmpVal == PAGE_WarnList_EN)
{
u16 i;
for (i = 0; i < 7; i++)
{
LOG_GetLogRecByIdx(&pScrnData->aLogList[i], pScrnData->uLogPage * 7 + i + 1);
if (pScrnData->aLogList[i].DateTime[0])
{
delay_us(20000);
tmpVal = pScrnData->aLogList[i].fRelayVal * 100;
sprintf(dispStr, "%02d%02d%02d-%02d%02d%02d", pScrnData->aLogList[i].DateTime[0], pScrnData->aLogList[i].DateTime[1], pScrnData->aLogList[i].DateTime[2], pScrnData->aLogList[i].DateTime[3], pScrnData->aLogList[i].DateTime[4], pScrnData->aLogList[i].DateTime[5]);
if (pScrnData->aLogList[i].uLogCode == WARN_FLOW_HIGH_2)
{
uint32_t temp_1 = 0, temp_2 = 0;
temp_1 = (((uint32_t)pScrnData->aLogList[i].fRelayVal) & 0xFFFF0000) >> 16;
temp_2 = ((uint32_t)pScrnData->aLogList[i].fRelayVal) & 0xFFFF;
sprintf(&dispStr[13], " %s F=%d P=%d", DISP_GetTxtPtr(pScrnData->aLogList[i].uLogCode), temp_1, temp_2);
}
else
{
sprintf(&dispStr[13], " %s", DISP_GetTxtPtr(pScrnData->aLogList[i].uLogCode));
}
SCRN_SetAddrTextE(ADDR_ListItem_1 + i * 48, dispStr);
}
else
{
SCRN_SetAddrTxtID(ADDR_ListItem_1 + i * 48, TXT_Blank);
}
}
}
else if (tmpVal == PAGE_Engineer_CN)
{
pScrnData->iUpdateFlag = 3;
delay_us(10000);
sprintf(dispStr, "%d", s_sAuxPage.sParam1);
SCRN_SetAddrTextE(ADDR_TextComfPreHeat, dispStr);
sprintf(dispStr, "%d.%d", s_sAuxPage.sParam2 / 10, s_sAuxPage.sParam2 % 10);
SCRN_SetAddrTextE(ADDR_TextComfRampIpap, dispStr);
sprintf(dispStr, "%d", s_sAuxPage.sParam3);
SCRN_SetAddrTextE(ADDR_TextComfHumiLevel, dispStr);
sprintf(dispStr, "%d", s_sAuxPage.sParam4);
SCRN_SetAddrTextE(ADDR_TextComfTubeTempe, dispStr);
delay_us(10000);
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus1, (tmpVal == 4 || tmpVal == 5));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus2, (tmpVal == 6 || tmpVal == 7));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus3, (tmpVal == 8 || tmpVal == 9));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus4, (tmpVal == 10 || tmpVal == 11));
if (pScrnData->sParam1 == 0)
{
delay_us(10000);
sprintf(dispStr, "%s", "Flow Ad");
SCRN_SetAddrTextE(ADDR_ListItem_1, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_MixFlow) * 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE(ADDR_ListItem_1_2, dispStr);
sprintf(dispStr, "%s", "Flow(L/min)");
SCRN_SetAddrTextE(ADDR_ListItem_2, dispStr);
tmpVal = Get_FilteredSmpValue(SMP_SNS_MixFlow) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_2_2, dispStr);
delay_us(10000);
sprintf(dispStr, "%s", "Prs Turbo Ad");
SCRN_SetAddrTextE(ADDR_ListItem_3, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_Prs_Tur) * 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE(ADDR_ListItem_3_2, dispStr);
sprintf(dispStr, "%s", "Prs Turbo(hPa)");
SCRN_SetAddrTextE(ADDR_ListItem_4, dispStr);
tmpVal = Get_FilteredSmpValue(SMP_SNS_Prs_Tur) * 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE(ADDR_ListItem_4_2, dispStr);
delay_us(10000);
sprintf(dispStr, "%s", "Air Press(hPa)");
SCRN_SetAddrTextE(ADDR_ListItem_5, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_AIR_Prs) / 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE(ADDR_ListItem_5_2, dispStr);
sprintf (dispStr, "%s", "Air Temper(℃)");
SCRN_SetAddrTextE (ADDR_ListItem_6, dispStr);
tmpVal = Get_FilteredSmpValue(SMP_SNS_AIR_Temp);
sprintf(dispStr, "%d", tmpVal);
SCRN_SetAddrTextE(ADDR_ListItem_6_2, dispStr);
sprintf(dispStr, "%s", "Air Humidi(%)");
SCRN_SetAddrTextE(ADDR_ListItem_7, dispStr);
tmpVal = Get_FilteredSmpValue(SMP_SNS_AIR_Humi);
sprintf(dispStr, "%d", tmpVal);
SCRN_SetAddrTextE(ADDR_ListItem_7_2, dispStr);
}
else if (pScrnData->sParam1 == 1)
{
sprintf (dispStr, "%s", "Tank Temper Ad");
SCRN_SetAddrTextE (ADDR_ListItem_1, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_Heat_Temp) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_1_2, dispStr);
sprintf (dispStr, "%s", "Tank Temper(℃)");
SCRN_SetAddrTextE (ADDR_ListItem_2, dispStr);
tmpVal = Get_FilteredSmpValue (SMP_SNS_Heat_Temp) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_2_2, dispStr);
delay_us (10000);
sprintf (dispStr, "%s", "Tube Temper Ad");
SCRN_SetAddrTextE (ADDR_ListItem_3, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_Pat_Temp) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal%10);
SCRN_SetAddrTextE (ADDR_ListItem_3_2, dispStr);
sprintf (dispStr, "%s", "Tube Temper(℃)");
SCRN_SetAddrTextE (ADDR_ListItem_4, dispStr);
tmpVal = Get_FilteredSmpValue (SMP_SNS_Pat_Temp) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal% 10);
SCRN_SetAddrTextE (ADDR_ListItem_4_2, dispStr);
delay_us (10000);
sprintf (dispStr, "%s", "Motor Current(mA)");
SCRN_SetAddrTextE (ADDR_ListItem_5, dispStr);
tmpVal = Get_FilteredSmpValue (SMP_SNS_Tur_CRNT) * 1000;
sprintf (dispStr, "%d", tmpVal);
SCRN_SetAddrTextE (ADDR_ListItem_5_2, dispStr);
sprintf (dispStr, "%s", "Motor Voltage(V)");
SCRN_SetAddrTextE (ADDR_ListItem_6, dispStr);
tmpVal = Get_FilteredSmpValue (SMP_SNS_AC_ADC);
sprintf (dispStr, "%d", tmpVal);
SCRN_SetAddrTextE (ADDR_ListItem_6_2, dispStr);
sprintf (dispStr, "%s", "Motor Speed(kRpm)");
SCRN_SetAddrTextE (ADDR_ListItem_7, dispStr);
tmpVal = Get_FilteredSmpValue (SMP_SNS_Tur_RPM) * 10;
sprintf (dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_7_2, dispStr);
}
else if (pScrnData->sParam1 == 2)
{
sprintf(dispStr, "%s", "Motor Temper Ad");
SCRN_SetAddrTextE (ADDR_ListItem_1, dispStr);
tmpVal = Get_SmpAD(SMP_SNS_Tur_Temp) * 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_1_2, dispStr);
sprintf(dispStr, "%s", "Motor Temper(℃)");
SCRN_SetAddrTextE (ADDR_ListItem_2, dispStr);
tmpVal = Get_FilteredSmpValue(SMP_SNS_Tur_Temp) * 10;
sprintf(dispStr, "%d.%d", tmpVal / 10, tmpVal % 10);
SCRN_SetAddrTextE (ADDR_ListItem_2_2, dispStr);
delay_us (10000);
SCRN_SetAddrTxtID(ADDR_ListItem_3, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_3_2, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_4, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_4_2, TXT_Blank);
delay_us (10000);
SCRN_SetAddrTxtID(ADDR_ListItem_5, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_5_2, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_6, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_6_2, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_7, TXT_Blank);
SCRN_SetAddrTxtID(ADDR_ListItem_7_2, TXT_Blank);
}
}
else if (tmpVal == PAGE_Engineer2_CN)
{
pScrnData->iUpdateFlag = 5;
u16 temp_Type = SYS_GetReserveValue(RESE_DeviceType);
switch (temp_Type)
{
case 0:
strcpy(dispStr, "30Pro");
break;
case 1:
strcpy(dispStr, "30PC");
break;
case 2:
strcpy(dispStr, "30T");
break;
case 3:
strcpy(dispStr, "30S");
break;
case 4:
strcpy(dispStr, "25Pro");
break;
case 5:
strcpy(dispStr, "25PC");
break;
case 6:
strcpy(dispStr, "25S");
break;
case 7:
strcpy(dispStr, "20A");
break;
case 8:
strcpy(dispStr, "20");
break;
case 9:
default:
SYS_SetReserveValue(RESE_DeviceType, 9);
strcpy(dispStr, "30OEM");//24.5.14 特殊定制增加新型号 ty
break;
}
SCRN_SetAddrTextE(ADDR_ListItem_1, dispStr);
s_sAuxPage.sParam2 = SYS_GetReserveValue(RESE_TubeType);
if (s_sAuxPage.sParam2 == -1)
{
s_sAuxPage.sParam2 = 0;
}
if (s_sAuxPage.sParam2 == 0)
{
sprintf(dispStr, "%s", "Rongrui");
}
else
{
sprintf(dispStr, "%s", "Ansenwei");
}
SCRN_SetAddrTextE(ADDR_ListItem_2, dispStr);
s_sAuxPage.sParam3 = SYS_GetReserveValue(RESE_MaskType);
if (s_sAuxPage.sParam3 == -1)
{
s_sAuxPage.sParam3 = 0;
}
if (s_sAuxPage.sParam3 == 0)
{
sprintf(dispStr, "%s", "Ansenwei");
}
else
{
sprintf(dispStr, "%s", "Kaiditai");
}
SCRN_SetAddrTextE(ADDR_ListItem_3, dispStr);
/* 24.6.4 增加流量传感器型号选择 ty */
s_sAuxPage.sParam4 = SYS_GetReserveValue(RESE_FlowType);
if (s_sAuxPage.sParam4 == -1)
{
s_sAuxPage.sParam4 = 0;
}
if (s_sAuxPage.sParam4 == 0)
{
sprintf(dispStr, "%s", "SDP");
}
else
{
sprintf(dispStr, "%s", "ADP");
}
SCRN_SetAddrTextE(ADDR_ListItem_4, dispStr);
SCRN_SetAddrTxtID(ADDR_ListItem_5, TXT_Jump);
/*delay_us(10000);
tmpVal = SCRN_CurIconIdx (pScrnData) + 1;
SCRN_SetAddrFoucus(ADDR_IconMenuFocus1, (tmpVal == 2 || tmpVal == 3));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus2, (tmpVal == 4 || tmpVal == 5));
SCRN_SetAddrFoucus(ADDR_IconMenuFocus3, (tmpVal == 6 || tmpVal == 7));*/
}
else if (tmpVal == PAGE_Engineer3_CN)
{
s16 tmpVal2;
pScrnData->iUpdateFlag = 1;
tmpVal = CLBRT_GetCalibType();
tmpVal2 = CLBRT_GetProgress();
if (tmpVal == PF300_FLOW_HIGH)
{
if (tmpVal2 < 0)
{
sprintf(dispStr, "%s", "ready");
}
else
{
sprintf(dispStr, "%d%%", tmpVal2);
}
}
else
{
sprintf(dispStr, "%s", " ");
}
SCRN_SetAddrTextE(ADDR_ListItem_1, dispStr);
if (tmpVal == PF300_PRESS_DIFF)
{
if (tmpVal2 < 0)
{
sprintf(dispStr, "%s", "ready");
}
else
{
sprintf(dispStr, "%d%%", tmpVal2);
}
}
else
{
sprintf(dispStr, "%s", " ");
}
SCRN_SetAddrTextE(ADDR_ListItem_2, dispStr);
sprintf(dispStr, "%s", " ");
SCRN_SetAddrTextE(ADDR_ListItem_3, dispStr);
CLBRT_Process();
if (tmpVal == PF300_FLOW_HIGH)
{
sprintf (dispStr, "%s", "流量校准,保持PF300出气口畅通");
}
else if (tmpVal == PF300_PRESS_DIFF)
{
sprintf (dispStr, "%s", "压力校准,保持PF300出气口封闭");
}
SCRN_SetAddrText(ADDR_TextWarnText, dispStr);
scrn_4G_Test();// 24.11.29 add by ty: 4G test display tip to product
}
else if (tmpVal == PAGE_PassWdPop_CN)
{
SCRN_SetAddrFoucus(ADDR_Pwd_Hide, (s_sAuxPage.DstPage != PAGE_Engineer_CN));//无线密码位数隐藏 24.11.28 ty
SCRN_SetAddrFoucus(ADDR_IconPwdDisp1, (s_sAuxPage.iPwdCount >= 1));
SCRN_SetAddrFoucus(ADDR_IconPwdDisp2, (s_sAuxPage.iPwdCount >= 2));
SCRN_SetAddrFoucus(ADDR_IconPwdDisp3, (s_sAuxPage.iPwdCount >= 3));
SCRN_SetAddrFoucus(ADDR_IconPwdDisp4, (s_sAuxPage.iPwdCount >= 4));
SCRN_SetAddrFoucus(ADDR_IconPwdDisp5, (s_sAuxPage.iPwdCount >= 5));
SCRN_SetAddrFoucus(ADDR_IconPwdDisp6, (s_sAuxPage.iPwdCount >= 6));
}
else if (tmpVal == PAGE_DataAdj_CN)
{
scrn_AdjByKnob_show(pScrnData, AdjByKnob);
}
else if (tmpVal == PAGE_TemperSet_CN || tmpVal == PAGE_TemperSet_EN)
{
scrn_AdjByKnob_show(pScrnData, AdjByKnob_Temp);
}
else if (tmpVal == PAGE_VerInfo_CN)
{
scrn_VerInfo(dispStr);
}
//无线连接
else if (tmpVal == PAGE_Wireless_CN || tmpVal == PAGE_Wireless_EN)
{
SCRN_SetAddrTxtID(ADDR_ListItem_1, TXT_Jump);
SCRN_SetAddrTxtID(ADDR_ListItem_2, SYS_GetDataUploadState() ? TXT_On : TXT_Off);
}
// 4G
else if (tmpVal == PAGE_4G_CN || tmpVal == PAGE_4G_EN)
{
scrn_4G(dispStr);
}
else if (tmpVal == PAGE_EvapsSet_CN)
{
scrn_Evaps();
}
}
详细解读这段代码
最新发布