Commit 98c717de authored by hu's avatar hu

调整胎压数据处理问题

parent feb563ae
......@@ -29,21 +29,21 @@ void Data_TPMS_KL30_Init(void)
TPMS_Out[FourthROut].TPMSTyreID = FourthROutID;
TPMS_Out[FourthRIn].TPMSTyreID = FourthRInID;
TPMS_Out[FirstLOut].TPMSDataInvalidTime = 600u;
TPMS_Out[FirstROut].TPMSDataInvalidTime = 600u;
TPMS_Out[FirstLOut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[FirstROut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[SecondLIn].TPMSDataInvalidTime = 600u;
TPMS_Out[SecondRIn].TPMSDataInvalidTime = 600u;
TPMS_Out[SecondLIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[SecondRIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[ThirdLOut].TPMSDataInvalidTime = 600u;
TPMS_Out[ThirdLIn].TPMSDataInvalidTime = 600u;
TPMS_Out[ThirdROut].TPMSDataInvalidTime = 600u;
TPMS_Out[ThirdRIn].TPMSDataInvalidTime = 600u;
TPMS_Out[ThirdLOut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[ThirdLIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[ThirdROut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[ThirdRIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[FourthLOut].TPMSDataInvalidTime = 600u;
TPMS_Out[FourthLIn].TPMSDataInvalidTime = 600u;
TPMS_Out[FourthROut].TPMSDataInvalidTime = 600u;
TPMS_Out[FourthRIn].TPMSDataInvalidTime = 600u;
TPMS_Out[FourthLOut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[FourthLIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[FourthROut].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
TPMS_Out[FourthRIn].TPMSDataInvalidTime = TPMSDataInvaliTimeNUM;
}
/******************************************************************************
Function:Data_TPMS_KL15_ON_Init
......@@ -56,7 +56,7 @@ void Data_TPMS_KL15_ON_Init(void)
}
/******************************************************************************
Function:Data_TPMS_Value_Processing
Description:数据处理总接口 100ms任务
Description:数据处理总接口 ms任务
Input:
Output:
******************************************************************************/
......@@ -158,6 +158,11 @@ void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID)
TPMS_Out[TPMSTyreID].TPMSDataInvalidTime = 0xFFFFu;
}
}
if (CAN_MSG_Status(ID_CanMsg18011733_Msg_Count) == CAN_SIG_LOST)
{
TPMS_Out[TPMSTyreID].TPMSPressure = 0x00u;
TPMS_Out[TPMSTyreID].TPMSTemp = 0x00u;
}
}
/******************************************************************************
......@@ -168,8 +173,7 @@ void Get_Data_TPMS_Value(TPMSNUM_t TPMSTyreID)
******************************************************************************/
void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
{
if ((TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index()) &&
(TPMS_Out[TPMSTyreID].TPMSDataInvalidTime <= 600u))
if (TPMS_Out[TPMSTyreID].TPMSTyreID == Get_ID_18011733_Sig_Tire_Index())
{
/*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = Get_ID_18011733_Sig_Low_Presure_Alarm();
......@@ -186,7 +190,7 @@ void Get_Data_TPMS_Status(TPMSNUM_t TPMSTyreID)
/*传感器故障信息 */
TPMS_Out[TPMSTyreID].TPMSSensorfault = Get_ID_18011733_Sig_Sensor_fault_information();
}
else
else if (CAN_MSG_Status(ID_CanMsg18011733_Msg_Count) == CAN_SIG_LOST)
{
/*低气压报警 */
TPMS_Out[TPMSTyreID].TPMSLowpressure = 0u;
......@@ -226,7 +230,7 @@ uint16_t Get_DataTPMS_Pressure_Sta(TPMSNUM_t TPMSTyreID)
{
uint16_t Pressure_Sta = 0u;
if ((TPMS_Out[TPMSTyreID].TPMSDataInvalidTime) >= 600u) /*数据超时 掉线或轮刷超时*/
if ((TPMS_Out[TPMSTyreID].TPMSDataInvalidTime) >= TPMSDataInvaliTimeNUM) /*数据超时 掉线或轮刷超时*/
{
Pressure_Sta = (uint16_t)STATUS_TIMEOUT;
}
......@@ -286,7 +290,7 @@ uint16_t Get_DataTPMS_Temp_Sta(TPMSNUM_t TPMSTyreID)
Get_Temp_Value = Get_DataTPMS_Temp_Value(TPMSTyreID);
if (TPMS_Out[TPMSTyreID].TPMSDataInvalidTime >= 600u) /*数据超时 掉线或轮刷超时*/
if (TPMS_Out[TPMSTyreID].TPMSDataInvalidTime >= TPMSDataInvaliTimeNUM) /*数据超时 掉线或轮刷超时*/
{
Temp_Value = (uint16_t)STATUS_TIMEOUT;
}
......
......@@ -17,6 +17,7 @@
#define FourthROutID 0x44u
#define TYRETEMP_OFFSET_VALUE (128u) /*胎温数据偏移量*/
#define TPMSDataInvaliTimeNUM 600u
typedef enum
{
......
......@@ -183,8 +183,8 @@ void Popups_Polling(void)
/*5.--4--ASR工作*/
variable_1 = (uint8_t)Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State();/*byte6 78*/
variable_2 = (uint8_t)Get_ID_18FE4F0B_Sig_VDC_Lamp_State(); /*byte1 12*/
variable_3 = (uint8_t)Get_ID_18FE4F0B_Sig_VDC_Fully_operational();/*byte1 34*/
variable_2 = (uint8_t)Get_ID_18F0010B_Sig_ASR_Lamp_State(); /*byte1 12*/
variable_3 = (uint8_t)Get_ID_18F0010B_Sig_ASR_Brake_Control_Active();/*byte1 34*/
if (((variable_2 == 0x01u) || (variable_3 == 0x01u)) && (K_Line_Set.K_Line_LID21 == 0x01u)) //|| (variable_1 == 0x01))
{
Popup_Request(POPUT1_ASR_OPERATE);
......
......@@ -33,6 +33,8 @@
#include "kwp2000_service.h"
#include "CAN_FUNC.h"
#include "GPIO.h"
#include "DisplaySch_user.h"
#include "DispSch.h"
#pragma alignvar(8)
Display_Modular_St Display_DTC[DTCNumeber + 1u];
......@@ -546,50 +548,72 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
uint8_t EBSWarning_State = 0u;
uint32_t u32IG_ON_Timer = 0x00u;
UElib_uint16_t HMI_MENU_Sta = 0u;
u32IG_ON_Timer = Common_GetIgnOnTime();
HMI_MENU_Sta = Get_Cur_HMI();
if (Mode == GUI_DISP_MODE_NORMAL)
{
/*B9硬线输出*/
if ((Get_ID_18F00503_Sig_Current_Gear() == 0x7Bu) ||
(Get_ID_18F00503_Sig_Current_Gear() == 0x7Cu))
if ((u32IG_ON_Timer <= 7500ul) && (HMI_MENU_Sta == Display_Menu))
{
USB_SDO_MCU = 1;/*三极管 8050*/
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_01_1, 21u, GUI_DISP_LEMPY[0u], GUI_BLENDMODE_SRC_OVER);
if (K_Line_Set.K_Line_LID21 == 0x01u)
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
}
}
else
{
USB_SDO_MCU = 0;
}
/*超速报警指示灯*/
Veh_Speed = Common_Get_Disp_V_Speed();
Veh_Speed = Veh_Speed / 10u;
/*B9硬线输出*/
if ((Get_ID_18F00503_Sig_Current_Gear() == 0x7Bu) ||
(Get_ID_18F00503_Sig_Current_Gear() == 0x7Cu))
{
USB_SDO_MCU = 1;/*三极管 8050*/
}
else
{
USB_SDO_MCU = 0;
}
Veh_SpeedLim = (uint32_t)Get_ID_18FEED00_Sig_Maximum_Vehicle_Speed_Limit();
CanStatus1 = CAN_MSG_Status(ID_CanMsg18FEED00_Msg_Count);
/*超速报警指示灯*/
Veh_Speed = Common_Get_Disp_V_Speed();
Veh_Speed = Veh_Speed / 10u;
if ((Veh_Speed >= Veh_SpeedLim) && (CanStatus1 != CAN_SIG_LOST))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_01_1, 21u, GUI_DISP_LEMPY[0u], GUI_BLENDMODE_SRC_OVER);
}
Veh_SpeedLim = (uint32_t)Get_ID_18FEED00_Sig_Maximum_Vehicle_Speed_Limit();
CanStatus1 = CAN_MSG_Status(ID_CanMsg18FEED00_Msg_Count);
/*EBS Red指示灯*/
EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if ((Veh_Speed >= Veh_SpeedLim) && (CanStatus1 != CAN_SIG_LOST))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_01_1, 21u, GUI_DISP_LEMPY[0u], GUI_BLENDMODE_SRC_OVER);
}
if (((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID21 == 0x01u))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
/*EBS Red指示灯*/
EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
/*EBS Yellow指示灯*/
EBSWarning_State = Get_ID_18F0010B_Sig_EBS_Amber_Warning_State();
/*EBS Yellow指示灯*/
EBSWarning_State = Get_ID_18F0010B_Sig_EBS_Amber_Warning_State();
if (((EBSWarning_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID21 == 0x01u))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_03, 21u, GUI_DISP_LEMPY[2u], GUI_BLENDMODE_SRC_OVER);
}
else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
if (((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID21 == 0x01u))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02_1, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
else if (((EBSWarning_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID21 == 0x01u))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_03, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
}
}
}
else
......@@ -761,6 +785,7 @@ void GUI_AdBlue_Dispaly(uint8_t Mode)
break;
case 0x01u:
case 0x00u:
GUI_General_Display(AdBlue_Sprite, CN_tianlanye, GUI_BLENDMODE_SRC_OVER); /*框*/
GUI_General_Display(AdBlue_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
break;
......
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