Commit 5fda5046 authored by hu's avatar hu

调整指示灯配置

parent bbb22262
......@@ -175,41 +175,9 @@ void Api_GetAdcResult(void)
else
{
w2 = ATDDR0;
ATDCTL5_Cx = CHNAL7;
ATDCTL5_Cx = CHNAL9;
}
break;
//-- 冷却液 --//
/*
case CHNAL6:
if(g_curkeyinput == KeyON)
{
g_adcResult.CoolLiquidEven[g_adcResult.pCoolLiquid] = ATDDR0;
if(g_adcResult.pCoolLiquid >= ADEveLen - 1)
{
g_adcResult.pCoolLiquid = null;
}
else
{
g_adcResult.pCoolLiquid++;
}
if(g_adcResult.pCoolLiquid % 2 == null)
{
ATDCTL5_Cx = CHNAL11;
}
else
{
ATDCTL5_Cx = CHNAL6;
}
App_SortNByte((INT16U *)g_adcResult.CoolLiquidEven, ADEveLen);
}
else
{
w2 = ATDDR0;
ATDCTL5_Cx = CHNAL9;
}
break;
*/
//----FUEL 电源采集----
case CHNAL7:
if (g_curkeyinput == KeyON)
......@@ -236,7 +204,7 @@ void Api_GetAdcResult(void)
else
{
w2 = ATDDR0;
ATDCTL5_Cx = CHNAL6;
ATDCTL5_Cx = CHNAL9;
}
break;
//-- Fuel --//
......@@ -422,6 +390,6 @@ void PowerManage(void)
//-- Power --//
//pVehOut = OFF;
//pGas5vOut = LOW;//关
//pMcu5vOut = HIGH;//关
LINE_5V_OUT = HIGH; //关
}
}
\ No newline at end of file
......@@ -362,7 +362,6 @@ void Init2EData(void)
(void)memset((INT8U *)&Diag2eData.D_F199[0], 0, 4);
//---- FCAA ----//
wTemp = 5624; //用来识别EPROM是否成功写入硬件配置
Diag2eData.D_FCAA[0] = (wTemp >> 8) & 0xff; //Byte0-Byte1::Bit5 - Bit0 PPK
Diag2eData.D_FCAA[1] = wTemp & 0xff;
......@@ -370,6 +369,10 @@ void Init2EData(void)
Radio.VehRadio = ((INT16U)Diag2eData.D_FCAA[0] << 8) | ((INT16U)Diag2eData.D_FCAA[1]);
//---- F1A8 ----//
Diag2eData.D_F1A8[1] = 0x08; //Byte1::Bit2 - Bit1 天蓝液 : default:0 13 1 15
//Byte1::Bit3 气压 : default:1 配置 0 未配置
//Byte1::Bit7 - Bit5 水温参数点
Diag2eData.D_F1A8[2] = 0x00; //Byte2::Bit0 左转向 : default:0 硬线 1 CAN
//Byte2::Bit1 右转向 : default:0 硬线 1 CAN
//Byte2::Bit2 远光灯 : default:0 硬线 1 CAN
......@@ -377,7 +380,24 @@ void Init2EData(void)
//Byte2::Bit4 前雾灯 : default:0 硬线 1 CAN
//Byte2::Bit5 后雾灯 : default:0 硬线 1 CAN
//Byte2::Bit6 位置灯 : default:0 硬线 1 CAN
//Byte2::Bit7 门开 : default:0 硬线 1 CAN
Diag2eData.D_F1A8[3] = 0x01; //Byte3::Bit1 - Bit0 DPF禁止 :default:1
//Byte3::Bit3 - Bit2 发动机状态 : default:0 全柴 1 云内
//Byte3::Bit5 - Bit4 发动机状态 : default:0 全柴 1 云内
//Byte3::Bit7 - Bit6 发动机系统保护 SVS : default:0
Diag2eData.D_F1A8[4] = 0x00; //Byte4::Bit4 - Bit3 燃油表参数 : default:0 E点111Ω;F点16.6Ω
Diag2eData.D_F1A8[5] = 0x00; //Byte5::Bit1 - Bit0 (ABS+EBD)/ESC : default:0
Diag2eData.D_F1A8[6] = 0x00; // 机油压力配置 :default:0-全柴 50 80 1-云内D20 60 80 2-云内G20 18FD0700 3-硬线
Diag2eData.D_F1A8[7] = 0x00; //Byte7::Bit3 - Bit2 蹄片磨损 : default:0 屏蔽
(void)memset(&Diag2eData.D_F1A8[8], 0, 13);
//天蓝液
ConfigItem.AdblueConfig = (Diag2eData.D_F1A8[1] >> 1) & 0x03;
//气压
ConfigItem.GasConfig = (Diag2eData.D_F1A8[1] >> 3) & 0x01;
//水温表报警点
ConfigItem.TempConfig = (Diag2eData.D_F1A8[1] >> 5) & 0x07;
//左转向
ConfigItem.LTurnConfig = Diag2eData.D_F1A8[2] & 0x01;
//右转向
......@@ -392,63 +412,22 @@ void Init2EData(void)
ConfigItem.RearFogConfig = (Diag2eData.D_F1A8[2] >> 5) & 0x01;
//位置灯
ConfigItem.PosLampConfig = (Diag2eData.D_F1A8[2] >> 6) & 0x01;
//--------------------------------------------------------------------------------------------------------------------
Diag2eData.D_F1A8[0] = 90; //Byte0 实际是120,后面+30 超速报警值 : default:120km/h
Diag2eData.D_F1A8[1] = 0x09; //Byte1::Bit0 超速报警 : default:1 配置
//Byte1::Bit2 - Bit1 天蓝液 : default:2 18FE5600
//Byte1::Bit3 气压 : default:1 配置
//Byte1::Bit7 - Bit4 语言 : default:0 中文
//Diag2eData.D_F1A8[2] = 0x00; //Byte2::Bit3 - Bit0 发动机状态 : default:0 0x0:全柴Q23国六发动机 0x1:云内D20国六发动机
//Byte2::Bit7 - Bit4 单位 : default:0 km/h,L/100km
Diag2eData.D_F1A8[3] = 0x46; //3200-5000rpm
//Byte3::Bit0 车道偏离LDWS : default:0 未配置
//Byte3::Bit3 - Bit1 水温表报警点 : default:2 105degC
//Byte3::Bit7 - Bit6 发动机系统保护SVS : default:0 CAN 1 硬线
Diag2eData.D_F1A8[4] = 0x20; //Byte4::Bit6 - Bit5 燃油表参数 : default:0 E点105Ω;F点7Ω
//Byte4::Bit7 冷却液液位报警 : default:0 未配置
Diag2eData.D_F1A8[5] = 0x00; //Byte5::Bit1 - Bit0 (ABS+EBD)/ESC : default:2 CAN总线ABS+EBD
//Byte5::Bit2 安全气囊 : default:0 未配置
//Byte5::Bit5 - Bit4 胎压监测 : default:0 未配置
//Byte5::Bit7 - Bit6 发动机防盗 : default:0 未配置
Diag2eData.D_F1A8[6] = 0x00;
Diag2eData.D_F1A8[7] = 0x00; //Byte7::Bit3 - Bit2 蹄片磨损 : default:0 屏蔽
(void)memset(&Diag2eData.D_F1A8[8], 0, 13);
//超速报警值
SetMeuMsg.OverSpeed = Diag2eData.D_F1A8[0] + 30; //--//
//超速报警
ConfigItem.OverSpdConfig = (Diag2eData.D_F1A8[1]) & 0x01;
//天蓝液
ConfigItem.AdblueConfig = (Diag2eData.D_F1A8[1] >> 1) & 0x03;
//气压
ConfigItem.GasConfig = (Diag2eData.D_F1A8[1] >> 3) & 0x01;
//语言
SetMeuMsg.Language = (Diag2eData.D_F1A8[1] >> 4) + 1; //--//
//门开
ConfigItem.OpenDoorConfig = (Diag2eData.D_F1A8[2] >> 7) & 0x01;
//DPF禁止
ConfigItem.InhibiteDPFConfig = Diag2eData.D_F1A8[3] & 0x03;
//发动机状态
ConfigItem.EngConfig = Diag2eData.D_F1A8[2] & 0x0f; //--//
//车道偏离
ConfigItem.LDWSConfig = Diag2eData.D_F1A8[3] & 0x01;
//水温表报警点
ConfigItem.TempConfig = (Diag2eData.D_F1A8[3] >> 1) & 0x07;
ConfigItem.EngConfig2 = (Diag2eData.D_F1A8[3] >> 2) & 0x03;
//发动机系统故障1
ConfigItem.EngConfig1 = (Diag2eData.D_F1A8[3] >> 4) & 0x03;
//发动机系统保护 SVS
ConfigItem.SVSConfig = (Diag2eData.D_F1A8[3] >> 6) & 0x03;
//燃油
ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 5) & 0x03;
//冷却液位低
ConfigItem.CoolLevelConfig = (Diag2eData.D_F1A8[4] >> 7) & 0x01; //--//
ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 3) & 0x03;
//制动系统故障-EBD
ConfigItem.ABS_ESCConfig = Diag2eData.D_F1A8[5] & 0x03;
//安全气囊
ConfigItem.AirBagConfig = (Diag2eData.D_F1A8[5] >> 2) & 0x01;
//胎压监测
ConfigItem.TpmsConfig = (Diag2eData.D_F1A8[5] >> 4) & 0x03; //--//
//机油压力
ConfigItem.EngConfig = Diag2eData.D_F1A8[6];
//蹄片磨损配置
ConfigItem.BrakeShoeConfig = (Diag2eData.D_F1A8[7] >> 2) & 0x03;
}
......@@ -459,34 +438,42 @@ void Init2EData(void)
Radio.VehRadio = ((INT16U)Diag2eData.D_FCAA[0] << 8) | ((INT16U)Diag2eData.D_FCAA[1]);
//-- F1A8 --//
//超速报警值
SetMeuMsg.OverSpeed = Diag2eData.D_F1A8[0] + 30; //--//
//超速报警
ConfigItem.OverSpdConfig = (Diag2eData.D_F1A8[1]) & 0x01;
//天蓝液
ConfigItem.AdblueConfig = (Diag2eData.D_F1A8[1] >> 1) & 0x03;
//气压
ConfigItem.GasConfig = (Diag2eData.D_F1A8[1] >> 3) & 0x01;
//语言
SetMeuMsg.Language = (Diag2eData.D_F1A8[1] >> 4) + 1; //--//
//发动机状态
ConfigItem.EngConfig = Diag2eData.D_F1A8[2] & 0x0f; //--//
//车道偏离
ConfigItem.LDWSConfig = Diag2eData.D_F1A8[3] & 0x01;
//水温表报警点
ConfigItem.TempConfig = (Diag2eData.D_F1A8[3] >> 1) & 0x07;
ConfigItem.TempConfig = (Diag2eData.D_F1A8[1] >> 5) & 0x07;
//左转向
ConfigItem.LTurnConfig = Diag2eData.D_F1A8[2] & 0x01;
//右转向
ConfigItem.RTurnConfig = (Diag2eData.D_F1A8[2] >> 1) & 0x01;
//远转向
ConfigItem.HighBeamConfig = (Diag2eData.D_F1A8[2] >> 2) & 0x01;
//近光灯
ConfigItem.LowBeamConfig = (Diag2eData.D_F1A8[2] >> 3) & 0x01;
//前雾灯
ConfigItem.FrontFogConfig = (Diag2eData.D_F1A8[2] >> 4) & 0x01;
//后雾灯
ConfigItem.RearFogConfig = (Diag2eData.D_F1A8[2] >> 5) & 0x01;
//位置灯
ConfigItem.PosLampConfig = (Diag2eData.D_F1A8[2] >> 6) & 0x01;
//门开
ConfigItem.OpenDoorConfig = (Diag2eData.D_F1A8[2] >> 7) & 0x01;
//DPF禁止
ConfigItem.InhibiteDPFConfig = Diag2eData.D_F1A8[3] & 0x03;
//发动机状态
ConfigItem.EngConfig2 = (Diag2eData.D_F1A8[3] >> 2) & 0x03;
//发动机系统故障1
ConfigItem.EngConfig1 = (Diag2eData.D_F1A8[3] >> 4) & 0x03;
//发动机系统保护 SVS
ConfigItem.SVSConfig = (Diag2eData.D_F1A8[3] >> 6) & 0x03;
//燃油
ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 5) & 0x03;
//冷却液位低
ConfigItem.CoolLevelConfig = (Diag2eData.D_F1A8[4] >> 7) & 0x01; //--//
ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 3) & 0x03;
//制动系统故障-EBD
ConfigItem.ABS_ESCConfig = Diag2eData.D_F1A8[5] & 0x03;
//安全气囊
ConfigItem.AirBagConfig = (Diag2eData.D_F1A8[5] >> 2) & 0x01;
//胎压监测
ConfigItem.TpmsConfig = (Diag2eData.D_F1A8[5] >> 4) & 0x03; //--//
//机油压力
ConfigItem.EngConfig = Diag2eData.D_F1A8[6];
//蹄片磨损配置
ConfigItem.BrakeShoeConfig = (Diag2eData.D_F1A8[7] >> 2) & 0x03;
}
......
......@@ -34,13 +34,20 @@ void App_ChcekSleep(void)
}
//车灯 左/右转向指示、位置灯指示、远光灯、近光灯、前/后雾灯、
if (((g_LightSts.RTurnSts == 1u) || ((LINE_IN_LIFT == HIGH) && (g_LED.pTrunLTime >= T_20ms))) ||
((g_LightSts.LTurnSts == 1u) || ((LINE_IN_RIGHT == HIGH) && (g_LED.pTrunRTime >= T_20ms))) ||
((g_CanSwith.HighBeam == 1u) || ((LINE_IN_HIGH_BEAM == HIGH) && (g_LED.HighBeamTime >= T_0_1s))) ||
((g_CanSwith.LowBeam == 1u) || ((LINE_IN_LOW_BEAM == HIGH) && (g_LED.LowBeamTime >= T_0_1s))) ||
((g_CanSwith.FrontFog == 1u) || ((LINE_IN_FRONTFOG == HIGH) && (g_LED.FrontFogTime >= T_0_1s))) ||
((g_CanSwith.RearFog == 1u) || ((LINE_IN_REARFOG == HIGH) && (g_LED.RearFogTime >= T_0_1s))) ||
((g_CanSwith.PosLamp == 1u) || ((LINE_IN_POSITION == HIGH) && (g_LED.pPosLampTime >= T_0_1s))))
if (((ConfigItem.RTurnConfig == 0x01u) && (g_LightSts.RTurnSts == 1u)) ||
((ConfigItem.RTurnConfig == 0x00u) && (g_LED.pTrunLTime >= T_20ms)) ||
((ConfigItem.LTurnConfig == 0x01u) && (g_LightSts.LTurnSts == 1u)) ||
((ConfigItem.LTurnConfig == 0x00u) && (g_LED.pTrunRTime >= T_20ms)) ||
((ConfigItem.HighBeamConfig == 0x01u) && (g_CanSwith.HighBeam == 1u)) ||
((ConfigItem.HighBeamConfig == 0x00u) && (g_LED.HighBeamTime >= T_0_1s)) ||
((ConfigItem.LowBeamConfig == 0x01u) && (g_CanSwith.LowBeam == 1u)) ||
((ConfigItem.LowBeamConfig == 0x00u) && (g_LED.LowBeamTime >= T_0_1s)) ||
((ConfigItem.FrontFogConfig == 0x01u) && (g_CanSwith.FrontFog == 1u)) ||
((ConfigItem.FrontFogConfig == 0x00u) && (g_LED.FrontFogTime >= T_0_1s)) ||
((ConfigItem.RearFogConfig == 0x01u) && (g_CanSwith.RearFog == 1u)) ||
((ConfigItem.RearFogConfig == 0x00u) && (g_LED.RearFogTime >= T_0_1s)) ||
((ConfigItem.PosLampConfig == 0x01u) && (g_CanSwith.PosLamp == 1u)) ||
((ConfigItem.PosLampConfig == 0x00u) && (g_LED.pPosLampTime >= T_0_1s)))
{
g_SleepInfo.dispsleep = 0;
}
......@@ -49,10 +56,9 @@ void App_ChcekSleep(void)
g_SleepInfo.dispsleep = 1;
}
/*
//变速箱高低档
if(((pTransHiGearIn == HIGH) && (g_LED.pTransHiGearTime >= T_0_3s)) ||
((pTransLowGearIn == HIGH) && (g_LED.pTransLowGearTime >= T_0_3s)))
//if (((pTransHiGearIn == HIGH) && (g_LED.pTransHiGearTime >= T_0_3s)) ||((pTransLowGearIn == HIGH) && (g_LED.pTransLowGearTime >= T_0_3s)))
if (0)
{
g_SleepInfo.TransGearSleep = 0;
}
......@@ -60,10 +66,9 @@ void App_ChcekSleep(void)
{
g_SleepInfo.TransGearSleep = 1;
}
*/
//门开
if (g_canClock.signal.Exist60439)
if (ConfigItem.OpenDoorConfig == 0x01u)
{
if ((g_CanSwith.DrDoorStae) || (g_CanSwith.PssDoorStae) || (g_CanSwith.RLDoorStae) || (g_CanSwith.RRDoorStae))
{
......@@ -158,7 +163,7 @@ void App_SleepProc(void)
//-- DB8379 --//
Enable_signal(g_validFlag.Bits.BD8379Init);
//DB8379_WriteData(OFF);
DB8379_WriteData(OFF);
DB8379_CLK_P = 0;
DB8379_LE_P = 0;
DB8379_RST_P = 0;
......@@ -183,18 +188,16 @@ void App_SleepProc(void)
Api_MeterLightOFFCtl();
//-- Power --//
/*
pVehOut = OFF; //关
pGas5vOut = LOW;//关
pMcu5vOut = HIGH;//关
*/
//pVehOut = OFF; //关
//pGas5vOut = LOW;//关
LINE_5V_OUT = HIGH; //关
}
_asm
{
ANDCC #0x7f;
STOP;
}
//_asm
//{
// ANDCC #0x7f;
// STOP;
//}
}
else
{
......
......@@ -21,18 +21,6 @@ void Gui_MotorFirstReset(void)
{
bsp_SetMotorMode(Motor_1, MaxReset);
bsp_SetMotorMode(Motor_2, MaxReset);
//bsp_WDOG_Feed();
//Api_GetAdcResult();
//g_curLightFlag = 1;
//Gui_KL30LedDisplay();
//if ((g_adcResult.AdcValue > V_16v) && (g_30LOGOFlag == 0))
//{
// g_30LOGOFlag = 1;
// Gui_Logo_Disp();
//}
//Gui_LightProc();
}
/*-------------------------------------------------------------------------
......@@ -45,10 +33,12 @@ void Gui_MotorFirstReset(void)
--------------------------------------------------------------------------*/
void Gui_MotorOffReset(void)
{
//bsp_SetMotorMode(Motor_1, MinPostion);
//bsp_SetMotorMode(Motor_2, MinPostion);
while ((MeterPostion[Motor_1].curPosition != 0) || (MeterPostion[Motor_2].curPosition != 0))
{
bsp_WDOG_Feed();
MeterPostion[Motor_1].destPosition = 0;
MeterPostion[Motor_2].destPosition = 0;
}
......
......@@ -222,6 +222,7 @@ void App_CheckCanDrop(void)
g_CanSwith.DpfHiTemp = 0;
g_CanSwith.DPF_Red = 0;
g_CanSwith.InhibiteDPF = 0;
g_CanSwith.InhibiteDPFONOFF = 0;
Disable_signal(g_canClock.signal.Exist64892);
}
......
......@@ -51,7 +51,7 @@ NV_PARAMETER_FILE=C:\Program Files (x86)\Freescale\CWS12v5.1\prog\FPP\mcu01C9.fp
NV_SAVE_WSP=0
NV_AUTO_ID=1
COMDEVICE=SETCOMM COMPORT LPT "TBDML #1"
ISRDISABLEDSTEP=1
ISRDISABLEDSTEP=0
......@@ -176,11 +176,11 @@ SHOWDIALOG=0
IP=
[Recent HI-WAVE FindProcedure Search]
Search0=App_CalBorad
Search1=App_CalVehSpdFromCap
Search2=App_CalVehBoard
Search3=Gui_MotorFirstReset
Search4=main
Search0=main
Search1=App_CalVehBoard
Search2=App_CalBorad
Search3=App_CalVehSpdFromCap
Search4=Gui_MotorFirstReset
Search5=Gui_MotorStarReset
Search6=Gui_LightProc
Search7=Api_VehCap_isr
......
......@@ -202,14 +202,14 @@ void App_ReceiveCanMsg(void)
}
//DPF禁止再生开关
//if ((g_canMsg64892.Data[2] & 0x0C) == 0x01)
//{
// g_CanSwith.InhibiteDPFONOFF = 1;
//}
//else
//{
// g_CanSwith.InhibiteDPFONOFF = 0;
//}
if ((g_canMsg64892.Data[2] & 0x0C) == 0x04)
{
g_CanSwith.InhibiteDPFONOFF = 1;
}
else
{
g_CanSwith.InhibiteDPFONOFF = 0;
}
//发动机排气温度高指示灯
if ((g_canMsg64892.Data[6] & 0x1c) == 0x04)
......@@ -227,8 +227,8 @@ void App_ReceiveCanMsg(void)
//64775 0x18FD0700
if (g_canMsg64775_00.ProceF == MSG_FULL)
{
//发动机故障EPC1 Engine Red Stop Lamp Command Engine Red Stop Lamp Command Intel 0 4 2 Unsigned
if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
//SVS "Engine Protect Lamp Command 发动机保护灯" Intel 0 0 2
if ((g_canMsg64775_00.Data[0] & 0x03) == 0x01)
{
g_CanSwith.EngFailure1 = 1;
}
......@@ -237,6 +237,16 @@ void App_ReceiveCanMsg(void)
g_CanSwith.EngFailure1 = 0;
}
//发动机故障EPC1 Engine Red Stop Lamp Command Engine Red Stop Lamp Command Intel 0 4 2 Unsigned
//if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
//{
// g_CanSwith.EngFailure1 = 1;
//}
//else
//{
// g_CanSwith.EngFailure1 = 0;
//}
//发动机排放故障OBD1 MIL OBD Malfunction Indicator Lamp Command Intel 0 6 2
if ((g_canMsg64775_00.Data[0] & 0xC0) == 0x40)
{
......
......@@ -566,6 +566,18 @@ void Api_ClockGenerate(void)
{
g_LED.pConTainerTime = null;
}
//制动故障
if (LINE_IN_BRAKING == LOW)
{
if (g_LED.pBrakingTime < T_0_5s)
{
g_LED.pBrakingTime++;
}
}
else
{
g_LED.pBrakingTime = null;
}
/*
//EBD-pin5
if(pBrakeIn == LOW)
......
......@@ -159,7 +159,7 @@ typedef struct
INT8U CanPowerOver : 1;
INT8U ABSLamp1 : 1;
INT8U OilLamp1 : 1;
INT8U Reserve1 : 1;
INT8U InhibiteDPFONOFF : 1;
INT8U EngFailure4 : 1; //EPC1
INT8U Hazard_Lights : 1; //危险灯
......@@ -700,6 +700,7 @@ typedef struct
INT8U RTurnEnTime;
INT8U RTurnDiTime;
INT8U pConTainerTime;
INT8U pBrakingTime;
} _LED;
......@@ -844,28 +845,32 @@ typedef struct
typedef struct
{
INT8U LTurnConfig; //左转向
INT8U RTurnConfig; //右转向
INT8U HighBeamConfig; //远光灯
INT8U LowBeamConfig; //近光灯
INT8U FrontFogConfig; //前雾灯
INT8U RearFogConfig; //后雾灯
INT8U PosLampConfig; //位置灯
INT8U AdblueConfig; //天蓝液
INT8U GasConfig; //制动气压 2
INT8U TempConfig; //水温
INT8U LTurnConfig; //左转向
INT8U RTurnConfig; //右转向
INT8U HighBeamConfig; //远光灯
INT8U LowBeamConfig; //近光灯
INT8U FrontFogConfig; //前雾灯
INT8U RearFogConfig; //后雾灯
INT8U PosLampConfig; //位置灯
INT8U OpenDoorConfig; //门开
INT8U InhibiteDPFConfig; //DPF禁止
INT8U EngConfig2; //发动机状态 3
INT8U EngConfig1; //发动机状态
INT8U SVSConfig; //SVS发动机系统保护
INT8U FuelConfig; //燃油 4
INT8U ABS_ESCConfig; //ABS 5
INT8U EngConfig; //机油压力 6
INT8U BrakeShoeConfig; //蹄片 7
//-----------------------
INT8U ABS_ESCConfig;
INT8U GasConfig;
INT8U CoolLevelConfig;
INT8U AirBagConfig;
INT8U FuelConfig;
INT8U TempConfig;
INT8U AdblueConfig;
INT8U TpmsConfig;
INT8U FuelCosumConfig;
INT8U OverSpdConfig;
INT8U LDWSConfig;
INT8U EngConfig;
INT8U BrakeShoeConfig;
INT8U SVSConfig;
} _Config;
typedef struct
......
......@@ -371,7 +371,8 @@ void App_State_OFF(void)
g_CanSwith.OutFlashFlag = 0;
g_CanSwith.ESPoff = 0;
g_CanSwith.DPF = 0;
g_CanSwith.InhibiteDPF = 0; //2020/05/12
g_CanSwith.InhibiteDPF = 0;
g_CanSwith.InhibiteDPFONOFF = 0;
g_CanSwith.DpfHiTemp = 0;
g_CanSwith.PreHeat = 0;
g_CanSwith.EngMIL1 = 0;
......@@ -437,11 +438,32 @@ void App_State_OFF(void)
g_CanSwith.PressThreshold = null;
//-- Led OFF--//
//BD83790B &= ~BD8379_D10;//off-排辅开关
//BD83790B &= ~BD8379_D11;//off-制动蹄片磨损
//BD83790B &= ~BD8379_D0;//off-电子驻车故障/临时停车故障
//BD83790B &= ~BD8379_D1;//off-临时停车开启/工作
//DB8379_WriteData(ON);//Do Led off
BD83790A &= ~BD8379_D0;
BD83790A &= ~BD8379_D1;
BD83790A &= ~BD8379_D2;
BD83790A &= ~BD8379_D3;
BD83790A &= ~BD8379_D4;
BD83790A &= ~BD8379_D5;
BD83790A &= ~BD8379_D6;
BD83790A &= ~BD8379_D7;
BD83790A &= ~BD8379_D8;
BD83790A &= ~BD8379_D9;
BD83790A &= ~BD8379_D10;
BD83790A &= ~BD8379_D11;
BD83790B &= ~BD8379_D0;
BD83790B &= ~BD8379_D1;
BD83790B &= ~BD8379_D2;
BD83790B &= ~BD8379_D3;
BD83790B &= ~BD8379_D4;
BD83790B &= ~BD8379_D5;
BD83790B &= ~BD8379_D6;
BD83790B &= ~BD8379_D7;
BD83790B &= ~BD8379_D8;
BD83790B &= ~BD8379_D9;
BD83790B &= ~BD8379_D10;
DB8379_WriteData(ON); //Do Led off
//-- Beep --//
g_Init.InitBeepTime = T_3_0s;
......
......@@ -92,7 +92,22 @@ void bsp_GPIO_Init(void)
ATDDIENH_IEN11 = 1;
pSTBOut = LOW;
LINE_5V_OUT = LOW;
LINE_FUEL_5V_OUT = LOW;
LED_LIFT_OUT = LEDOFF;
LED_RIGHT_OUT = LEDOFF;
LED_HIGHBEAM_OUT = LEDOFF;
LED_LOWBEAM_OUT = LEDOFF;
LED_FRONTFOG_OUT = LEDOFF;
LED_REAR_FOG_OUT = LEDOFF;
LED_POSLAMP_G = LEDOFF;
LED_Power_TakeOFF_Out = LEDOFF;
LED_SafeBelt_OUT = LEDOFF;
LED_EXCSysHighTemp_OUT = LEDOFF;
LED_ESCOFF_OUT = LEDOFF;
LED_ECO_OUT = LEDOFF;
LED_ESC_OUT = LEDOFF;
}
/*-------------------------------------------------------------------------
* Function Name : bsp_GPIO_Reset
......
......@@ -47,7 +47,7 @@ void Gui_AllLedOff(void)
void Gui_KL15LedDisplay(void)
{
//---------直驱指示灯------
//01 取力器工作
//10.27 取力器工作
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
LED_Power_TakeOFF_Out = LEDON; //on
......@@ -60,18 +60,20 @@ void Gui_KL15LedDisplay(void)
if (bCurMenuIDX != _MN_SHOW_ERRINFO)
bDSTable[PicPowerTakeoff] |= DS0_MASK;
if ((bDSTableShowTime[PicPowerTakeoff] == T1_5s) && ((bDSTable[PicPowerTakeoff] & DS0_MASK) == DS0_MASK))
bDSTable[PicPowerTakeoff] = 0;
}
else
{
LED_Power_TakeOFF_Out = LEDOFF; //off
bDSTable[PicPowerTakeoff] = 0;
bDSTableShowTime[PicPowerTakeoff] = 0;
}
}
//08 安全带
//10.32 安全带
if (DIDFlag.Bits.DID1017Valid == Enable)
{
if (IOCTL_DID1017.FF_Byte == 1)
......@@ -92,7 +94,8 @@ void Gui_KL15LedDisplay(void)
}
else
{
if (g_LED.pSafeBelt1Time >= T_0_3s || g_CanSwith.DriverBelt)
//if (g_LED.pSafeBelt1Time >= T_0_3s || g_CanSwith.DriverBelt)
if (g_LED.pSafeBelt1Time >= T_0_3s)
{
LED_SafeBelt_OUT = LEDON; //on
}
......@@ -156,7 +159,7 @@ void Gui_KL15LedDisplay(void)
}
}
//09 充电状态——指示灯 不受软件控制
//19 发动机排气系统温度高——指示灯
//10.24 发动机排气系统温度高——指示灯
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
LED_EXCSysHighTemp_OUT = LEDON; //on
......@@ -211,7 +214,7 @@ void Gui_KL15LedDisplay(void)
}
//--------5912驱动指示灯
//BD8379_D0 2 驻车制动
//BD8379_D0 10.9 驻车制动 2
if (DIDFlag.Bits.DID1009Valid == Enable)
{
if (IOCTL_DID1009.FF_Byte == 1)
......@@ -231,7 +234,7 @@ void Gui_KL15LedDisplay(void)
}
else
{
if ((LINE_IN_PARKING == 0u) && (g_LED.pParkTime >= T_0_3s))
if (g_LED.pParkTime >= T_0_3s)
{
BD83790A |= BD8379_D0; //on
}
......@@ -242,14 +245,14 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D1 油含水 15 油水分离
//BD8379_D1 油含水 10.26 油水分离
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D1; //on
}
else
{
if (g_CanSwith.WIF)
if (g_CanSwith.WIF == 0x01u)
{
BD83790A |= BD8379_D1; //on
bDSTable[PicWIF] |= DS0_MASK;
......@@ -261,23 +264,16 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D2 Svs灯 25 发动机保护灯
//BD8379_D2 10.30 Svs灯 25 发动机保护灯
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D2; //on
}
else
{
if ((ConfigItem.SVSConfig == 0x00u) || (ConfigItem.SVSConfig == 0x01u))
if ((ConfigItem.SVSConfig == 0x00u) && (g_CanSwith.EngFailure1 == 0x01u))
{
if (g_CanSwith.EngFailure1 == 0x01u)
{
BD83790A |= BD8379_D2; //on
}
else
{
BD83790A &= ~BD8379_D2; //off
}
BD83790A |= BD8379_D2; //on
}
else
{
......@@ -285,7 +281,7 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D3 20 驾驶员警告
//BD8379_D3 10.25 驾驶员警告
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D3; //on
......@@ -324,7 +320,7 @@ void Gui_KL15LedDisplay(void)
BD83790A &= ~BD8379_D4; //off
}
//BD8379_D5 水温报警灯 5 发动机水温高
//BD8379_D5 10.15 水温报警灯 5 发动机水温高
if (DIDFlag.Bits.DID102CValid == Enable)
{
if (IOCTL_DID102C.FF_Byte == 1)
......@@ -353,9 +349,10 @@ void Gui_KL15LedDisplay(void)
}
else
{
//解报点 回差2
if (ConfigItem.TempConfig == 0)
{
if (g_tempMeter.CurPosition <= 133) //解报98degC
if (g_tempMeter.CurPosition <= 133) //解报100degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
......@@ -363,7 +360,7 @@ void Gui_KL15LedDisplay(void)
}
else if (ConfigItem.TempConfig == 1)
{
if (g_tempMeter.CurPosition <= 120) //解报102degC
if (g_tempMeter.CurPosition <= 120) //解报105degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
......@@ -371,7 +368,7 @@ void Gui_KL15LedDisplay(void)
}
else if (ConfigItem.TempConfig == 2)
{
if (g_tempMeter.CurPosition <= 130) //解报103degC
if (g_tempMeter.CurPosition <= 130) //解报108degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
......@@ -379,7 +376,7 @@ void Gui_KL15LedDisplay(void)
}
else if (ConfigItem.TempConfig == 3)
{
if (g_tempMeter.CurPosition <= 140) //解报108degC
if (g_tempMeter.CurPosition <= 140) //解报110degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
......@@ -406,7 +403,7 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D6 24 巡航指示灯 定速巡航
//BD8379_D6 10.17 巡航指示灯 定速巡航 24
if (DIDFlag.Bits.DID1018Valid == Enable)
{
if (IOCTL_DID1018.FF_Byte == 1)
......@@ -426,7 +423,7 @@ void Gui_KL15LedDisplay(void)
}
else
{
if (g_CanSwith.CruSysAct)
if (g_CanSwith.CruSysAct == 0x01u)
{
BD83790A |= BD8379_D6; //on
}
......@@ -437,8 +434,7 @@ void Gui_KL15LedDisplay(void)
}
//定速巡航-LCD
if ((g_CanSwith.CruSysAct) &&
(bCruiseSpeedCur >= 30) && (bCruiseSpeedCur <= 250))
if ((g_CanSwith.CruSysAct) && (bCruiseSpeedCur >= 30) && (bCruiseSpeedCur <= 250))
{
if (bCruiseSpeedLast != bCruiseSpeedCur)
{
......@@ -465,7 +461,7 @@ void Gui_KL15LedDisplay(void)
bDSTable[PicCruise] = 0;
}
}
//BD8379_D7 17 EPS故障
//BD8379_D7 10.31 EPS故障
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D7; //on
......@@ -482,7 +478,7 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D8 6 ABS故障
//BD8379_D8 10.11 ABS故障 6
if (DIDFlag.Bits.DID1011Valid == Enable)
{
if (IOCTL_DID1011.FF_Byte == 1)
......@@ -504,47 +500,24 @@ void Gui_KL15LedDisplay(void)
}
}
else
{
if (ConfigItem.ABS_ESCConfig == 0)
{ //ABS_warn_lamp 0x18F0010B 5 46 2 //ABS_active 0x18F0010B 0 4 2
if (((ConfigItem.ABS_ESCConfig == 0) && (g_CanSwith.ABSLamp == 1u)) ||
((ConfigItem.ABS_ESCConfig == 1) && (g_CanSwith.ABSLamp1 == 1u)))
{
//ABS_warn_lamp 0x18F0010B 5 46 2
if (g_CanSwith.ABSLamp == 1u)
{
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
DTC_ABSErrFlag = Enable;
}
else
{
BD83790A &= ~BD8379_D8; //off
bDSTable[PicABS] = 0;
DTC_ABSErrFlag = Disable;
}
}
else if (ConfigItem.ABS_ESCConfig == 1)
{
//ABS_active 0x18F0010B 0 4 2
if (g_CanSwith.ABSLamp1 == 1u)
{
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
DTC_ABSErrFlag = Enable;
}
else
{
BD83790A &= ~BD8379_D8; //off
bDSTable[PicABS] = 0;
DTC_ABSErrFlag = Disable;
}
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
DTC_ABSErrFlag = Enable;
}
else
{
;
BD83790A &= ~BD8379_D8; //off
bDSTable[PicABS] = 0;
DTC_ABSErrFlag = Disable;
}
}
}
//BD8379_D9 制动器故障 4 制动气压不足/制动系统故障
//BD8379_D9 10.10 制动器故障 制动气压不足/制动系统故障 4
if (DIDFlag.Bits.DID1030Valid == Enable)
{
if (IOCTL_DID1030.FF_Byte == 1)
......@@ -560,19 +533,22 @@ void Gui_KL15LedDisplay(void)
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
if (ConfigItem.GasConfig == 1)
{
BD83790A |= BD8379_D9; //on
}
BD83790A |= BD8379_D9; //on
}
else
{
if ((g_sysFlag.Bits.Gas2LedEn || g_sysFlag.Bits.Gas1LedEn) &&
(ConfigItem.GasConfig == 1))
//制动气压报警
if ((g_sysFlag.Bits.Gas2LedEn || g_sysFlag.Bits.Gas1LedEn) && (ConfigItem.GasConfig == 1))
{
BD83790A |= BD8379_D9; //on
bDSTable[PicGasLow] |= DS0_MASK;
}
//制动液报警 制动真空度报警
else if (g_LED.pBrakingTime >= T_0_3s)
{
BD83790A |= BD8379_D9; //on
bDSTable[PicGasLow] = 0;
}
else
{
BD83790A &= ~BD8379_D9; //off
......@@ -599,7 +575,7 @@ void Gui_KL15LedDisplay(void)
BD83790A &= ~BD8379_D11; //off
}
//BD8379_D0 OBD 10 发动机排放故障
//BD8379_D0 OBD 10.12 发动机排放故障 10
if (DIDFlag.Bits.DID100DValid == Enable)
{
if (IOCTL_DID100D.FF_Byte == 1)
......@@ -618,7 +594,7 @@ void Gui_KL15LedDisplay(void)
BD83790B |= BD8379_D0; //on
DTC_OBDErrFlag = Disable;
}
else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))
else if ((ConfigItem.EngConfig2 == 0x00u) || (ConfigItem.EngConfig2 == 0x01u))
{
//if ((g_LED.pMILOffTime1 >= T_2_0s) && (OBDLamp == 0))
if (g_LED.pMILOffTime1 >= T_2_0s) //延时熄灭
......@@ -639,24 +615,64 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D1 7 燃油报警
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
//BD8379_D1 10.16 燃油报警 7
if (DIDFlag.Bits.DID1013Valid == Enable)
{
BD83790B |= BD8379_D1; //on
if (IOCTL_DID1013.FF_Byte == 1)
{
BD83790B |= BD8379_D1; //on
}
else
{
BD83790B &= ~BD8379_D1; //off
}
}
else
{
if (0)
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D1; //on
}
else
{
BD83790B &= ~BD8379_D1; //off
if ((g_FuelState == FuelSensorOpenCircuit)) //燃油开路
{
if (g_FuelState == FuelSensorOpenCircuit)
{
bDSTable[PicFuelErr] |= DS0_MASK;
}
else
{
bDSTable[PicFuelErr] = 0;
}
bDSTable[PicFuelLow] = 0; //clear
}
else if (g_FuelState == FuelSensorNormal) //燃油正常
{
if (g_sysFlag.Bits.FuelLedEn)
{
BD83790B |= BD8379_D1; //on
if (g_LED.CheckLightsTime >= T_7_0s)
bDSTable[PicFuelLow] |= DS0_MASK;
}
else
{
BD83790B &= ~BD8379_D1; //off
bDSTable[PicFuelLow] = 0;
}
bDSTable[PicFuelErr] = 0; //clear
}
else //短路
{
BD83790B &= ~BD8379_D1; //off
bDSTable[PicFuelLow] = 0;
bDSTable[PicFuelErr] = 0; //clear
}
}
}
//BD8379_D2 预热指示灯 14 发动机预热
//BD8379_D2 10.28 预热指示灯 14 发动机预热
if (DIDFlag.Bits.DID102AValid == Enable)
{
if (IOCTL_DID102A.FF_Byte == 1)
......@@ -676,7 +692,7 @@ void Gui_KL15LedDisplay(void)
}
else
{
if (g_CanSwith.PreHeat)
if (g_CanSwith.PreHeat == 0x01u)
{
BD83790A |= BD8379_D2; //on
}
......@@ -696,7 +712,7 @@ void Gui_KL15LedDisplay(void)
BD83790B &= ~BD8379_D3; //off
}
//BD8379_D4 13 车厢举升报警
//BD8379_D4 10.33 车厢举升报警
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D4; //on
......@@ -713,14 +729,18 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D5 22 DPF禁止再生
//BD8379_D5 10.29 DPF禁止再生
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D5; //on
if ((ConfigItem.InhibiteDPFConfig == 0x00u) || (ConfigItem.InhibiteDPFConfig == 0x01u))
{
BD83790B |= BD8379_D5; //on
}
}
else
{
if (g_CanSwith.InhibiteDPF == 0x01u)
if (((ConfigItem.InhibiteDPFConfig == 0x00u) && (g_CanSwith.InhibiteDPF == 0x01u)) ||
((ConfigItem.InhibiteDPFConfig == 0x01u) && (g_CanSwith.InhibiteDPFONOFF == 0x01)))
{
BD83790B |= BD8379_D5; //on
}
......@@ -730,18 +750,17 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D6 11 发动机故障
//BD8379_D6 10.13 发动机系统故障 11 发动机故障
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D6; //on
}
else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))
else if ((ConfigItem.EngConfig1 == 0) || (ConfigItem.EngConfig1 == 1))
{
if (g_canClock.signal.Exist64775_00)
{
if (g_CanSwith.EngFailure1)
{
BD83790B |= BD8379_D6; //on
bDSTable[PicEPC] |= DS0_MASK;
DTC_EPCErrFlag = Enable;
......@@ -761,7 +780,7 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D7 机油报警 3 低油压报警
//BD8379_D7 10.14 机油报警 3 低油压报警
if (DIDFlag.Bits.DID100BValid == Enable)
{
if (IOCTL_DID100B.FF_Byte == 1)
......@@ -804,22 +823,22 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D8 18 DPF再生(黄色)
//BD8379_D8 10.21 发动机DPF排放(黄色) DPF再生(黄色)
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D8; //on
}
else
{
if (g_CanSwith.DPF || g_CanSwith.DPFf)
if ((g_CanSwith.DPF == 0x01u) || (g_CanSwith.DPFf == 0x01u))
{
if (g_CanSwith.DPF)
if (g_CanSwith.DPF == 0x01u)
{
BD83790B |= BD8379_D8; //on
}
else
{
if (g_CanSwith.OutFlashFlag)
if (g_CanSwith.OutFlashFlag == 0x01u)
{
BD83790B |= BD8379_D8; //on
}
......@@ -836,14 +855,14 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D9 21 DPF再生(红色)
//BD8379_D9 10.23 DPF再生(红色)
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D9; //on
}
else
{
if (g_CanSwith.DPF_Red)
if (g_CanSwith.DPF_Red == 0x01u)
{
BD83790B |= BD8379_D9; //on
}
......@@ -853,7 +872,7 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D10 12 制动蹄片磨损报警
//BD8379_D10 10.21 制动蹄片磨损报警 21
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D10; //on
......@@ -872,7 +891,17 @@ void Gui_KL15LedDisplay(void)
}
}
//BD8379_D11 门开 门开在30电上
//10.19 天蓝液 AdBlue 图片,屏幕指示灯
if ((g_sysFlag.Bits.AdbuleLedEn) && ((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
{
bDSTable[PicAdblueLow] |= DS0_MASK;
}
else
{
bDSTable[PicAdblueLow] = 0;
}
//BD8379_D11 10.20 门开 门开在30电上
}
/*-------------------------------------------------------------------------
* Function Name : Gui_KL30LedDisplay
......@@ -1198,7 +1227,7 @@ void Gui_KL30LedDisplay(void)
}
else
{
if (g_canClock.signal.Exist60439)
if (ConfigItem.OpenDoorConfig == 0x01u)
{
if ((g_CanSwith.DrDoorStae == 1u) || (g_CanSwith.PssDoorStae == 1u) || (g_CanSwith.RLDoorStae == 1u) || (g_CanSwith.RRDoorStae == 1u))
{
......@@ -1208,67 +1237,50 @@ void Gui_KL30LedDisplay(void)
{
BD83790B &= ~BD8379_D11; //off
}
}
else
{
if (g_LED.pDoorOpenTime >= T_0_3s)
//车门状态
if ((g_CanSwith.DrDoorStae) || (g_CanSwith.PssDoorStae) || (g_CanSwith.RLDoorStae) || (g_CanSwith.RRDoorStae))
{
BD83790B |= BD8379_D11; //on
bDSTable[PicDoorOpen] |= DS0_MASK;
//如果车门的状态发生改变,且已经添加到lcdque里
if ((((g_CanSwith.OldDrDoorStae != g_CanSwith.DrDoorStae)) ||
((g_CanSwith.OldPssDoorStae != g_CanSwith.PssDoorStae)) ||
((g_CanSwith.OldRLDoorStae != g_CanSwith.RLDoorStae)) ||
((g_CanSwith.OldRRDoorStae != g_CanSwith.RRDoorStae))) &&
((bDSTable[PicDoorOpen] & LCD_MASK) == LCD_MASK))
{
//车门状态发生改变,更新一次显示
if (((wDS_LcdQueue[bCurDsPos]) == (PicDoorOpen)) && ((bDSTable[PicDoorOpen] & DS0_MASK) == 1))
{
bDSUpdateFlag = 1;
}
//清除lcdque,重新加入队列
bDSTable[PicDoorOpen] &= (~LCD_MASK);
if (bLcdDsCnt >= 1)
bLcdDsCnt--;
}
}
else
{
BD83790B &= ~BD8379_D11; //off
bDSTable[PicDoorOpen] = 0;
}
}
}
//------------------------ Door Signl KL30 Receive ----------------------//
//can信号不存在时,检测硬线信号
if (!g_canClock.signal.Exist60439)
{
if (g_LED.pDoorOpenTime >= T_0_3s)
{
g_CanSwith.DrDoorStae = 1;
g_CanSwith.PssDoorStae = 1;
g_CanSwith.OldDrDoorStae = g_CanSwith.DrDoorStae; //主
g_CanSwith.OldPssDoorStae = g_CanSwith.PssDoorStae; //副
g_CanSwith.OldRLDoorStae = g_CanSwith.RLDoorStae; //左后
g_CanSwith.OldRRDoorStae = g_CanSwith.RRDoorStae; //右后
}
else
{
g_CanSwith.DrDoorStae = 0;
g_CanSwith.PssDoorStae = 0;
}
}
//车门状态
if ((g_CanSwith.DrDoorStae) || (g_CanSwith.PssDoorStae) || (g_CanSwith.RLDoorStae) || (g_CanSwith.RRDoorStae))
{
bDSTable[PicDoorOpen] |= DS0_MASK;
//如果车门的状态发生改变,且已经添加到lcdque里
if ((((g_CanSwith.OldDrDoorStae != g_CanSwith.DrDoorStae)) ||
((g_CanSwith.OldPssDoorStae != g_CanSwith.PssDoorStae)) ||
((g_CanSwith.OldRLDoorStae != g_CanSwith.RLDoorStae)) ||
((g_CanSwith.OldRRDoorStae != g_CanSwith.RRDoorStae))) &&
((bDSTable[PicDoorOpen] & LCD_MASK) == LCD_MASK))
{
//车门状态发生改变,更新一次显示
if (((wDS_LcdQueue[bCurDsPos]) == (PicDoorOpen)) && ((bDSTable[PicDoorOpen] & DS0_MASK) == 1))
if (g_LED.pDoorOpenTime >= T_0_3s)
{
bDSUpdateFlag = 1;
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
//清除lcdque,重新加入队列
bDSTable[PicDoorOpen] &= (~LCD_MASK);
if (bLcdDsCnt >= 1)
bLcdDsCnt--;
}
}
else
{
bDSTable[PicDoorOpen] = 0;
}
g_CanSwith.OldDrDoorStae = g_CanSwith.DrDoorStae; //主
g_CanSwith.OldPssDoorStae = g_CanSwith.PssDoorStae; //副
g_CanSwith.OldRLDoorStae = g_CanSwith.RLDoorStae; //左后
g_CanSwith.OldRRDoorStae = g_CanSwith.RRDoorStae; //右后
}
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