Commit 585b7d54 authored by hu's avatar hu

调整指示灯功能。

parent d40294fa
No preview for this file type
This diff is collapsed.
project .intvect 1536
project .text 324876
project .rodata 411119
project .text 324972
project .rodata 411127
project .secinfo 120
project .syscall 6
project .romdata 9021
......
......@@ -12,8 +12,10 @@
#include "Line_in.h"
#include "IS31FL3236.h"
#include "Data_AirPressure.h"
static uint8_t L12_Air_Sta ;
TelltaleLRCtrlStruct TelltaleLRCtrl;
......@@ -49,7 +51,7 @@ const LED_Attribute_st LED_Attribute[LED_Max] =
{ em_LED_TRAILER_BRAKE_R , SelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_TRAILER_BRAKE_R_Judgement , LED_TRAILER_BRAKE_R_Execution },
{ em_LED_BRAKE_AIR_or_EBS_YELLOW_R , NoSelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_BRAKE_AIR_or_EBS_YELLOW_R_Judgement , LED_BRAKE_AIR_or_EBS_YELLOW_R_Execution },
{ em_LED_ACC_AIR_R , NoSelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_ACC_AIR_R_Judgement , LED_ACC_AIR_R_Execution },
{ em_LED_ABS_R , NoSelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_ABS_R_Judgement , LED_ABS_R_Execution },
{ em_LED_ABS_R , SelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_ABS_R_Judgement , LED_ABS_R_Execution },
{ em_LED_PARK_BRAKE_R , SelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_PARK_BRAKE_R_Judgement , LED_PARK_BRAKE_R_Execution },
{ em_LED_BRAKE_AIR_or_EBS_RED_R , NoSelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_BRAKE_AIR_or_EBS_RED_R_Judgement , LED_BRAKE_AIR_or_EBS_RED_R_Execution },
{ em_LED_BRAKE_LOCK_R , NoSelfCheck , NoExterNalCheck , LED_IGN_ON , 0u, 3000ul, LED_BRAKE_LOCK_R_Judgement , LED_BRAKE_LOCK_R_Execution },
......@@ -70,6 +72,8 @@ void Telltales_Left_Right_KL30_Init(void)
TelltaleLRCtrl.LastRight = 0u;
TelltaleLRCtrl.LastLeft = 0u;
TelltaleLRCtrl.Delay = 0u;
L12_Air_Sta = 0u;
}
/******************************************************************************
......@@ -1252,6 +1256,7 @@ void LED_TPMS_L_Execution(uint8_t led_status)
信号接口: 18F0010B Byte:3 Bit:3-4==01(B)
信号定义:
输出信号:
说明:调整依据 SXS-VC66-22_EBS WARNING & INDICATOR (7“LCD)改訂1-1_20211116
******************************************************************************/
uint8_t LED_ASR_or_EVSC_OFF_L_Judgement(void)
{
......@@ -1312,6 +1317,7 @@ void LED_ASR_or_EVSC_OFF_L_Execution(uint8_t led_status)
信号接口:
信号定义:
输出信号:
调整依据:SXS-VC66-22_EBS WARNING & INDICATOR (7“LCD)改訂1-1_20211116
******************************************************************************/
uint8_t LED_EVSC_L_Judgement(void)
{
......@@ -1323,41 +1329,41 @@ uint8_t LED_EVSC_L_Judgement(void)
uint8_t m_Condition3 = 0u;
uint8_t m_Condition4 = 0u;
uint8_t m_Condition5 = 0u;
uint8_t m_Condition6 = 0u;
uint8_t m_Condition7 = 0u;
uint16_t m_Condition6 = 0u;
uint16_t m_Condition7 = 0u;
CanStatus1 = CAN_MSG_Status(ID_CanMsg18FE4F0B_Msg_Count);
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
m_Condition1 = (uint8_t)Line_In_Get_Status(LINE_IN_BRAKE_AIR_EBS); /*A28*/
m_Condition2 = (uint8_t)Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
m_Condition2 = (uint8_t)Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State(); /*byte6 34*/
m_Condition3 = (uint8_t)Get_ID_18F0010B_Sig_ATC_or_ASR_Lamp_State();
m_Condition4 = (uint8_t)Get_ID_18FE4F0B_Sig_VDC_Lamp_State();
m_Condition5 = (uint8_t)Get_ID_18FE4F0B_Sig_VDC_Fully_operational();
m_Condition6 = 0u; /*气压1 1.89以下*/
m_Condition7 = 0u; /*气压1 1.89以下*/
if (
(m_Condition1 == 1u) ||
(m_Condition6 < 1890u) || (m_Condition7 < 1890u) ||
((m_Condition2 == 1u) && (K_Line_Set.K_Line_LID21 == 0x01u)) ||
((CanStatus1 == CAN_SIG_LOST) && (K_Line_Set.K_Line_LID22 == 0x01u))
)
m_Condition6 = Common_Get_Air1_Data(); /*气压1 1.89以下*/
m_Condition7 = Common_Get_Air2_Data(); /*气压1 1.89以下*/
/*做个回差,去抖*/
if ((m_Condition6 < 1890u) || (m_Condition7 < 1890u))
{
u8Result = 1u;
L12_Air_Sta = 1u;
}
else if ((m_Condition3 == 1u) && (K_Line_Set.K_Line_LID21 == 0x01u))
else if ((m_Condition6 >= 1990u) && (m_Condition7 >= 1990u))
{
u8Result = FLASH_SYNC_2Hz;
L12_Air_Sta = 0u;
}
else if (
((CanStatus2 == CAN_SIG_LOST) && (K_Line_Set.K_Line_LID21 == 0x01u)) ||
((m_Condition4 == 1u) && (K_Line_Set.K_Line_LID22 == 0x01u))
if (
(m_Condition1 == 1u) || (L12_Air_Sta == 1u) ||
(((m_Condition2 == 1u) || (CanStatus2 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID21 == 0x01u)) ||
(((m_Condition5 == 0u) || (CanStatus1 == CAN_SIG_LOST)) && (K_Line_Set.K_Line_LID22 == 0x01u))
)
{
u8Result = FLASH_SYNC_1Hz;
u8Result = 1u;
}
else if ((m_Condition5 == 1u) && (K_Line_Set.K_Line_LID22 == 0x01u))
else if (((m_Condition3 == 1u) && (K_Line_Set.K_Line_LID21 == 0x01u)) ||
((m_Condition4 == 1u) && (K_Line_Set.K_Line_LID22 == 0x01u)))
{
u8Result = FLASH_SYNC_05Hz;
u8Result = FLASH_SYNC_2Hz;
}
else
{
......@@ -1606,19 +1612,15 @@ uint8_t LED_BRAKE_AIR_or_EBS_RED_R_Judgement(void)
uint8_t u8Result = 0u;
uint8_t CanStatus = 0u;
uint8_t m_Condition1 = 0u;
uint8_t m_Condition2 = 0u;
uint8_t m_Condition3 = 0u;
m_Condition1 = (uint8_t)Line_In_Get_Status(LINE_IN_BRAKE_AIR_EBS);
m_Condition2 = (uint8_t)Get_ID_18F0010B_Sig_ABS_Fully_Operational();
m_Condition3 = (uint8_t)Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
CanStatus = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if (
(m_Condition1 == 1u) ||
((K_Line_Set.K_Line_LID21 == 0x01u) && ((m_Condition2 == 0u) || (m_Condition3 == 1u) || (CanStatus == CAN_SIG_LOST)))
)
if ((m_Condition1 == 0x01u) || (L12_Air_Sta == 0x01u) ||
((K_Line_Set.K_Line_LID21 == 0x01u) && ((m_Condition3 == 1u) || (CanStatus == CAN_SIG_LOST))))
{
u8Result = 1u;
}
......@@ -1870,15 +1872,15 @@ void LED_ACC_AIR_R_Execution(uint8_t led_status)
uint8_t LED_ABS_R_Judgement(void)
{
uint8_t u8Result = 0u;
uint8_t m_Condition1 = 0u;
uint8_t m_Condition2 = 0u;
uint8_t CanStatus1 = 0u;
//m_Condition1 = (uint8_t)Line_In_Get_Status(LINE_IN_ABS);
//m_Condition2 = (uint8_t)Get_ID_18F0010B_Sig_EBS_Amber_Warning_State();
m_Condition2 = (uint8_t)Get_ID_18F0010B_Sig_EBS_Amber_Warning_State();
CanStatus1 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if ((K_Line_Set.K_Line_LID21 == 0x02) || (K_Line_Set.K_Line_LID21 == 0x03))
if (K_Line_Set.K_Line_LID21 == 0x01)
{
if ((m_Condition1 == 1u) || (m_Condition2 == 1u))
if ((CanStatus1 == CAN_SIG_LOST) || (m_Condition2 == 1u))
{
u8Result = 1u;
}
......@@ -1896,22 +1898,14 @@ uint8_t LED_ABS_R_Judgement(void)
}
void LED_ABS_R_Execution(uint8_t led_status)
{
if ((K_Line_Set.K_Line_LID21 == 0x02) || (K_Line_Set.K_Line_LID21 == 0x03))
{
ABS_LED_MCU_OUT = led_status;
ABS_LED_MCU_OUT = led_status;
if (led_status == 1)
{
SEG_LED_ABS_R(7);
}
else
{
SEG_LED_ABS_R(0);
}
if (led_status == 1)
{
SEG_LED_ABS_R(7);
}
else
{
ABS_LED_MCU_OUT = 0x00u;
SEG_LED_ABS_R(0);
}
}
......
......@@ -398,15 +398,32 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
uint32_t Veh_SpeedLim = 0u;
uint32_t Veh_Speed = 0u;
uint8_t CanStatus2 = 0u;
uint8_t EBSLamp_State = 0u;
if (Mode == GUI_DISP_MODE_NORMAL)
{
/*超速报警指示灯*/
Veh_Speed = Common_Get_Disp_V_Speed();
Veh_Speed = Veh_Speed / 10u;
Veh_SpeedLim = Get_ID_18EA0021_Sig_CruiseControl_VehicleSpeedSetup();
if (Veh_Speed >= Veh_SpeedLim)
{
GUI_General_Display(WarningLight_Sprite, CN_Alarm_01, GUI_BLENDMODE_SRC_OVER);
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_01, 21u, GUI_DISP_LEMPY[0u], GUI_BLENDMODE_SRC_OVER);
}
else
{
GUI_General_Display(WarningLight_Sprite, SpriteSize, GUI_BLENDMODE_CUSTOM );
}
/*EBS指示灯*/
EBSLamp_State = Get_ID_18F0010B_Sig_EBS_Red_Warning_Lamp_State();
CanStatus2 = CAN_MSG_Status(ID_CanMsg18F0010B_Msg_Count);
if ((EBSLamp_State == 0x01u) || (CanStatus2 == CAN_SIG_LOST))
{
GUI_Translate_Display(WarningLight_Sprite, CN_Alarm_02, 21u, GUI_DISP_LEMPY[1u], GUI_BLENDMODE_SRC_OVER);
}
else
{
......
......@@ -142,6 +142,7 @@ static const uint32_t GUIWedk[7u] = {CN_xingqiri, CN_xingqiyi, CN_xingqier, CN_x
static const uint32_t GUIMenuWedk[7u] = {CN_ri, CN_Mon, CN_Tue, CN_Wed, CN_Thu, CN_Fri, CN_Sat};
static const uint32_t GUIGear[12u] = {CN_dangwei_1, CN_dangwei_2, CN_dangwei_3, CN_dangwei_4, CN_dangwei_5, CN_dangwei_6, CN_dangwei_7, CN_dangwei_8, CN_dangwei_9, CN_dangwei_10, CN_dangwei_11, CN_dangwei_12};
static const uint16_t GUI_DISP_LEMPY[4] = {92u, 158u, 225u, 291u};
static const uint16_t GUI_DISP_AC_TEMP[2] = {229u, 216u}; /*室外温度数字显示*/
static const uint16_t GUI_DISP_Hours[2] = {370u, 349u};
static const uint16_t GUI_DISP_Minutes[2] = {428u, 406u};
......
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