Commit d28e1146 authored by hu's avatar hu

增加报警显示

parent ac0758a6
#ifndef _FUELCONFIG_H #ifndef _FUELCONFIG_H
#define _FUELCONFIG_H #define _FUELCONFIG_H
typedef unsigned short INT16U; #include "TYW_stdint.h"
typedef unsigned char INT8U;
typedef unsigned int INT32U; //typedef unsigned short INT16U;
//typedef unsigned char INT8_t;
//typedef unsigned int INT32_t;
#define DISPLAY_BOUNDARY_ES 1500 #define DISPLAY_BOUNDARY_ES 1500
#define DISPLAY_BOUNDARY_1 1500 #define DISPLAY_BOUNDARY_1 1500
...@@ -43,28 +45,28 @@ typedef unsigned int INT32U; ...@@ -43,28 +45,28 @@ typedef unsigned int INT32U;
// Fuel Config // Fuel Config
typedef struct _FuelStruct typedef struct _FuelStruct
{ {
INT16U FuelShortCircuitR; uint16_t FuelShortCircuitR;
INT16U FuelOpenCircuitR; uint16_t FuelOpenCircuitR;
INT16U DisplayZoneBoundary[22]; uint16_t DisplayZoneBoundary[22];
INT16U FuelCapacityBoundary[22]; uint16_t FuelCapacityBoundary[22];
} FuelStruct; } FuelStruct;
extern void InitFuelParamter(FuelStruct *para); extern void InitFuelParamter(FuelStruct *para);
extern INT8U *GetFuelLibVersion(void); extern uint8_t *GetFuelLibVersion(void);
extern void FuelFSM(INT16U FuelResistance); // unit:ohm,accuracy:0.1 extern void FuelFSM(uint16_t FuelResistance); // unit:ohm,accuracy:0.1
extern void SetMaxFuelBlockNum(INT8U n); // call after InitFuelParamter(),default 12,max 20 extern void SetMaxFuelBlockNum(uint8_t n); // call after InitFuelParamter(),default 12,max 20
extern void SetFuelSensorRecoverGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600) extern void SetFuelSensorRecoverGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorOpenCircuitGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600) extern void SetFuelSensorOpenCircuitGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetFuelSensorShortCircuitGroupCnt(INT16U n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600) extern void SetFuelSensorShortCircuitGroupCnt(uint16_t n); // 1:500ms,2:1000ms,3:1500ms.......,range:5s(10)-30min(3600)
extern void SetPowerSt(INT8U n); extern void SetPowerSt(uint8_t n);
extern INT8U GetFuelSeg(void); // Segment, range:0~8 extern uint8_t GetFuelSeg(void); // Segment, range:0~8
extern INT8U GetFuelStep(void); // Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F extern uint8_t GetFuelStep(void); // Pointer or Mono TFT stepless,range:0,10~((MaxFuelBlockNum + 1) * 10) 0,10:E, ((MaxFuelBlockNum + 1) * 10):F
extern INT16U GetFuelCapacityVal(void); // unit:L,accuracy:0.1 extern uint16_t GetFuelCapacityVal(void); // unit:L,accuracy:0.1
enum enum
{ {
...@@ -73,7 +75,7 @@ enum ...@@ -73,7 +75,7 @@ enum
FuelSensorOpenCircuit, FuelSensorOpenCircuit,
FuelSensorPreFault, FuelSensorPreFault,
}; };
extern INT8U GetFuelSensorState(void); extern uint8_t GetFuelSensorState(void);
enum enum
{ {
...@@ -83,57 +85,57 @@ enum ...@@ -83,57 +85,57 @@ enum
FUEL_ST_IGN_OFF_PROCESS, // 4 FUEL_ST_IGN_OFF_PROCESS, // 4
FUEL_ST_IGN_OFF, // 5 FUEL_ST_IGN_OFF, // 5
}; };
extern INT8U GetFuelFSM_St(void); extern uint8_t GetFuelFSM_St(void);
extern INT16U GetFuelResistance(void); // unit:ohm,accuracy:0.1 extern uint16_t GetFuelResistance(void); // unit:ohm,accuracy:0.1
extern void SetPowerDnStep(INT8U step); // call every ign on (after InitFuelParamter()) extern void SetPowerDnStep(uint8_t step); // call every ign on (after InitFuelParamter())
extern INT8U GetPowerDnStep(void); // every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record extern uint8_t GetPowerDnStep(void); // every 10km or ign off or refuel(FUEL_ST_POWER_ON_ADD_FUEL->FUEL_ST_VEHICLE_RUN) record
// AFC & DrivingRange // AFC & DrivingRange
typedef struct _AFC_INIT typedef struct _AFC_INIT
{ {
INT8U CalcAFCMaxNum; // max 100km,default 50 uint8_t CalcAFCMaxNum; // max 100km,default 50
INT16U AFCMin; // unit:L,accuracy:0.1 uint16_t AFCMin; // unit:L,accuracy:0.1
INT16U AFCMax; // unit:L,accuracy:0.1 uint16_t AFCMax; // unit:L,accuracy:0.1
INT16U AFCPreinstall; // unit:L,accuracy:0.1 uint16_t AFCPreinstall; // unit:L,accuracy:0.1
INT32U CurODO; // unit:m,accuracy:1 uint32_t CurODO; // unit:m,accuracy:1
INT32U MaxDRMileage; // unit:km,accuracy:0.01 uint32_t MaxDRMileage; // unit:km,accuracy:0.01
} AFC_INIT; } AFC_INIT;
extern void InitAFC(AFC_INIT *data); extern void InitAFC(AFC_INIT *data);
extern void ResetAFC(AFC_INIT *data); extern void ResetAFC(AFC_INIT *data);
typedef struct _AFC_PARA typedef struct _AFC_PARA
{ {
INT32U CurODO; // unit:m,accuracy:1 uint32_t CurODO; // unit:m,accuracy:1
INT16U FuleConsume; // unit:ul,accuracy:1 uint16_t FuleConsume; // unit:ul,accuracy:1
INT16U RPM; // unit:RPM,accuracy:1 uint16_t RPM; // unit:RPM,accuracy:1
INT8U Speed; // unit:km/h,accuracy:1 uint8_t Speed; // unit:km/h,accuracy:1
} AFC_PARA; } AFC_PARA;
extern void SetAFCPara(AFC_PARA *data); extern void SetAFCPara(AFC_PARA *data);
typedef struct _DAFC_PARA typedef struct _DAFC_PARA
{ {
INT32U DAFC_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km) uint32_t DAFC_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
INT32U DAFC_ODO; // unit:m uint32_t DAFC_ODO; // unit:m
} DAFC_PARA; } DAFC_PARA;
extern void DAFC_GetPowerDownPara(DAFC_PARA *data); // call every 10km or ign off or reset afc extern void DAFC_GetPowerDownPara(DAFC_PARA *data); // call every 10km or ign off or reset afc
extern void DAFC_SetPowerDownPara(DAFC_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC()) extern void DAFC_SetPowerDownPara(DAFC_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC())
typedef struct _DR_PARA typedef struct _DR_PARA
{ {
INT32U DR_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km) uint32_t DR_FuelConsumeSum; // unit:ul (ul:m->ml:km->L:1000km)
INT32U DR_Mileage; // unit:km,accuracy:0.01 uint32_t DR_Mileage; // unit:km,accuracy:0.01
} DR_PARA; } DR_PARA;
extern void DR_GetPowerDownPara(DR_PARA *data); // call every 10km or ign off extern void DR_GetPowerDownPara(DR_PARA *data); // call every 10km or ign off
extern void DR_SetPowerDownPara(DR_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC()) extern void DR_SetPowerDownPara(DR_PARA *data); // call every KL30 OFF -> KL30 ON (after InitAFC())
extern void AFCTimerCall(void); // must per 10ms interrupt extern void AFCTimerCall(void); // must per 10ms interrupt
extern INT16U GetDRMileage(void); // unit:km,accuracy:1 extern uint16_t GetDRMileage(void); // unit:km,accuracy:1
extern INT16U GetCurAFC(void); // unit:L,accuracy:0.1 extern uint16_t GetCurAFC(void); // unit:L,accuracy:0.1
// display afc // display afc
extern void DAFC_Reset(AFC_INIT *data); extern void DAFC_Reset(AFC_INIT *data);
extern INT16U DAFC_GetAFC(void); // unit:L,accuracy:0.1 extern uint16_t DAFC_GetAFC(void); // unit:L,accuracy:0.1
// display afc end // display afc end
extern void SetIgnOffRefuelThreshold(uint8_t data); extern void SetIgnOffRefuelThreshold(uint8_t data);
......
...@@ -56,7 +56,7 @@ void Data_TPMS_KL15_ON_Init(void) ...@@ -56,7 +56,7 @@ void Data_TPMS_KL15_ON_Init(void)
} }
/****************************************************************************** /******************************************************************************
Function:Data_TPMS_Value_Processing Function:Data_TPMS_Value_Processing
Description:数据处理总接口 Description:数据处理总接口 100ms任务
Input: Input:
Output: Output:
******************************************************************************/ ******************************************************************************/
...@@ -168,7 +168,8 @@ void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID) ...@@ -168,7 +168,8 @@ void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID)
******************************************************************************/ ******************************************************************************/
void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID) void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
{ {
if (TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index()) if ((TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index()) &&
(TPMS_Out[TPMSTyreID].TPMSDataInvalidTime <= 600u))
{ {
/*低气压报警 */ /*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = Get_ID_18011733_Sig_Low_Presure_Alarm(); TPMS_Out[TPMSTyreID].TPMSLowpressure = Get_ID_18011733_Sig_Low_Presure_Alarm();
...@@ -185,6 +186,23 @@ void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID) ...@@ -185,6 +186,23 @@ void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
/*传感器故障信息 */ /*传感器故障信息 */
TPMS_Out[TPMSTyreID].TPMSSensorfault = Get_ID_18011733_Sig_Sensor_fault_information(); TPMS_Out[TPMSTyreID].TPMSSensorfault = Get_ID_18011733_Sig_Sensor_fault_information();
} }
else
{
/*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = 0u;
/*高气压报警 */
TPMS_Out[TPMSTyreID].TPMSHighpressure = 0u;
/*高温报警 */
TPMS_Out[TPMSTyreID].TPMSHightemperature = 0u;
/*快速漏气报警 */
TPMS_Out[TPMSTyreID].TPMSRapidleakage = 0u;
/*低电压报警 */
TPMS_Out[TPMSTyreID].TPMSLowvoltage = 0u;
/*无信号报警 */
TPMS_Out[TPMSTyreID].TPMSNosignal = 0u;
/*传感器故障信息 */
TPMS_Out[TPMSTyreID].TPMSSensorfault = 0u;
}
} }
/****************************************************************************** /******************************************************************************
......
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
#include "Service_TPMS.h" #include "Service_TPMS.h"
#include "Data_AirPressure.h" #include "Data_AirPressure.h"
#include "Data_CoolantTemperature.h" #include "Data_CoolantTemperature.h"
#include "FuelConfig.h"
#include "Data_Fuel_User.h"
static uint8_t L12_Air_Sta ; static uint8_t L12_Air_Sta ;
...@@ -2118,10 +2119,15 @@ Fuel ...@@ -2118,10 +2119,15 @@ Fuel
uint8_t LED_Fuel_Judgement(void) uint8_t LED_Fuel_Judgement(void)
{ {
uint8_t u8Result = 0u; uint8_t u8Result = 0u;
uint8_t m_Condition1 = 0u; uint8_t variable_1 = 0x00u;
//m_Condition1 = Fuel_Get_LowAlarm(); uint8_t variable_2 = 0x00u;
uint16_t variable_5 = 0x00u;
if (m_Condition1 == 1u) variable_1 = Fuel_Get_CurSeg();/*格*/
variable_2 = GetFuelSensorState();/*燃油状态*/
variable_5 = GetFuelResistance(); /*采集的阻值*/
if ((variable_1 <= 1 ) && (variable_2 == FuelSensorNormal) && (variable_5 != 65535) && (K_Line_Set.K_Line_LID43 == 0x82u))
{ {
u8Result = 1u; u8Result = 1u;
} }
...@@ -2130,6 +2136,7 @@ uint8_t LED_Fuel_Judgement(void) ...@@ -2130,6 +2136,7 @@ uint8_t LED_Fuel_Judgement(void)
u8Result = 0u; u8Result = 0u;
} }
return u8Result; return u8Result;
} }
void LED_Fuel_Execution(uint8_t led_status) void LED_Fuel_Execution(uint8_t led_status)
...@@ -2140,21 +2147,21 @@ void LED_Fuel_Execution(uint8_t led_status) ...@@ -2140,21 +2147,21 @@ void LED_Fuel_Execution(uint8_t led_status)
if (u8IG_st == COMMON_POWER_ON) if (u8IG_st == COMMON_POWER_ON)
{ {
if (led_status == 1u) if ((led_status == 1u) && (K_Line_Set.K_Line_LID43 == 0x82u))
{ {
FUEL_LED_Y_MCU = 1U ; FUEL_LED_Y_MCU = 1u ;
FUEL_W_LED_OUT = 0U ; FUEL_W_LED_OUT = 0u ;
} }
else else
{ {
FUEL_LED_Y_MCU = 0U ; FUEL_LED_Y_MCU = 0u ;
FUEL_W_LED_OUT = 1U ; FUEL_W_LED_OUT = 1u ;
} }
} }
else else
{ {
FUEL_LED_Y_MCU = 0U ; FUEL_LED_Y_MCU = 0u ;
FUEL_W_LED_OUT = 0U ; FUEL_W_LED_OUT = 0u ;
} }
} }
......
...@@ -22,7 +22,7 @@ const Popup_Attribute_t PopupAttributeTable[POPUP_MAX] = ...@@ -22,7 +22,7 @@ const Popup_Attribute_t PopupAttributeTable[POPUP_MAX] =
{/*07 POPUP2_PARKING_BRAKE */ POPUP_TYPE_FATAL , 0u, 1u, POPUP_IGN_ON, POPUP2_PARKING_BRAKE , NULL, 1u, POPUP2_MSG_PARKING_BRAKE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*07 POPUP2_PARKING_BRAKE */ POPUP_TYPE_FATAL , 0u, 1u, POPUP_IGN_ON, POPUP2_PARKING_BRAKE , NULL, 1u, POPUP2_MSG_PARKING_BRAKE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*08 POPUP2_AIRMATIC_HIGHT */ POPUP_TYPE_WARNING , 0u, 2u, POPUP_IGN_ON, POPUP2_AIRMATIC_HIGHT , NULL, 1u, POPUP2_MSG_AIRMATIC_HIGHT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*08 POPUP2_AIRMATIC_HIGHT */ POPUP_TYPE_WARNING , 0u, 2u, POPUP_IGN_ON, POPUP2_AIRMATIC_HIGHT , NULL, 1u, POPUP2_MSG_AIRMATIC_HIGHT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*09 POPUP3_CRUISE */ POPUP_TYPE_WARNING , 1u, 0u, POPUP_IGN_ON, POPUP3_CRUISE , NULL, 1u, POPUP3_MSG_CRUISE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*09 POPUP3_CRUISE */ POPUP_TYPE_WARNING , 1u, 0u, POPUP_IGN_ON, POPUP3_CRUISE , NULL, 1u, POPUP3_MSG_CRUISE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*10 POPUP3_VARIABLE_SLD */ POPUP_TYPE_WARNING , 1u, 1u, POPUP_IGN_ON, POPUP3_VARIABLE_SLD , NULL, 1u, POPUP3_MSG_VARIABLE_SLD , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*10 POPUP3_VARIABLE_SLD */ POPUP_TYPE_WARNING , 1u, 0u, POPUP_IGN_ON, POPUP3_VARIABLE_SLD , NULL, 1u, POPUP3_MSG_VARIABLE_SLD , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*11 POPUT4_ABNORMAL_CHARGE */ POPUP_TYPE_WARNING , 2u, 0u, POPUP_IGN_ON, POPUT4_ABNORMAL_CHARGE , NULL, 1u, POPUT4_MSG_ABNORMAL_CHARGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*11 POPUT4_ABNORMAL_CHARGE */ POPUP_TYPE_WARNING , 2u, 0u, POPUP_IGN_ON, POPUT4_ABNORMAL_CHARGE , NULL, 1u, POPUT4_MSG_ABNORMAL_CHARGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*12 POPUP4_OIL_PRESSURE */ POPUP_TYPE_WARNING , 2u, 1u, POPUP_IGN_ON, POPUP4_OIL_PRESSURE , NULL, 1u, POPUP4_MSG_OIL_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*12 POPUP4_OIL_PRESSURE */ POPUP_TYPE_WARNING , 2u, 1u, POPUP_IGN_ON, POPUP4_OIL_PRESSURE , NULL, 1u, POPUP4_MSG_OIL_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*13 POPUP4_AMT_INIT_EXCE */ POPUP_TYPE_WARNING , 2u, 2u, POPUP_IGN_ON, POPUP4_AMT_INIT_EXCE , NULL, 1u, POPUP4_MSG_AMT_INIT_EXCE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*13 POPUP4_AMT_INIT_EXCE */ POPUP_TYPE_WARNING , 2u, 2u, POPUP_IGN_ON, POPUP4_AMT_INIT_EXCE , NULL, 1u, POPUP4_MSG_AMT_INIT_EXCE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
...@@ -32,54 +32,54 @@ const Popup_Attribute_t PopupAttributeTable[POPUP_MAX] = ...@@ -32,54 +32,54 @@ const Popup_Attribute_t PopupAttributeTable[POPUP_MAX] =
{/*17 POPUP4_START_ENG */ POPUP_TYPE_WARNING , 2u, 6u, POPUP_IGN_ON, POPUP4_START_ENG , NULL, 1u, POPUP4_MSG_START_ENG , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*17 POPUP4_START_ENG */ POPUP_TYPE_WARNING , 2u, 6u, POPUP_IGN_ON, POPUP4_START_ENG , NULL, 1u, POPUP4_MSG_START_ENG , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*18 POPUP4_DPD_AUTO */ POPUP_TYPE_WARNING , 2u, 7u, POPUP_IGN_ON, POPUP4_DPD_AUTO , NULL, 1u, POPUP4_MSG_DPD_AUTO , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*18 POPUP4_DPD_AUTO */ POPUP_TYPE_WARNING , 2u, 7u, POPUP_IGN_ON, POPUP4_DPD_AUTO , NULL, 1u, POPUP4_MSG_DPD_AUTO , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*19 POPUP5_OVER_HEAT */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_OVER_HEAT , NULL, 1u, POPUP5_MSG_OVER_HEAT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*19 POPUP5_OVER_HEAT */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_OVER_HEAT , NULL, 1u, POPUP5_MSG_OVER_HEAT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*20 POPUP5_LOW_COOLANT */ POPUP_TYPE_WARNING , 3u, 1u, POPUP_IGN_ON, POPUP5_LOW_COOLANT , NULL, 1u, POPUP5_MSG_LOW_COOLANT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*20 POPUP5_LOW_COOLANT */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_LOW_COOLANT , NULL, 1u, POPUP5_MSG_LOW_COOLANT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*21 POPUP5_ENGINE_OIL_PRESSURE */ POPUP_TYPE_WARNING , 3u, 2u, POPUP_IGN_ON, POPUP5_ENGINE_OIL_PRESSURE , NULL, 1u, POPUP5_MSG_ENGINE_OIL_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*21 POPUP5_ENGINE_OIL_PRESSURE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_ENGINE_OIL_PRESSURE , NULL, 1u, POPUP5_MSG_ENGINE_OIL_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*22 POPUP5_METER_FAILURE */ POPUP_TYPE_WARNING , 3u, 3u, POPUP_IGN_ON, POPUP5_METER_FAILURE , NULL, 1u, POPUP5_MSG_METER_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*22 POPUP5_METER_FAILURE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_METER_FAILURE , NULL, 1u, POPUP5_MSG_METER_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*22 POPUP5_CAN_ERROR */ POPUP_TYPE_WARNING , 3u, 4u, POPUP_IGN_ON, POPUP5_CAN_ERROR , NULL, 1u, POPUP5_MSG_CAN_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*22 POPUP5_CAN_ERROR */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_CAN_ERROR , NULL, 1u, POPUP5_MSG_CAN_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*24 POPUP5_SPEED_LIMIT */ POPUP_TYPE_WARNING , 3u, 5u, POPUP_IGN_ON, POPUP5_SPEED_LIMIT , NULL, 1u, POPUP5_MSG_SPEED_LIMIT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*24 POPUP5_SPEED_LIMIT */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_SPEED_LIMIT , NULL, 1u, POPUP5_MSG_SPEED_LIMIT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*25 POPUP5_TORQUE_REDUCTION */ POPUP_TYPE_WARNING , 3u, 6u, POPUP_IGN_ON, POPUP5_TORQUE_REDUCTION , NULL, 1u, POPUP5_MSG_TORQUE_REDUCTION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*25 POPUP5_TORQUE_REDUCTION */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_TORQUE_REDUCTION , NULL, 1u, POPUP5_MSG_TORQUE_REDUCTION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*26 POPUP5_INCORRECT_ADBLUE */ POPUP_TYPE_WARNING , 3u, 7u, POPUP_IGN_ON, POPUP5_INCORRECT_ADBLUE , NULL, 1u, POPUP5_MSG_INCORRECT_ADBLUE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*26 POPUP5_INCORRECT_ADBLUE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_INCORRECT_ADBLUE , NULL, 1u, POPUP5_MSG_INCORRECT_ADBLUE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*27 POPUP5_CRITICAL_EMISSION */ POPUP_TYPE_WARNING , 3u, 8u, POPUP_IGN_ON, POPUP5_CRITICAL_EMISSION , NULL, 1u, POPUP5_MSG_CRITICAL_EMISSION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*27 POPUP5_CRITICAL_EMISSION */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_CRITICAL_EMISSION , NULL, 1u, POPUP5_MSG_CRITICAL_EMISSION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*28 POPUP5_AMT_SPANNER_WARNING */ POPUP_TYPE_WARNING , 3u, 9u, POPUP_IGN_ON, POPUP5_AMT_SPANNER_WARNING , NULL, 1u, POPUP5_MSG_AMT_SPANNER_WARNING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*28 POPUP5_AMT_SPANNER_WARNING */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_AMT_SPANNER_WARNING , NULL, 1u, POPUP5_MSG_AMT_SPANNER_WARNING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*29 POPUP5_AMT_LOW_AIR_WARNING */ POPUP_TYPE_WARNING , 3u, 10u, POPUP_IGN_ON, POPUP5_AMT_LOW_AIR_WARNING , NULL, 1u, POPUP5_MSG_AMT_LOW_AIR_WARNING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*29 POPUP5_AMT_LOW_AIR_WARNING */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_AMT_LOW_AIR_WARNING , NULL, 1u, POPUP5_MSG_AMT_LOW_AIR_WARNING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*30 POPUP5_LOW_PRESSURE_ALARM */ POPUP_TYPE_WARNING , 3u, 11u, POPUP_IGN_ON, POPUP5_LOW_PRESSURE_ALARM , NULL, 1u, POPUP5_MSG_LOW_PRESSURE_ALARM , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*30 POPUP5_LOW_PRESSURE_ALARM */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_LOW_PRESSURE_ALARM , NULL, 1u, POPUP5_MSG_LOW_PRESSURE_ALARM , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*31 POPUP5_APP_ADBLUE */ POPUP_TYPE_WARNING , 3u, 12u, POPUP_IGN_ON, POPUP5_APP_ADBLUE , NULL, 1u, POPUP5_MSG_APP_ADBLUE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*31 POPUP5_APP_ADBLUE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_APP_ADBLUE , NULL, 1u, POPUP5_MSG_APP_ADBLUE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*32 POPUP5_ADBLUE_LEVEL_LOW */ POPUP_TYPE_WARNING , 3u, 13u, POPUP_IGN_ON, POPUP5_ADBLUE_LEVEL_LOW , NULL, 1u, POPUP5_MSG_ADBLUE_LEVEL_LOW , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*32 POPUP5_ADBLUE_LEVEL_LOW */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_ADBLUE_LEVEL_LOW , NULL, 1u, POPUP5_MSG_ADBLUE_LEVEL_LOW , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*33 POPUP5_LOW_FAILURE */ POPUP_TYPE_WARNING , 3u, 14u, POPUP_IGN_ON, POPUP5_LOW_FAILURE , NULL, 1u, POPUP5_MSG_LOW_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*33 POPUP5_LOW_FAILURE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_LOW_FAILURE , NULL, 1u, POPUP5_MSG_LOW_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*34 POPUP5_CAMERA_POLLUTION */ POPUP_TYPE_WARNING , 3u, 15u, POPUP_IGN_ON, POPUP5_CAMERA_POLLUTION , NULL, 1u, POPUP5_MSG_CAMERA_POLLUTION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*34 POPUP5_CAMERA_POLLUTION */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_CAMERA_POLLUTION , NULL, 1u, POPUP5_MSG_CAMERA_POLLUTION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*35 POPUP5_AdBlue_INJ_SYSTEM */ POPUP_TYPE_WARNING , 3u, 16u, POPUP_IGN_ON, POPUP5_AdBlue_INJ_SYSTEM , NULL, 1u, POPUP5_MSG_AdBlue_INJ_SYSTEM , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*35 POPUP5_AdBlue_INJ_SYSTEM */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_AdBlue_INJ_SYSTEM , NULL, 1u, POPUP5_MSG_AdBlue_INJ_SYSTEM , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*36 POPUP5_AdBlue_DOS_MALFUNC */ POPUP_TYPE_WARNING , 3u, 17u, POPUP_IGN_ON, POPUP5_AdBlue_DOS_MALFUNC , NULL, 1u, POPUP5_MSG_AdBlue_DOS_MALFUNC , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*36 POPUP5_AdBlue_DOS_MALFUNC */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_AdBlue_DOS_MALFUNC , NULL, 1u, POPUP5_MSG_AdBlue_DOS_MALFUNC , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*37 POPUP5_TPMS_HIGH_AIR */ POPUP_TYPE_WARNING , 3u, 18u, POPUP_IGN_ON, POPUP5_TPMS_HIGH_AIR , NULL, 1u, POPUP5_MSG_TPMS_HIGH_AIR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*37 POPUP5_TPMS_HIGH_AIR */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_TPMS_HIGH_AIR , NULL, 1u, POPUP5_MSG_TPMS_HIGH_AIR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*38 POPUP5_TPMS_HIGH_TEMP */ POPUP_TYPE_WARNING , 3u, 19u, POPUP_IGN_ON, POPUP5_TPMS_HIGH_TEMP , NULL, 1u, POPUP5_MSG_TPMS_HIGH_TEMP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*38 POPUP5_TPMS_HIGH_TEMP */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_TPMS_HIGH_TEMP , NULL, 1u, POPUP5_MSG_TPMS_HIGH_TEMP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*39 POPUP5_PUSH_DPD_SWITCH1 */ POPUP_TYPE_WARNING , 3u, 20u, POPUP_IGN_ON, POPUP5_PUSH_DPD_SWITCH1 , NULL, 1u, POPUP5_MSG_PUSH_DPD_SWITCH1 , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*39 POPUP5_PUSH_DPD_SWITCH1 */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_PUSH_DPD_SWITCH1 , NULL, 1u, POPUP5_MSG_PUSH_DPD_SWITCH1 , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*40 POPUP5_PUSH_DPD_SWITCH2 */ POPUP_TYPE_WARNING , 3u, 21u, POPUP_IGN_ON, POPUP5_PUSH_DPD_SWITCH2 , NULL, 1u, POPUP5_MSG_PUSH_DPD_SWITCH2 , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*40 POPUP5_PUSH_DPD_SWITCH2 */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_PUSH_DPD_SWITCH2 , NULL, 1u, POPUP5_MSG_PUSH_DPD_SWITCH2 , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*41 POPUP5_TPMS_FAILURE */ POPUP_TYPE_WARNING , 3u, 22u, POPUP_IGN_ON, POPUP5_TPMS_FAILURE , NULL, 1u, POPUP5_MSG_TPMS_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*41 POPUP5_TPMS_FAILURE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_TPMS_FAILURE , NULL, 1u, POPUP5_MSG_TPMS_FAILURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*42 POPUP5_TPMS_MONITOR_DROP */ POPUP_TYPE_WARNING , 3u, 23u, POPUP_IGN_ON, POPUP5_TPMS_MONITOR_DROP , NULL, 1u, POPUP5_MSG_TPMS_MONITOR_DROP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*42 POPUP5_TPMS_MONITOR_DROP */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP5_TPMS_MONITOR_DROP , NULL, 1u, POPUP5_MSG_TPMS_MONITOR_DROP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*43 POPUP6_HEIGHT_CONTROL */ POPUP_TYPE_WARNING , 4u, 0u, POPUP_IGN_ON, POPUP6_HEIGHT_CONTROL , NULL, 1u, POPUP6_MSG_HEIGHT_CONTROL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*43 POPUP6_HEIGHT_CONTROL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP6_HEIGHT_CONTROL , NULL, 1u, POPUP6_MSG_HEIGHT_CONTROL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*44 POPUP6_PTO_STOP */ POPUP_TYPE_WARNING , 4u, 1u, POPUP_IGN_ON, POPUP6_PTO_STOP , NULL, 1u, POPUP6_MSG_PTO_STOP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*44 POPUP6_PTO_STOP */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP6_PTO_STOP , NULL, 1u, POPUP6_MSG_PTO_STOP , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*45 POPUP7_CHARGE_ABNORMAL */ POPUP_TYPE_WARNING , 5u, 0u, POPUP_IGN_ON, POPUP7_CHARGE_ABNORMAL , NULL, 1u, POPUP7_MSG_CHARGE_ABNORMAL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*45 POPUP7_CHARGE_ABNORMAL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP7_CHARGE_ABNORMAL , NULL, 1u, POPUP7_MSG_CHARGE_ABNORMAL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*46 POPUP7_AMT_ERROR */ POPUP_TYPE_WARNING , 5u, 1u, POPUP_IGN_ON, POPUP7_AMT_ERROR , NULL, 1u, POPUP7_MSG_AMT_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*46 POPUP7_AMT_ERROR */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP7_AMT_ERROR , NULL, 1u, POPUP7_MSG_AMT_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*47 POPUP8_REFUEL */ POPUP_TYPE_WARNING , 6u, 0u, POPUP_IGN_ON, POPUP8_REFUEL , NULL, 1u, POPUP8_MSG_REFUEL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*47 POPUP8_REFUEL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_REFUEL , NULL, 1u, POPUP8_MSG_REFUEL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*48 POPUP8_ATM_CLUCH_OVERHEATING */ POPUP_TYPE_WARNING , 6u, 1u, POPUP_IGN_ON, POPUP8_ATM_CLUCH_OVERHEATING , NULL, 1u, POPUP8_MSG_ATM_CLUCH_OVERHEATING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*48 POPUP8_ATM_CLUCH_OVERHEATING */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_ATM_CLUCH_OVERHEATING , NULL, 1u, POPUP8_MSG_ATM_CLUCH_OVERHEATING , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*49 POPUP8_ATM_WORN_OUT */ POPUP_TYPE_WARNING , 6u, 2u, POPUP_IGN_ON, POPUP8_ATM_WORN_OUT , NULL, 1u, POPUP8_MSG_ATM_WORN_OUT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*49 POPUP8_ATM_WORN_OUT */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_ATM_WORN_OUT , NULL, 1u, POPUP8_MSG_ATM_WORN_OUT , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*50 POPUP8_LOWVOLTAGE */ POPUP_TYPE_WARNING , 6u, 3u, POPUP_IGN_ON, POPUP8_LOWVOLTAGE , NULL, 1u, POPUP8_MSG_LOWVOLTAGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*50 POPUP8_LOWVOLTAGE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_LOWVOLTAGE , NULL, 1u, POPUP8_MSG_LOWVOLTAGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*51 POPUP8_OVERVOLTAGE */ POPUP_TYPE_WARNING , 6u, 4u, POPUP_IGN_ON, POPUP8_OVERVOLTAGE , NULL, 1u, POPUP8_MSG_OVERVOLTAGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*51 POPUP8_OVERVOLTAGE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_OVERVOLTAGE , NULL, 1u, POPUP8_MSG_OVERVOLTAGE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*52 POPUP8_BRAKE_BLOCKR */ POPUP_TYPE_WARNING , 6u, 5u, POPUP_IGN_ON, POPUP8_BRAKE_BLOCKR , NULL, 1u, POPUP8_MSG_BRAKE_BLOCKR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*52 POPUP8_BRAKE_BLOCKR */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_BRAKE_BLOCKR , NULL, 1u, POPUP8_MSG_BRAKE_BLOCKR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*53 POPUP8_BRAKE_BLOCKF */ POPUP_TYPE_WARNING , 6u, 6u, POPUP_IGN_ON, POPUP8_BRAKE_BLOCKF , NULL, 1u, POPUP8_MSG_BRAKE_BLOCKF , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*53 POPUP8_BRAKE_BLOCKF */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_BRAKE_BLOCKF , NULL, 1u, POPUP8_MSG_BRAKE_BLOCKF , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*54 POPUP8_DPD_AUTO */ POPUP_TYPE_WARNING , 6u, 7u, POPUP_IGN_ON, POPUP8_DPD_AUTO , NULL, 1u, POPUP8_MSG_DPD_AUTO , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*54 POPUP8_DPD_AUTO */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP8_DPD_AUTO , NULL, 1u, POPUP8_MSG_DPD_AUTO , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*55 POPUP9_AIR_PRESSURE */ POPUP_TYPE_WARNING , 7u, 0u, POPUP_IGN_ON, POPUP9_AIR_PRESSURE , NULL, 1u, POPUP9_MSG_AIR_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*55 POPUP9_AIR_PRESSURE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP9_AIR_PRESSURE , NULL, 1u, POPUP9_MSG_AIR_PRESSURE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*56 POPUP9_EBS_ERROR */ POPUP_TYPE_WARNING , 7u, 1u, POPUP_IGN_ON, POPUP9_EBS_ERROR , NULL, 1u, POPUP9_MSG_EBS_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*56 POPUP9_EBS_ERROR */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP9_EBS_ERROR , NULL, 1u, POPUP9_MSG_EBS_ERROR , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*57 POPUP10_RAPID_ACC */ POPUP_TYPE_WARNING , 8u, 0u, POPUP_IGN_ON, POPUP10_RAPID_ACC , NULL, 1u, POPUP10_MSG_RAPID_ACC , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*57 POPUP10_RAPID_ACC */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP10_RAPID_ACC , NULL, 1u, POPUP10_MSG_RAPID_ACC , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*58 POPUP10_RAPID_SUB */ POPUP_TYPE_WARNING , 8u, 1u, POPUP_IGN_ON, POPUP10_RAPID_SUB , NULL, 1u, POPUP10_MSG_RAPID_SUB , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*58 POPUP10_RAPID_SUB */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP10_RAPID_SUB , NULL, 1u, POPUP10_MSG_RAPID_SUB , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*59 POPUP10_REVAL_ENGINE */ POPUP_TYPE_WARNING , 8u, 2u, POPUP_IGN_ON, POPUP10_REVAL_ENGINE , NULL, 1u, POPUP10_MSG_REVAL_ENGINE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*59 POPUP10_REVAL_ENGINE */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP10_REVAL_ENGINE , NULL, 1u, POPUP10_MSG_REVAL_ENGINE , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*60 POPUP10_REVAL_SPEED */ POPUP_TYPE_WARNING , 8u, 3u, POPUP_IGN_ON, POPUP10_REVAL_SPEED , NULL, 1u, POPUP10_MSG_REVAL_SPEED , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*60 POPUP10_REVAL_SPEED */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP10_REVAL_SPEED , NULL, 1u, POPUP10_MSG_REVAL_SPEED , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*61 POPUP11_ENGINE_OIL_FILTER */ POPUP_TYPE_WARNING , 9u, 0u, POPUP_IGN_ON, POPUP11_ENGINE_OIL_FILTER , NULL, 1u, POPUP11_MSG_ENGINE_OIL_FILTER , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*61 POPUP11_ENGINE_OIL_FILTER */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_ENGINE_OIL_FILTER , NULL, 1u, POPUP11_MSG_ENGINE_OIL_FILTER , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*62 POPUP11_FUEL_FILTER */ POPUP_TYPE_WARNING , 9u, 1u, POPUP_IGN_ON, POPUP11_FUEL_FILTER , NULL, 1u, POPUP11_MSG_FUEL_FILTER , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*62 POPUP11_FUEL_FILTER */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_FUEL_FILTER , NULL, 1u, POPUP11_MSG_FUEL_FILTER , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*63 POPUP11_T_MISSION_OIL */ POPUP_TYPE_WARNING , 9u, 2u, POPUP_IGN_ON, POPUP11_T_MISSION_OIL , NULL, 1u, POPUP11_MSG_T_MISSION_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*63 POPUP11_T_MISSION_OIL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_T_MISSION_OIL , NULL, 1u, POPUP11_MSG_T_MISSION_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*64 POPUP11_DIFF_OIL */ POPUP_TYPE_WARNING , 9u, 3u, POPUP_IGN_ON, POPUP11_DIFF_OIL , NULL, 1u, POPUP11_MSG_DIFF_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*64 POPUP11_DIFF_OIL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_DIFF_OIL , NULL, 1u, POPUP11_MSG_DIFF_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*65 POPUP11_CLUTCH_OIL */ POPUP_TYPE_WARNING , 9u, 4u, POPUP_IGN_ON, POPUP11_CLUTCH_OIL , NULL, 1u, POPUP11_MSG_CLUTCH_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*65 POPUP11_CLUTCH_OIL */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_CLUTCH_OIL , NULL, 1u, POPUP11_MSG_CLUTCH_OIL , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*66 POPUP11_P_STEERING_FRUID */ POPUP_TYPE_WARNING , 9u, 5u, POPUP_IGN_ON, POPUP11_P_STEERING_FRUID , NULL, 1u, POPUP11_MSG_P_STEERING_FRUID , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*66 POPUP11_P_STEERING_FRUID */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_P_STEERING_FRUID , NULL, 1u, POPUP11_MSG_P_STEERING_FRUID , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
{/*67 POPUP11_TIRE_ROTATION */ POPUP_TYPE_WARNING , 9u, 6u, POPUP_IGN_ON, POPUP11_TIRE_ROTATION , NULL, 1u, POPUP11_MSG_TIRE_ROTATION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,}, {/*67 POPUP11_TIRE_ROTATION */ POPUP_TYPE_WARNING , 3u, 0u, POPUP_IGN_ON, POPUP11_TIRE_ROTATION , NULL, 1u, POPUP11_MSG_TIRE_ROTATION , POPUP_MODE_MULTI, POPUP_NONE , POPUP_MODE_MULTI,},
/*=============================================================================================================================================================================================================================================================================*/ /*=============================================================================================================================================================================================================================================================================*/
}; };
\ No newline at end of file
...@@ -61,6 +61,8 @@ static uint16_t Popup_Get_Next_Masked_Warning ( uint16_t PopupID ); ...@@ -61,6 +61,8 @@ static uint16_t Popup_Get_Next_Masked_Warning ( uint16_t PopupID );
static void Popup_IRQ_Enable(void); static void Popup_IRQ_Enable(void);
static void Popup_IRQ_Disable(void); static void Popup_IRQ_Disable(void);
static PopupList_Opt_t PopupListOpt;
/********************************************************************************************************** /**********************************************************************************************************
* Global variables * Global variables
*/ */
...@@ -79,8 +81,6 @@ static void Popup_IRQ_Disable(void); ...@@ -79,8 +81,6 @@ static void Popup_IRQ_Disable(void);
**********************************************************************************************************/ **********************************************************************************************************/
void Popup_Scheduler_Init ( void ) void Popup_Scheduler_Init ( void )
{ {
PopupList_Opt_t PopupListOpt = {0};
PopupListOpt.CommMemBuf = CommBuf; PopupListOpt.CommMemBuf = CommBuf;
PopupListOpt.MaxCommMenSize = MAX_MEM_NUM; PopupListOpt.MaxCommMenSize = MAX_MEM_NUM;
PopupListOpt.pPopupAttributeTable = PopupAttributeTable; PopupListOpt.pPopupAttributeTable = PopupAttributeTable;
......
#include "Popups.h" #include "Popups.h"
#include "Common_Interface.h" #include "Popup_List.h"
#include "Popup_Message_List.h"
#include "Sound_List.h"
#include "GUI.h" #include "GUI.h"
#include "Common_Interface.h"
#include "Sound_Scheduler.h" #include "Sound_Scheduler.h"
#include "Gauges.h" #include "Gauges.h"
#include "GaugesInterface.h" #include "GaugesInterface.h"
#include "CAN_Communication_Matrix.h" #include "CAN_Communication_Matrix.h"
#include "Popup_List.h"
#include "Popup_Message_List.h"
#include "Sound_List.h"
#include "Telltales.h"
#include "Data_Gear.h" #include "Data_Gear.h"
#include "Line_in.h" #include "Line_in.h"
#include "Telltales_user.h"
#include "Data_CoolantTemperature.h" #include "Data_CoolantTemperature.h"
#include "Data_Voltmeter.h" #include "Data_Voltmeter.h"
#include "Data_Fuel_User.h" #include "Data_Fuel_User.h"
#include "FuelConfig.h"
#include "Service_TPMS.h" #include "Service_TPMS.h"
void Popups_Management_Service(void) void Popups_Management_Service(void)
...@@ -37,6 +35,7 @@ void Popups_Polling(void) ...@@ -37,6 +35,7 @@ void Popups_Polling(void)
uint8_t variable_2 = 0x00u; uint8_t variable_2 = 0x00u;
uint8_t variable_3 = 0x00u; uint8_t variable_3 = 0x00u;
uint32_t variable_4 = 0x00u; uint32_t variable_4 = 0x00u;
uint16_t variable_5 = 0x00u;
uint16_t V_Speed = 0u; uint16_t V_Speed = 0u;
uint16_t E_Speed = 0u; uint16_t E_Speed = 0u;
...@@ -161,7 +160,7 @@ void Popups_Polling(void) ...@@ -161,7 +160,7 @@ void Popups_Polling(void)
/*5.--4--ASR工作*/ /*5.--4--ASR工作*/
variable_1 = Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State(); variable_1 = Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State();
if (variable_1 == 0x01u) if ((variable_1 == 0x01u) && (K_Line_Set.K_Line_LID21 == 0x01u))
{ {
Popup_Request(POPUT1_ASR_OPERATE); Popup_Request(POPUT1_ASR_OPERATE);
} }
...@@ -618,8 +617,9 @@ void Popups_Polling(void) ...@@ -618,8 +617,9 @@ void Popups_Polling(void)
/*41.TPMS故障-轮胎监控失败 ID:18011733 Byte:6 Bit:ALL 0111(B) or 1000(B) or 1001(B)*/ /*41.TPMS故障-轮胎监控失败 ID:18011733 Byte:6 Bit:ALL 0111(B) or 1000(B) or 1001(B)*/
variable_1 = Get_TPMSSensor_fault_Sta(); variable_1 = Get_TPMSSensor_fault_Sta();
variable_2 = CAN_MSG_Status(ID_CanMsg18011733_Msg_Count);
if ((K_Line_Set.K_Line_LID3E = 0x01u) && (variable_1 == 0x01u)) if ((K_Line_Set.K_Line_LID3E = 0x01u) && ((variable_1 == 0x01u) || (variable_2 == CAN_SIG_LOST)))
{ {
Popup_Request(POPUP5_TPMS_FAILURE); Popup_Request(POPUP5_TPMS_FAILURE);
} }
...@@ -628,7 +628,6 @@ void Popups_Polling(void) ...@@ -628,7 +628,6 @@ void Popups_Polling(void)
Popup_Delete(POPUP5_TPMS_FAILURE); Popup_Delete(POPUP5_TPMS_FAILURE);
} }
/*42.TPMS電池低下-轮胎监控传感器电压下降 ID:18011733 Byte:5 Bit:4 01(B) LID $3E : 0x01*/ /*42.TPMS電池低下-轮胎监控传感器电压下降 ID:18011733 Byte:5 Bit:4 01(B) LID $3E : 0x01*/
variable_1 = Get_TPMSLow_Voltage_Sta(); variable_1 = Get_TPMSLow_Voltage_Sta();
...@@ -647,7 +646,7 @@ void Popups_Polling(void) ...@@ -647,7 +646,7 @@ void Popups_Polling(void)
/*43.遥控车辆高度调整中(无车速) B30 28V*/ /*43.遥控车辆高度调整中(无车速) B30 28V*/
variable_1 = Line_In_Get_Status(LINE_IN_AIR_SUS); variable_1 = Line_In_Get_Status(LINE_IN_AIR_SUS);
if (variable_1 == 1) if (variable_1 == 0x01u)
{ {
Popup_Request(POPUP6_HEIGHT_CONTROL); Popup_Request(POPUP6_HEIGHT_CONTROL);
} }
...@@ -660,7 +659,7 @@ void Popups_Polling(void) ...@@ -660,7 +659,7 @@ void Popups_Polling(void)
variable_1 = Get_ID_18FED900_Sig_PTO_SW(); variable_1 = Get_ID_18FED900_Sig_PTO_SW();
variable_2 = Line_In_Get_Status(LINE_IN_PTO); variable_2 = Line_In_Get_Status(LINE_IN_PTO);
if ((variable_1 == 1) || ( variable_2 == 1)) if ((variable_1 == 0x01u) || (variable_2 == 0x01u))
{ {
Popup_Request(POPUP6_PTO_STOP); Popup_Request(POPUP6_PTO_STOP);
} }
...@@ -702,22 +701,25 @@ void Popups_Polling(void) ...@@ -702,22 +701,25 @@ void Popups_Polling(void)
/*----第八组---------------------------------------------------------------------*/ /*----第八组---------------------------------------------------------------------*/
/*47.补充燃料-油箱单位*/ /*47.补充燃料-油箱单位*/
//if (K_Line_Set.K_Line_LID43 == 0x82u) variable_1 = Fuel_Get_CurSeg();/*格*/
//{ variable_2 = GetFuelSensorState();/*燃油状态*/
// //if ((Fuel_Seg <= 1 ) && (FuelStatus == 0) && (FuelResistanceV != 65535)) variable_5 = GetFuelResistance(); /*采集的阻值*/
// if (0)
// { if (K_Line_Set.K_Line_LID43 == 0x82u)
// Popup_Request(POPUP8_REFUEL); {
// } if ((variable_1 <= 1 ) && (variable_2 == FuelSensorNormal) && (variable_5 != 65535))
// else {
// { Popup_Request(POPUP8_REFUEL);
// Popup_Delete(POPUP8_REFUEL); }
// } else
//} {
//else Popup_Delete(POPUP8_REFUEL);
//{ }
// Popup_Clear(POPUP8_REFUEL); }
//} else
{
Popup_Clear(POPUP8_REFUEL);
}
if (K_Line_Set.K_Line_LID41 == 0x13u) if (K_Line_Set.K_Line_LID41 == 0x13u)
{ {
...@@ -752,24 +754,24 @@ void Popups_Polling(void) ...@@ -752,24 +754,24 @@ void Popups_Polling(void)
} }
/*50.低电压报警 显示条件:发动机启动(350r/min)后,7秒检测到23.5V时 显示消失条件:10秒检测到25V以上时*/ /*50.低电压报警 显示条件:发动机启动(350r/min)后,7秒检测到23.5V时 显示消失条件:10秒检测到25V以上时*/
//if (( KL30_Volt < 2350) && ( E_Speed > 350)) //23.5V // if (( KL30_Volt < 2350) && ( E_Speed > 350)) //23.5V
//{ //{
// Popup_Request(POPUP8_LOW_VOLTAGE_SPEED); // Popup_Request(POPUP8_LOW_VOLTAGE_SPEED);
//} // }
//else if (KL30_Volt > 2500) // else if (KL30_Volt > 2500)
//{ //{
// Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED); // Popup_Delete(POPUP8_LOW_VOLTAGE_SPEED);
//} // }
/*51.过电压报警 显示条件:发动机启动(350r/min)后,7秒检测到30.4V以上时 显示消失条件:10秒检测到29.4V以下时*/ /*51.过电压报警 显示条件:发动机启动(350r/min)后,7秒检测到30.4V以上时 显示消失条件:10秒检测到29.4V以下时*/
//if ((KL30_Volt > 3044) && ( E_Speed > 350)) //30.44V // if ((KL30_Volt > 3044) && ( E_Speed > 350)) //30.44V
//{ //{
// Popup_Request(POPUP8_OVERVOLTAGE); // Popup_Request(POPUP8_OVERVOLTAGE);
//} // }
//else if (KL30_Volt < 2940) // else if (KL30_Volt < 2940)
//{ //{
// Popup_Delete(POPUP8_OVERVOLTAGE); // Popup_Delete(POPUP8_OVERVOLTAGE);
//} // }
/*52.后蹄片磨损*/ /*52.后蹄片磨损*/
variable_1 = Line_In_Get_Status(LINE_IN_WEAR2); variable_1 = Line_In_Get_Status(LINE_IN_WEAR2);
...@@ -808,7 +810,37 @@ void Popups_Polling(void) ...@@ -808,7 +810,37 @@ void Popups_Polling(void)
/*----第九组---------------------------------------------------------------------*/ /*----第九组---------------------------------------------------------------------*/
/*55.气压过低-请冲入空气*/ /*55.气压过低-请冲入空气*/
variable_1 = (uint8_t)Line_In_Get_Status(LINE_IN_BRAKE_AIR_EBS);
variable_2 = Common_Get_L12_Air_Sta();
if ((variable_1 == LINE_IN_LOGIC_VALID ) || (variable_2 == 0X01U))
{
Popup_Request(POPUP9_AIR_PRESSURE);
}
else
{
Popup_Delete(POPUP9_AIR_PRESSURE);
}
/*56.EBS故障(红)-请与五十铃公司联系*/ /*56.EBS故障(红)-请与五十铃公司联系*/
variable_1 = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
variable_2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if (K_Line_Set.K_Line_LID21 == 0x01u)
{
if ((variable_1 == 0x01u) || (variable_2 == CAN_SIG_LOST))
{
Popup_Request(POPUP9_EBS_ERROR);
}
else
{
Popup_Delete(POPUP9_EBS_ERROR);
}
}
else
{
Popup_Clear(POPUP9_EBS_ERROR);
}
#if 0 #if 0
/*----第十组---------------------------------------------------------------------*/ /*----第十组---------------------------------------------------------------------*/
/*57.省油耗建议-急加速*/ /*57.省油耗建议-急加速*/
......
...@@ -424,6 +424,8 @@ void GUI_TFTTelltales_Display(uint8_t Mode) ...@@ -424,6 +424,8 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(); EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count); CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if (K_Line_Set.K_Line_LID21 == 0x01u)
{
if ((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST)) if ((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST))
{ {
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER); GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
...@@ -434,6 +436,11 @@ void GUI_TFTTelltales_Display(uint8_t Mode) ...@@ -434,6 +436,11 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
} }
} }
else else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_CUSTOM );
}
}
else
{ {
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER); GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
} }
......
...@@ -315,7 +315,7 @@ static const t_PicStruct Pic_Attribute[] = ...@@ -315,7 +315,7 @@ static const t_PicStruct Pic_Attribute[] =
{ /*CN_Alarm_G5_5_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x10888C80u }, { /*CN_Alarm_G5_5_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x10888C80u },
{ /*CN_Alarm_G5_5_wenzi3 X486_Y225.png*/ 486u, 225u, 280u, 132u, ARGB8888, 0x108901C0u }, { /*CN_Alarm_G5_5_wenzi3 X486_Y225.png*/ 486u, 225u, 280u, 132u, ARGB8888, 0x108901C0u },
{ /*CN_Alarm_G5_6_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108B4340u }, { /*CN_Alarm_G5_6_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108B4340u },
{ /*CN_Alarm_G5_6_wenzi1 X391_Y277.png*/ 391u, 277u, 400u, 44u, ARGB8888, 0x108BB3C0u }, { /*CN_Alarm_G5_6_wenzi1 X392_Y278.png*/ 392u, 278u, 400u, 44u, ARGB8888, 0x108BB3C0u },
{ /*CN_Alarm_G5_6_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x108CC6C0u }, { /*CN_Alarm_G5_6_wenzi2 X484_Y191.png*/ 484u, 191u, 268u, 28u, ARGB8888, 0x108CC6C0u },
{ /*CN_Alarm_G5_7_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108D3C00u }, { /*CN_Alarm_G5_7_image X383_Y189.png*/ 383u, 189u, 100u, 72u, ARGB8888, 0x108D3C00u },
{ /*CN_Alarm_G5_7_wenzi1 X391_Y277.png*/ 391u, 277u, 400u, 44u, ARGB8888, 0x108DAC80u }, { /*CN_Alarm_G5_7_wenzi1 X391_Y277.png*/ 391u, 277u, 400u, 44u, ARGB8888, 0x108DAC80u },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment