#include "Popups.h" #include "Common_Interface.h" #include "GUI.h" #include "Sound_Scheduler.h" #include "Gauges.h" #include "GaugesInterface.h" #include "CAN_Communication_Matrix.h" #include "Popup_List.h" #include "Telltales.h" #include "Data_Gear.h" #include "Line_in.h" #include "Data_CoolantTemperature.h" #include "Data_Voltmeter.h" #include "Data_Fuel_User.h" uint8_t PopupSeatBeltDrReq; uint8_t PopupSeatBeltPaReq; uint8_t PopupESCStatBackup; GUIRadarFlashCtrlStruct GUIRADARSysFailureFlash; uint16_t StartupAnimationTimer; void GUI_RADAR_Sys_Failure_Flash_Reset(void); void GUI_RADAR_Sys_Failure_Flash_Reset(void) { if ( GUIRADARSysFailureFlash.Cnt == 0xFF ) { GUIRADARSysFailureFlash.Backup = 0; GUIRADARSysFailureFlash.Cnt = 0; } else if ( GUIRADARSysFailureFlash.Cnt != 0 ) { GUIRADARSysFailureFlash.Cnt = 0xFF; } } uint8_t wbytest = 0 ; uint8_t wbyTrigger[6] ={0}; void Popups_Management_Service(void) { /* uint8_t PopupMsg = 0u; uint8_t PopupSnd = 0u;*/ //Popups_Polling( ); uint8_t i = 0 ; for(i = 0 ;i < POPUP_MAX ;i ++) { if(i == wbytest ) Popup_Request(i); else Popup_Delete(i); } //wbytest = Popup_Get_Current_Message(); /* PopupMsg = Popup_Get_Current_Message(); PopupSnd = Popup_Get_Current_Sound(); Popups_Displaying(PopupMsg);*/ } uint8_t Get_wbyPopupTest(void) { return wbytest ; } void Popups_Polling(void) { uint32_t Ign_Time ; uint8_t EOL = 0x00 ; COMMON_PowerStatus_t PowerSts ; //共用参数 uint8_t V_Speed = 0 ;//车速 uint8_t E_Speed = 0 ;//转速 uint8_t variable_1 ,variable_2,variable_3,variable_4,variable_5; uint16_t KL30_Volt = 0 ; if(Get_Voltmeter_Valid()) { KL30_Volt = Get_Voltmeter_AvrVoltage(); } if(Common_Get_IG_Sts_Valid()) { Ign_Time = Common_GetIgnOnTime(); PowerSts = Common_Get_IG_Sts(); } else { Ign_Time = 0 ; PowerSts = COMMON_POWER_OFF ; } //车速有效判定 if(Common_Get_Act_V_Speed_Valid()) { V_Speed = Common_Get_Act_V_Speed(); } else { V_Speed = 0 ; } //转速有效判定 if(Common_Get_Act_E_Speed_Valid()) { E_Speed = Common_Get_Act_E_Speed(); } else { E_Speed = 0 ; } //0.紧急警报-刹车 variable_1 = Get_ID_CF02F2A_Sig_Advanced_Emerg_Braking_Sys_Sta(); variable_2 = Get_ID_CF02FA0_Sig_Advanced_Emerg_Braking_Sys_Sta(); if(EOL == 0x01) { if(variable_1 == 7 || variable_2 == 7) { Popup_Request(POPUP1_BRAKE_BLACK); } else { Popup_Delete(POPUP1_BRAKE_BLACK); } } else { Popup_Delete(POPUP1_BRAKE_BLACK); } //1.紧急警报-紧急制动 variable_1 = Get_ID_CF02FA1_Sig_Advanced_Emerg_Braking_Sys_Sta(); if(EOL == 0x01) { if(variable_1 == 7) { Popup_Request(POPUP1_BRAKE_BRAKE); } else { Popup_Delete(POPUP1_BRAKE_BRAKE); } } else { Popup_Delete(POPUP1_BRAKE_BRAKE); } //2.车间距警报-刹车(红字) variable_1 = Get_ID_CF02F2A_Sig_Advanced_Emerg_Braking_Sys_Sta(); variable_2 = Get_ID_CF02FA0_Sig_Advanced_Emerg_Braking_Sys_Sta(); if(EOL == 0x01) { if(variable_1 == 6 || variable_2 == 6) { Popup_Request(POPUP1_BRAKE_SPACING_R); } else { Popup_Delete(POPUP1_BRAKE_SPACING_R); } } else { Popup_Delete(POPUP1_BRAKE_SPACING_R); } //3.车间距警报-碰撞报警 variable_1 = Get_ID_CF02FA1_Sig_Advanced_Emerg_Braking_Sys_Sta(); if(EOL == 0x01) { if(variable_1 == 6) { Popup_Request(POPUP1_BRAKE_SPACING_COLLISION ); } else { Popup_Delete(POPUP1_BRAKE_SPACING_COLLISION ); } } else { Popup_Delete(POPUP1_BRAKE_SPACING_COLLISION ); } //4.车间距警报-刹车(黄字) variable_1 = Get_ID_CF02F2A_Sig_Advanced_Emerg_Braking_Sys_Sta(); variable_2 = Get_ID_CF02FA0_Sig_Advanced_Emerg_Braking_Sys_Sta(); if(EOL == 0x01) { if(variable_1 == 5 || variable_2 == 5) { Popup_Request(POPUP1_BRAKE_SPACING_Y); } else { Popup_Delete(POPUP1_BRAKE_SPACING_Y); } } //5.ASR工作 variable_1 = Get_ID_18F0010B_Sig_ASR_Brake_Control_Active(); if(variable_1 == 1) { Popup_Request(POPUT1_ASR_OPERATE); } else { Popup_Delete(POPUT1_ASR_OPERATE); } //6.PTO紧急警报-刹车 variable_1 = Get_ID_18FED900_Sig_PTO_SW(); variable_2 = Line_In_Get_Status(LINE_IN_PTO);//B01 if(V_Speed &&(variable_1 || variable_2)) { Popup_Request(POPUT2_PTO); } else { Popup_Delete(POPUT2_PTO); } //7.忘记松手刹车 LINE_IN_Get_PARK_BRAKE 驻车制动 variable_1 = Line_In_Get_Status(LINE_IN_PARK_BRAKE);//获取硬线结果 if((V_Speed > 66)&&(variable_1 == LINE_IN_LOGIC_VALID)) //6.67Km { Popup_Request(POPUP2_PARKING_BRAKE); } else { Popup_Delete(POPUP2_PARKING_BRAKE); } //8.遥控调整车辆高度(有车速) variable_1 = Line_In_Get_Status(LINE_IN_AIR_SUS);//获取硬线结果 if((V_Speed > 5)&&(variable_1 == LINE_IN_LOGIC_VALID)) //0.5Km { Popup_Request(POPUP2_AIRMATIC_HIGHT); } else { Popup_Delete(POPUP2_AIRMATIC_HIGHT); } //9.自动巡航模式 variable_1 = Get_ID_18FF4100_Sig_Cruise_VariableSLD_Disp(); if((Ign_Time > 5000)&&(variable_1 == 1))//5s内不显示 { Popup_Request(POPUP3_CRUISE); } else { Popup_Delete(POPUP3_CRUISE); } //10.可变SLD 模式 variable_1 = Get_ID_18FF4100_Sig_Cruise_VariableSLD_Disp(); if((Ign_Time > 5000)&&(variable_1 == 3))//5s内不显示 { Popup_Request(POPUP3_VARIABLE_SLD); } else { Popup_Delete(POPUP3_VARIABLE_SLD); } //11.充电异常(系统检测) variable_1 = Line_In_Get_Status(LINE_IN_CHARGE); if(EOL == 0X00) { //检出A34信号(10ms周期监测)时(Lo 或 电压值<21V连续500回以上),且EOL:LID$2B=0x00 if((E_Speed < 350)&&(variable_1 == LINE_IN_LOGIC_VALID)) //转速350R/min { if(variable_1) { Popup_Request(POPUT4_ABNORMAL_CHARGE); } else { Popup_Delete(POPUT4_ABNORMAL_CHARGE); } } } else { Popup_Delete(POPUT4_ABNORMAL_CHARGE); } //12.油压(系统检测) variable_1 = Line_In_Get_Status(LINE_IN_ENG_OIL); if(EOL == 0X00) { if((E_Speed < 350)&&(variable_1 == LINE_IN_LOGIC_VALID)) //转速350R/min { if(variable_1) { Popup_Request(POPUP4_OIL_PRESSURE); } else { Popup_Delete(POPUP4_OIL_PRESSURE); } } } else { Popup_Delete(POPUP4_OIL_PRESSURE); } //13.AMT初始化异常 DM1 SPN4220 Key On時 if(EOL == 0x13) { if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_AMT_INIT_EXCE); } else { Popup_Delete(POPUP4_AMT_INIT_EXCE); } } else { Popup_Delete(POPUP4_AMT_INIT_EXCE); } //14.尿素品质异常(系统检测) //variable_1 = Get_ID_18FF2300_Sig_Amber3(); //if(variable_1 == 1 ) if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_ADBLUE_QUALITY); } else { Popup_Delete(POPUP4_ADBLUE_QUALITY); } //15.尿素喷射异常(系统检测) //variable_1 = Get_ID_18FF2300_Sig_Amber1(); //if(variable_1 == 1) if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_ADBLUE_SPRAY); } else { Popup_Delete(POPUP4_ADBLUE_SPRAY); } //16.尿素水补给(系统检测) //variable_1 = Get_ID_18FF2300_Sig_Amber2(); //if(variable_1 == 1) if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_ADBLUE_SUPPLY); } else { Popup_Delete(POPUP4_ADBLUE_SUPPLY); } //17.AMT初始化结束 DM1 SPN4021 Key On時 if(EOL == 0x13) { if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_START_ENG); } else { Popup_Delete(POPUP4_START_ENG); } } else { Popup_Delete(POPUP4_START_ENG); } //18.DPD自动再生 //variable_1 = Get_ID_18FED900_Sig_DPF_Regeneration_Status(); if(PowerSts == COMMON_POWER_ON) { Popup_Request(POPUP4_DPD_AUTO); } else { Popup_Delete(POPUP4_DPD_AUTO); } //19.过热(过热,请在安全的场所停车)有车速 LID $43 :0x82 //variable_1 = Get_ID_18FEEE00_Sig_Engine_Coolant_Temperature(); if(V_Speed && (Coolant_Get_CurSeg() > 10)) { Popup_Request(POPUP5_OVER_HEAT_SPEED); } else { Popup_Delete(POPUP5_OVER_HEAT_SPEED); } //20.过热(冷却液温度过高) 无车速 LID $43 :0x82 if((V_Speed == 0) && (Coolant_Get_CurSeg() > 10)) { Popup_Request(POPUP5_OVER_HEAT); } else { Popup_Delete(POPUP5_OVER_HEAT); } //21.冷却水(冷却液不足) B32 GND variable_1 = Line_In_Get_Status(LINE_IN_LOW_COOLANT); if(V_Speed && variable_1) { Popup_Request(POPUP5_LOW_COOLANT_SPEED); } else { Popup_Delete(POPUP5_LOW_COOLANT_SPEED); } //22.冷却水(冷却水不足)B32 GND if((V_Speed == 0) && variable_1) { Popup_Request(POPUP5_LOW_COOLANT); } else { Popup_Delete(POPUP5_LOW_COOLANT); } //23.油压(机油)请在安全场所停车 //发动机启动(350r/min)后、350r/min持续5秒以上时,A32信号(10ms周期监测),连续20次检出Lo时。 variable_1 = Line_In_Get_Status(LINE_IN_ENG_OIL); //variable_2 = Get_ID_CF00400_Sig_Engine_speed();发动机转速 预留 if(V_Speed && (E_Speed > 350) && variable_1) { Popup_Request(POPUP5_ENGINE_OIL_PRESSURE_SPEED); } else { Popup_Delete(POPUP5_ENGINE_OIL_PRESSURE_SPEED); } //24.油压异常 if((V_Speed == 0) && (E_Speed > 350) && variable_1) { Popup_Request(POPUP5_ENGINE_OIL_PRESSURE); } else { Popup_Delete(POPUP5_ENGINE_OIL_PRESSURE); } //25.仪表故障-请在安全场所停车 //没给条件 //26.仪表故障-请与五十铃公司联系 //27.通信系统-请在安全场所停车 //没给条件 //28.通信系统-请与五十铃公司联系 //29.车速限制-图1 ID:18FF2300 Byte:7 Bit:4,3 10(B) variable_1 = Get_ID_18FF2300_Sig_Engine_Derate(); if(V_Speed && (variable_1 == 2)) { Popup_Request(POPUP5_SPEED_LIMIT_SPEED); } else { Popup_Delete(POPUP5_SPEED_LIMIT_SPEED); } //30.车速限制-图2 ID:18FF2300 Byte:7 Bit:4,3 10(B) if((V_Speed == 0) && (variable_1 == 2)) { Popup_Request(POPUP5_SPEED_LIMIT); } else { Popup_Delete(POPUP5_SPEED_LIMIT); } //31.扭矩限制-图1 ID:18FF2300 Byte:7 Bit:4,3 01(B) if(V_Speed && (variable_1 == 1)) { Popup_Request(POPUP5_TORQUE_REDUCTION_SPEED); } else { Popup_Delete(POPUP5_TORQUE_REDUCTION_SPEED); } //32.扭矩限制-图2 ID:18FF2300 Byte:7 Bit:4,3 01(B) if((V_Speed == 0) && (variable_1 == 1)) { Popup_Request(POPUP5_TORQUE_REDUCTION); } else { Popup_Delete(POPUP5_TORQUE_REDUCTION); } //33.扭矩限制、车速限制 交互 显示 ID:18FF2300 Byte:7 Bit:4,3 11(B) if(variable_1 == 3) { Popup_Request(POPUP5_SPEED_TORQUE); } else { Popup_Delete(POPUP5_SPEED_TORQUE); } //34.尿素品质异常-图1 ID:18FF2300 Byte:3 Bit:6,5 01(B) variable_1 = Get_ID_18FF2300_Sig_Amber3(); if(V_Speed && (variable_1 ==1)) { Popup_Request(POPUP5_INCORRECT_ADBLUE_SPEED); } else { Popup_Delete(POPUP5_INCORRECT_ADBLUE_SPEED); } //35.尿素品质异常-图2 ID:18FF2300 Byte:3 Bit:6,5 01(B) if((V_Speed == 0) && (variable_1 ==1)) { Popup_Request(POPUP5_INCORRECT_ADBLUE); } else { Popup_Delete(POPUP5_INCORRECT_ADBLUE); } //36.临界排放故障-图1 ID:18FF2300 Byte:7 Bit:6,5 01(B) variable_1 = Get_ID_18FF2300_Sig_EXH_System(); if(V_Speed && (variable_1 == 1)) { Popup_Request(POPUP5_CRITICAL_EMISSION_SPEED); } else { Popup_Delete(POPUP5_CRITICAL_EMISSION_SPEED); } //37.临界排放故障-图2 ID:18FF2300 Byte:7 Bit:6,5 01(B) if((V_Speed == 0)&&(variable_1 == 1)) { Popup_Request(POPUP5_CRITICAL_EMISSION); } else { Popup_Delete(POPUP5_CRITICAL_EMISSION); } //38.AMT异常-图1 ID:18FF8503 Byte:1 Bit:4,3 01(B) LID $41 : 0x13 variable_1 = Get_ID_18FF8503_Sig_Spanner_Warning(); if((EOL == 0x13)&&(V_Speed) && (variable_1 == 1)) { Popup_Request(POPUP5_AMT_SPANNER_WARNING_SPEED); } else { Popup_Delete(POPUP5_AMT_SPANNER_WARNING_SPEED); } //39.AMT异常-请重启发动机 ID:18FF8503 Byte:1 Bit:4,3 01(B) LID $41 : 0x13 if((EOL == 0x13)&&(V_Speed == 0) && (variable_1 == 1)) { Popup_Request(POPUP5_AMT_SPANNER_WARNING); } else { Popup_Delete(POPUP5_AMT_SPANNER_WARNING); } //40.AMT异常(气压低下)-图1 ID:18FF8503 Byte:2 Bit:6,5 01(B) LID $41 : 0x13 variable_1 = Get_ID_18FF2300_Sig_Glow_Lamp(); if((EOL == 0x13)&&(V_Speed)&&(variable_1 == 1)) { Popup_Request(POPUP5_AMT_LOW_AIR_WARNING_SPEED); } else { Popup_Delete(POPUP5_AMT_LOW_AIR_WARNING_SPEED); } //41.AMT异常(气压低下)-图2 if((EOL == 0x13)&&(V_Speed == 0)&&(variable_1 == 1)) { Popup_Request(POPUP5_AMT_LOW_AIR_WARNING); } else { Popup_Delete(POPUP5_AMT_LOW_AIR_WARNING); } //42.低圧警報-轮胎漏气警告 ID:18011733 Byte:5 Bit:5 01(B) LID $3E : 0x01 variable_1 = Get_ID_18011733_Sig_Fast_air_leakage_alarm(); if((EOL == 0x01)&&(variable_1 == 1)) { Popup_Request(POPUP5_LOW_PRESSURE_ALARM_SPEED); } else { Popup_Delete(POPUP5_LOW_PRESSURE_ALARM_SPEED); } //43.低圧警報 - 若报警图一样,同42.否则此处增加43报警逻辑 //44.尿素补给-补充尿素溶液-图1 ID:18FF2300 Byte:3 Bit:4,3 01(B) variable_1 = Get_ID_18FF2300_Sig_Amber2(); if((V_Speed)&&(variable_1 == 1)) { Popup_Request(POPUP5_APP_ADBLUE_SPEED); } else { Popup_Delete(POPUP5_APP_ADBLUE_SPEED); } //45.尿素补给-补充尿素溶液-图2 ID:18FF2300 Byte:3 Bit:4,3 01(B) if((V_Speed == 0)&&(variable_1 == 1)) { Popup_Request(POPUP5_APP_ADBLUE); } else { Popup_Delete(POPUP5_APP_ADBLUE); } //46.尿素余量少-有车速-图1 ID:18FF2300 Byte:3 Bit:4,3 10(B) if((V_Speed)&&(variable_1 == 2)) { Popup_Request(POPUP5_ADBLUE_LEVEL_LOW_SPEED); } else { Popup_Delete(POPUP5_ADBLUE_LEVEL_LOW_SPEED); } //47.尿素余量少-无车速-图2 ID:18FF2300 Byte:3 Bit:4,3 10(B) if((V_Speed == 0)&&(variable_1 == 2)) { Popup_Request(POPUP5_ADBLUE_LEVEL_LOW); } else { Popup_Delete(POPUP5_ADBLUE_LEVEL_LOW); } //48. 低圧警報(低下)ID:18011733 Byte:5 Bit:8 01(B) LID $3E : 0x01 variable_1 = Get_ID_18011733_Sig_Low_Presure_Alarm(); if((EOL == 0x01)&&(variable_1 == 1)) { Popup_Request(POPUP5_LOW_FAILURE_SPEED); } else { Popup_Delete(POPUP5_LOW_FAILURE_SPEED); } //49.低圧警報(低下) 同//48 //50.摄像头有污染-图1 ID:18FE5BE8 Byte7 Bit5-8 0010(B) 0011(B) LID $27: 0x01 variable_1 = Get_ID_18FE5BE8_Sig_Camera_Status(); if(V_Speed) { if((EOL == 0x01)&&(V_Speed)&&((variable_1 ==2) || (variable_2 ==3))) { Popup_Request(POPUP5_CAMERA_POLLUTION_SPEED); } else { Popup_Delete(POPUP5_CAMERA_POLLUTION_SPEED); } } //51.摄像头有污染-请与五十铃公司联系 ID:18FE5BE8 Byte7 Bit5-8 0010(B) 0011(B) LID $27: 0x01 if((EOL == 0x01)&&(V_Speed == 0x00)&&((variable_1 ==2) || (variable_2 ==3))) { Popup_Request(POPUP5_CAMERA_POLLUTION); } else { Popup_Delete(POPUP5_CAMERA_POLLUTION); } //52.尿素喷射异常(停止)-图1 ID:18FF2300 Byte:3 Bit:2,1 01(B) variable_1 = Get_ID_18FF2300_Sig_Amber1(); if((V_Speed)&&(variable_1 == 1)) { Popup_Request(POPUP5_AdBlue_LEVEL_LOW_SPEED); } else { Popup_Delete(POPUP5_AdBlue_LEVEL_LOW_SPEED); } //53.尿素喷射异常(停止)-图2 ID:18FF2300 Byte:3 Bit:2,1 01(B) if((V_Speed == 0)&&(variable_1 == 1)) { Popup_Request(POPUP5_AdBlue_LEVEL_LOW); } else { Popup_Delete(POPUP5_AdBlue_LEVEL_LOW); } //54.尿素喷射异常(消耗量)-图1 ID:18FF2300 Byte:3 Bit:2,1 10(B) if((V_Speed)&&(variable_1 == 2)) { Popup_Request(POPUP5_AdBlue_INJ_SYSTEM_SPEED); } else { Popup_Delete(POPUP5_AdBlue_INJ_SYSTEM_SPEED); } //55.尿素喷射异常(消耗量)-图2 ID:18FF2300 Byte:3 Bit:2,1 10(B) if((V_Speed == 0)&&(variable_1 == 2)) { Popup_Request(POPUP5_AdBlue_INJ_SYSTEM); } else { Popup_Delete(POPUP5_AdBlue_INJ_SYSTEM); } //56.高圧警報-轮胎高压警告 ID:18011733 Byte:5 Bit:7 01(B) LID $3E : 0x01 variable_1 = Get_ID_18011733_Sig_High_Presure_Alarm(); if((EOL == 0x01)&&(variable_1 == 1)) { Popup_Request(POPUP5_TPMS_HIGH_AIR); } else { Popup_Delete(POPUP5_TPMS_HIGH_AIR); } //57.高温警報-轮胎高温警告 ID:18011733 Byte:5 Bit:6 01(B) LID $3E : 0x01 variable_1 = Get_ID_18011733_Sig_High_Temperature_Alarm(); if((EOL == 0x01)&&(variable_1 == 1)) { Popup_Request(POPUP5_TPMS_HIGH_TEMP); } else { Popup_Delete(POPUP5_TPMS_HIGH_TEMP); } //58.尿素喷射异常(停止、消耗量)交互显示----尿素喷射系统异常 ID:18FF2300 Byte:3 Bit:2,1 11(B) variable_1 = Get_ID_18FF2300_Sig_Amber1(); if(variable_1 == 3) { Popup_Request(POPUP5_AdBlue_DOS_MALFUNC); } else { Popup_Delete(POPUP5_AdBlue_DOS_MALFUNC); } //59.DPD手动再生要求1-DPD需要再生 18FD7C00 Byte:1 Bit:3-1 001:On – solid variable_1 = Get_ID_18FD7C00_Sig_DPF_Lamp_Status_Amber(); if((V_Speed) && (variable_1 == 1)) { Popup_Request(POPUP5_PUSH_DPD_SWITCH1_SPEED); } else { Popup_Delete(POPUP5_PUSH_DPD_SWITCH1_SPEED); } //60.DPD手动再生要求1-请按下DPD开关 18FD7C00 Byte:1 Bit:3-1 001:On – solid if((V_Speed == 0) && (variable_1 == 1)) { Popup_Request(POPUP5_PUSH_DPD_SWITCH1); } else { Popup_Delete(POPUP5_PUSH_DPD_SWITCH1); } //61.DPD手动再生要求2-DPD需要再生 18FD7C00 Byte:1 Bit:3-1 100:On – fast blink (1 HZ) if((V_Speed) && (variable_1 == 4)) { Popup_Request(POPUP5_PUSH_DPD_SWITCH2_SPEED); } else { Popup_Delete(POPUP5_PUSH_DPD_SWITCH2_SPEED); } //62.DPD手动再生要求2-请按下DPD开关 18FD7C00 Byte:1 Bit:3-1 100:On – fast blink (1 HZ) if((V_Speed == 0) && (variable_1 == 4)) { Popup_Request(POPUP5_PUSH_DPD_SWITCH2); } else { Popup_Delete(POPUP5_PUSH_DPD_SWITCH2); } //63.TPMS故障-轮胎监控失败 ID:18011733 Byte:6 Bit:ALL 0111(B) or 1000(B) or 1001(B) variable_1 = Get_ID_18011733_Sig_Sensor_fault_information(); if((variable_1 == 7) || (variable_1 == 8) ||(variable_1 == 9) ) { Popup_Request(POPUP5_TPMS_FAILURE); } else { Popup_Delete(POPUP5_TPMS_FAILURE); } //64.TPMS電池低下-轮胎监控传感器电压下降 ID:18011733 Byte:5 Bit:4 01(B) LID $3E : 0x01 variable_1 = Get_ID_18011733_Sig_Low_Voltage_Alarm(); if((EOL == 0x01) && (variable_1 == 1)) { Popup_Request(POPUP5_TPMS_MONITOR_DROP); } else { Popup_Delete(POPUP5_TPMS_MONITOR_DROP); } //65.DPD手动再生中 //没有执行条件 //66.遥控车辆高度调整中(无车速) B30 28V variable_1 = Line_In_Get_Status(LINE_IN_AIR_SUS);//获取硬线结果 B30 if((V_Speed == 0) && (variable_1 == 1)) { Popup_Request(POPUP6_HEIGHT_CONTROL); } else { Popup_Delete(POPUP6_HEIGHT_CONTROL); } //67.PTO(停车中)(无车速) //ID:18FED900 Byte:2 Bit:8,7 01(B) OR B01 28V variable_1 = Get_ID_18FED900_Sig_PTO_SW(); variable_2 = Line_In_Get_Status(LINE_IN_PTO); if((V_Speed == 0) || (variable_1 == 1) || ( variable_2 == 1)) { Popup_Request(POPUP6_PTO_STOP); } else { Popup_Delete(POPUP6_PTO_STOP); } //68.充电异常-请在安全的场所停车 //エンジン始動(350r/min)後、350r/minが5秒以上継続している場合、A34信号(10ms周期で監視)で。 //发动机启动(350r/min)后、350r/min持续5秒以上时,A34信号(10ms周期监测), //检出(Lo 或 连续500次以上电压值<21V)时。 variable_1 = Line_In_Get_Status(LINE_IN_CHARGE); //A34 if((V_Speed) && (variable_1 == 1) && (E_Speed > 350)) { Popup_Request(POPUP7_CHARGE_ABNORMAL_SPEED); } else { Popup_Delete(POPUP7_CHARGE_ABNORMAL_SPEED); } //69.充电异常-请与五十铃公司联系 if((V_Speed == 0) && (variable_1 == 1) && (E_Speed > 350)) { Popup_Request(POPUP7_CHARGE_ABNORMAL); } else { Popup_Delete(POPUP7_CHARGE_ABNORMAL); } //70.AMT異常-AMT异常 ID:18FF8503 Bite:1 Bit:2,1 LID $41 : 0x13 variable_1 = Get_ID_18FF8503_Sig_Stop_Warning(); if((EOL == 0x13) && (V_Speed) && (variable_1)) { Popup_Request(POPUP7_AMT_ERROR_SPEED); } else { Popup_Delete(POPUP7_AMT_ERROR_SPEED); } //71.AMT異常-请联系经销商 if((EOL == 0x13) && (V_Speed == 0) && (variable_1)) { Popup_Request(POPUP7_AMT_ERROR); } else { Popup_Delete(POPUP7_AMT_ERROR); } //72.补充燃料-油箱单位 LID $43 : 0x82 //显示条件 : A11的13秒平均値≧128Ω //不显示条件 : A11的13秒平均値< 128Ω if((EOL == 0x82) && (Fuel_Get_Res() > 128)) { Popup_Request(POPUP8_REFUEL); } else { Popup_Delete(POPUP8_REFUEL); } //73.AMT过热-离合器过载 ID:18FF8503 Bite:2 Bit:4,3 001(B) LID $41 : 0x13 variable_1 = Get_ID_18FF8503_Sig_Clutch_Overload_warning(); if((EOL == 0x13) && (V_Speed) && (variable_1 == 1)) { Popup_Request(POPUP8_ATM_CLUCH_OVERHEATING_SPEED); } else { Popup_Delete(POPUP8_ATM_CLUCH_OVERHEATING_SPEED); } //74.AMT过热-选择合适的档位 ID:18FF8503 Bite:2 Bit:4,3 001(B) LID $41 : 0x13 if((EOL == 0x13) && (V_Speed == 0) && (variable_1 == 1)) { Popup_Request(POPUP8_ATM_CLUCH_OVERHEATING); } else { Popup_Delete(POPUP8_ATM_CLUCH_OVERHEATING); } //75.AMT磨耗-离合器磨损 ID:18FF8503 Bite:2 Bit:2,1 001(B) LID $41 : 0x13 variable_1 = Get_ID_18FF8503_Sig_Manouvering_mode(); if((EOL == 0x13) && (variable_1 == 1)) { Popup_Request(POPUP1_BRAKE_BRAKE); } else { Popup_Delete(POPUP1_BRAKE_BRAKE); } //76.低电压报警 //显示条件:发动机启动(350r/min)后,7秒检测到23.5V时 //显示消失条件:10秒检测到25V以上时 if( E_Speed > 350) //转速350R/min { if( KL30_Volt < 2350) //23.5V { Popup_Request(POPUP8_LOW_VOLTAGE_SPEED); } else if(KL30_Volt > 2500) { Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED); } } else { Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED); } //77.过电压报警 //显示条件:发动机启动(350r/min)后,7秒检测到30.4V以上时 //显示消失条件:10秒检测到29.4V以下时 if( E_Speed > 350) //转速350R/min { if(KL30_Volt > 3044) //30.44V { Popup_Request(POPUP8_OVERVOLTAGE); } else if(KL30_Volt < 2940) { Popup_Delete(POPUP8_OVERVOLTAGE); } } else { Popup_Delete(POPUP8_OVERVOLTAGE); } //78.DPD自动再生-DPD自动再生中 ID:18FED900 (AUXIO) Byte:8 bit:5,4 01(B) Engine Speed : 350rpm以上 variable_1 = Get_ID_18FED900_Sig_DPF_Regeneration_Status(); if((V_Speed) &&(E_Speed >= 350)&&(variable_1 == 1)) { Popup_Request(POPUP8_DPD_AUTO_SPEED); } else { Popup_Delete(POPUP8_DPD_AUTO_SPEED); } //79.DPD自动再生-再生将自动完成,不需要操作开关 if((V_Speed == 0) &&(E_Speed >= 350)&&(variable_1 == 1)) //转速350R/min { Popup_Request(POPUP8_DPD_AUTO); } else { Popup_Delete(POPUP8_DPD_AUTO); } //80.气压过低-气压过低请注意 A28 GND //OR条件 //与LED等同时 任一压力传感器为539kPa(1.89V)以下时 variable_1 = Line_In_Get_Status(LINE_IN_BRAKE_AIR_EBS); if((V_Speed) && (variable_1 == 0) ) { Popup_Request(POPUP9_AIR_PRESSURE_SPEED); } else { Popup_Delete(POPUP9_AIR_PRESSURE_SPEED); } //81.气压过低-请冲入空气 if((V_Speed == 0) && (variable_1 == 0) ) { Popup_Request(POPUP9_AIR_PRESSURE); } else { Popup_Delete(POPUP9_AIR_PRESSURE); } //82.EBS故障(红)-请在安全的场所停车 ID:18F0010B (EBC1) Byte:6 Bit:3-4 01(B) LID $21: 0x01 variable_1 = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(); if((EOL == 0x01) && (V_Speed ) && (variable_1 == 1)) { Popup_Request(POPUP9_EBS_ERROR_SPEED); } else { Popup_Delete(POPUP9_EBS_ERROR_SPEED); } //83.EBS故障(红)-请与五十铃公司联系 if((EOL == 0x01) && (V_Speed == 0 ) && (variable_1 == 1)) { Popup_Request(POPUP9_EBS_ERROR); } else { Popup_Delete(POPUP9_EBS_ERROR); } //84.省油耗建议-急加速 //85.省油耗建议-急减速 //86.省油耗建议-请降低发动机转速 //87.省油耗建议-请降低速度 //88.发动机机油&滤清器 ID:18FF3018 Byte:1 Bit:8,7 01(B) 10(B) variable_1 = Get_ID_18FF3018_Sig_Engine_Oil_Warnning(); if(variable_1 == 1 || variable_1 == 2) { Popup_Request(POPUP11_ENGINE_OIL_FILTER_ERROR); } else { Popup_Delete(POPUP11_ENGINE_OIL_FILTER_ERROR); } //89.燃油滤清器 //依据警报阈值、前次重置时及现在的ODO值,剩余距离:1000km时,显示提前警报。 //另外,剩余距离:负值时,再次显示本警报。 //90.变速箱油 //91.差速器油 //92.顺畅系统离合器油 //93.动力转向液 //94.更换轮胎・轮胎位置 } void Popups_Sound_Playing(uint8_t PopupSnd) { uint8_t ReqCode = 0u; ReqCode = Popup_Get_Current_Sound_Req_Code( ); switch ( PopupSnd ) { /* case SND_RADAR : if ( RADAR_SOUND == RADAR_SND_2Hz ) { Sound_Delete ( SND_RADAR_4Hz ); Sound_Delete ( SND_RADAR_CONTINUOUS ); Sound_Request ( SND_RADAR_2Hz, ReqCode ); } else if ( RADAR_SOUND == RADAR_SND_4Hz ) { Sound_Delete ( SND_RADAR_2Hz ); Sound_Delete ( SND_RADAR_CONTINUOUS ); Sound_Request ( SND_RADAR_4Hz, ReqCode ); } else if ( RADAR_SOUND == RADAR_SND_CONTINUOUS ) { Sound_Delete ( SND_RADAR_2Hz ); Sound_Delete ( SND_RADAR_4Hz ); Sound_Request ( SND_RADAR_CONTINUOUS, ReqCode ); } else { Sound_Delete ( SND_RADAR_2Hz ); Sound_Delete ( SND_RADAR_4Hz ); Sound_Delete ( SND_RADAR_CONTINUOUS ); } break; case SND_FASTEN_SEATBELT : if ( PopupSeatBeltDrReq == 1 ) Sound_Request ( SND_FASTEN_SEATBELT_DR_Level_1, ReqCode ); else if ( PopupSeatBeltDrReq == 2 ) Sound_Request ( SND_FASTEN_SEATBELT_DR_Level_2, ReqCode ); else if ( PopupSeatBeltDrReq == 3 ) Sound_Request ( SND_FASTEN_SEATBELT_DR_Level_3, ReqCode ); else { Sound_Delete ( SND_FASTEN_SEATBELT_DR_Level_1 ); Sound_Delete ( SND_FASTEN_SEATBELT_DR_Level_2 ); Sound_Delete ( SND_FASTEN_SEATBELT_DR_Level_3 ); } if ( PopupSeatBeltPaReq == 1 ) Sound_Request ( SND_FASTEN_SEATBELT_PA_Level_1, ReqCode ); else if ( PopupSeatBeltPaReq == 2 ) Sound_Request ( SND_FASTEN_SEATBELT_PA_Level_2, ReqCode ); else if ( PopupSeatBeltPaReq == 3 ) Sound_Request ( SND_FASTEN_SEATBELT_PA_Level_3, ReqCode ); else { Sound_Delete ( SND_FASTEN_SEATBELT_PA_Level_1 ); Sound_Delete ( SND_FASTEN_SEATBELT_PA_Level_2 ); Sound_Delete ( SND_FASTEN_SEATBELT_PA_Level_3 ); } break; case SND_DOOR_OPEN_HI_SPEED : case SND_DOOR_OPEN_LOW_SPEED : if ( ReqCode ) { if ( WARNING_DOOR_OPEN_SND_EN == 0 ) ReqCode = 0; Sound_Request ( PopupSnd, ReqCode ); } else Sound_Delete ( PopupSnd ); break; */ default: if ( ReqCode ) Sound_Request(PopupSnd, ReqCode); else Sound_Delete(PopupSnd); break; } }