Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MV18
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
SCCNJ
MV18
Commits
b1ebd45e
Commit
b1ebd45e
authored
Oct 07, 2021
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重新调整CAN接收信号处理,没有内容,只有框架
parent
bf5ee947
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
468 additions
and
265 deletions
+468
-265
gui_Bzzer.c
Sources/Bzzer/gui_Bzzer.c
+2
-2
app_CAN.c
Sources/app_CAN.c
+2
-2
api_CAN.c
api_Sources/api_CAN.c
+283
-206
api_RTC.c
api_Sources/api_RTC.c
+2
-1
g_Var.h
app_Headers/g_Var.h
+1
-2
g_VarType.h
app_Headers/g_VarType.h
+1
-1
app_System.c
app_Sources/app_System.c
+4
-8
gui_Adblue.c
gui_Sources/gui_Adblue.c
+3
-3
gui_Led.c
gui_Sources/gui_Led.c
+170
-40
No files found.
Sources/Bzzer/gui_Bzzer.c
View file @
b1ebd45e
...
...
@@ -503,8 +503,8 @@ void Gui_BeepPrioProc(_Beep *Bp)
}
//-- 手刹 --//
if
((
(
g_LED
.
pParkTime
>
T_0_3s
)
||
g_CanSwith
.
ParkLamp
)
&&
(
SetMeuMsg
.
Language
==
1
))
//--
驻车制
动 手刹 --//
if
((
g_LED
.
pParkTime
>
T_0_3s
)
&&
(
SetMeuMsg
.
Language
==
1
))
{
Bp
[
17
].
Prio
=
ParkAlr
;
Bp
[
17
].
OnTime
=
T1_500ms
;
...
...
Sources/app_CAN.c
View file @
b1ebd45e
...
...
@@ -180,7 +180,7 @@ void App_CheckCanDrop(void)
{
g_CanSwith
.
WIF
=
0
;
g_CanSwith
.
DriverWarn
=
0
;
g_CanSwith
.
DriverLimited
=
0
;
//
g_CanSwith.DriverLimited = 0;
Disable_signal
(
g_canClock
.
signal
.
Exist65279
);
}
}
...
...
@@ -486,7 +486,7 @@ void App_CheckCanDrop(void)
}
if
(
g_canClock
.
ID65110_A3Cn
==
null
)
{
g_canClock
.
ID65110Start_
00
Cn
=
0
;
g_canClock
.
ID65110Start_
A3
Cn
=
0
;
g_adblueMeter
.
CurBoardVal
=
0
;
g_adblueMeter
.
DispPosition
=
0
;
g_adblueMeter
.
CurPosition
=
0
;
...
...
api_Sources/api_CAN.c
View file @
b1ebd45e
...
...
@@ -26,8 +26,9 @@ void App_ReceiveCanMsg(void)
INT16U
Can_Power_H
;
INT16U
Can_Power_L
;
INT16U
Can_Power
;
//--------- Meter Signal ---------//
//
转速
//
0x0CF00400 转速 Engine_speed
if
(
g_canMsg61444
.
ProceF
==
MSG_FULL
)
{
g_revMeter
.
CurBoardVal
=
((
INT16U
)
g_canMsg61444
.
Data
[
4
])
<<
8
;
...
...
@@ -45,7 +46,34 @@ void App_ReceiveCanMsg(void)
g_canMsg61444
.
ProceF
=
EMPOTY
;
}
//水温
//0x18FEF200 油耗
if
(
g_canMsg65266
.
ProceF
==
MSG_FULL
)
{
//T,100ms unit,L/h --convert uL Engine_fuel_rate "Engine Fuel Rate 发动机燃油消耗率 (小时油耗)"
wTemp
=
g_canMsg65266
.
Data
[
1
];
wTemp
=
(
wTemp
<<
8
)
|
g_canMsg65266
.
Data
[
0
];
Sum_FuelConsumption
=
Sum_FuelConsumption
+
(
wTemp
*
50
/
36
);
FuelConsumption
=
FuelConsumption
+
(
wTemp
*
50
/
36
);
//Engine Instantaneous Fuel Economy "Engine Instantaneous Fuel Economy 发动机燃油经济性(瞬时油耗)" 1/512 2 16 16
//FlEco "Engine Average Fuel Economy 发动机平均燃油经济性(平均油耗)" 1/512 4 32 16
g_canMsg65266
.
ProceF
=
EMPOTY
;
}
//0x18FEF500 65269
if
(
g_canMsg65269
.
ProceF
==
MSG_FULL
)
{
//"Cab Interior Temperature" "Cab Interior Temperature 驾驶室温度 " 1 8 16 0.0313 -273
//Ambient_Air_Temperature" Temperature of air surrounding vehicle.环境温度" 3 24 16 0.0313 -273
//Road Surface Temperature "Road Surface Temperature 发动机路表温度" 6 48 16 0.0313 -273
g_canMsg65269
.
ProceF
=
EMPOTY
;
}
//0x18FEEE00 水温
if
(
g_canMsg65262
.
ProceF
==
MSG_FULL
)
{
//水温 Engine_colant_temperature
...
...
@@ -78,122 +106,95 @@ void App_ReceiveCanMsg(void)
g_canMsg65262
.
ProceF
=
EMPOTY
;
}
//
天蓝液_
00
if
(
g_canMsg65
110_00
.
ProceF
==
MSG_FULL
)
//
0x18FEFF
00
if
(
g_canMsg65
279
.
ProceF
==
MSG_FULL
)
{
if
(
ConfigItem
.
AdblueConfig
==
2
)
//油水分离
if
((
g_canMsg65279
.
Data
[
0
]
&
0x03
)
==
0x01
)
{
g_
adblueMeter
.
CurBoardVal
=
((
INT16U
)
g_canMsg65110_00
.
Data
[
0
])
*
4
;
g_
CanSwith
.
WIF
=
1
;
}
g_canMsg65110_00
.
ProceF
=
EMPOTY
;
}
//天蓝液_3D
if
(
g_canMsg65110_3D
.
ProceF
==
MSG_FULL
)
{
if
(
ConfigItem
.
AdblueConfig
==
3
)
else
{
g_
adblueMeter
.
CurBoardVal
=
((
INT16U
)
g_canMsg65110_3D
.
Data
[
0
])
*
4
;
g_
CanSwith
.
WIF
=
0
;
}
g_canMsg65110_3D
.
ProceF
=
EMPOTY
;
}
//--------- Led Signal ---------//
//机油压力
if
(
g_canMsg65263
.
ProceF
==
MSG_FULL
)
{
if
((
ConfigItem
.
EngConfig
==
2
)
||
(
ConfigItem
.
EngConfig
==
3
))
//驾驶员警告(黄)
if
((
g_canMsg65279
.
Data
[
1
]
&
0x07
)
==
0x01
)
//2020-10-08(改功能)
{
if
(
g_canMsg65263
.
Data
[
3
]
<
P_60kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
g_CanSwith
.
DriverWarn
=
S_on
;
}
else
if
(
ConfigItem
.
EngConfig
==
4
)
else
if
(
(
g_canMsg65279
.
Data
[
1
]
&
0x07
)
==
0x0
4
)
{
if
(
g_canMsg65263
.
Data
[
3
]
<
P_68kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_88kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
g_CanSwith
.
DriverWarn
=
S_Flash
;
}
else
if
(
ConfigItem
.
EngConfig
==
5
)
else
{
if
(
g_canMsg65263
.
Data
[
3
]
<
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_100kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
g_CanSwith
.
DriverWarn
=
S_off
;
}
else
if
((
ConfigItem
.
EngConfig
==
9
)
||
(
ConfigItem
.
EngConfig
==
10
))
//后加的2020/05/11
//Com_stOperinduSev "Com_stOperinduSev 排放诱导系统" 1 13 3
if
((
g_canMsg65279
.
Data
[
1
]
&
0xE0
)
==
0x01
)
{
if
(
g_canMsg65263
.
Data
[
3
]
<
P_60kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
}
else
{
g_CanSwith
.
OilLamp
=
0
;
}
g_canMsg652
63
.
ProceF
=
EMPOTY
;
g_canMsg652
79
.
ProceF
=
EMPOTY
;
}
//
if
(
g_canMsg64892
.
ProceF
==
MSG_FULL
)
//0x18FEE400 65252
if
(
g_canMsg65252
.
ProceF
==
MSG_FULL
)
{
//
新加禁止DPF指示
if
((
g_canMsg6
4892
.
Data
[
2
]
&
0x0C
)
==
0x04
)
//
预热
if
((
g_canMsg6
5252
.
Data
[
3
]
&
0x03
)
==
0x01
)
{
g_CanSwith
.
InhibiteDPF
=
1
;
g_CanSwith
.
PreHeat
=
1
;
}
else
{
g_CanSwith
.
InhibiteDPF
=
0
;
g_CanSwith
.
PreHeat
=
0
;
}
//发动机排放滤清器DPF
if
((
g_canMsg64892
.
Data
[
0
]
&
0x07
)
==
1
)
//Engine Protection System has Shutdown Engine "Engine Protection System has Shutdown Engine 发动机保护系统使发动机停机" 4 32 2
g_canMsg65252
.
ProceF
=
EMPOTY
;
}
//0x18FD7C00 64892
if
(
g_canMsg64892
.
ProceF
==
MSG_FULL
)
{
//DPF指示灯
if
((
g_canMsg64892
.
Data
[
0
]
&
0x07
)
==
0x01
)
{
g_CanSwith
.
DPF
=
1
;
g_CanSwith
.
DPFf
=
0
;
g_CanSwith
.
DPF_Red
=
0
;
}
else
if
((
g_canMsg64892
.
Data
[
0
]
&
0x07
)
==
4
)
else
{
g_CanSwith
.
DPFf
=
1
;
g_CanSwith
.
DPF
=
0
;
g_CanSwith
.
DPF_Red
=
0
;
}
else
if
((
g_canMsg64892
.
Data
[
0
]
&
0x07
)
==
2
)
//---20200523
//新加禁止DPF指示
if
((
g_canMsg64892
.
Data
[
2
]
&
0x03
)
==
0x01
)
{
g_CanSwith
.
DPF_Red
=
1
;
g_CanSwith
.
DPF
=
0
;
g_CanSwith
.
DPFf
=
0
;
g_CanSwith
.
InhibiteDPF
=
1
;
}
else
{
g_CanSwith
.
DPF
=
0
;
g_CanSwith
.
DPFf
=
0
;
g_CanSwith
.
DPF_Red
=
0
;
g_CanSwith
.
InhibiteDPF
=
0
;
}
//发动机排气系统温度高
if
((
g_canMsg64892
.
Data
[
6
]
&
0x1c
)
==
0x04
)
//DPF禁止再生开关
//if ((g_canMsg64892.Data[2] & 0x0C) == 0x01)
//{
// g_CanSwith.InhibiteDPFONOFF = 1;
//}
//else
//{
// g_CanSwith.InhibiteDPFONOFF = 0;
//}
//发动机排气温度高指示灯
if
((
g_canMsg64892
.
Data
[
6
]
&
0x1c
)
==
0x01
)
{
g_CanSwith
.
DpfHiTemp
=
1
;
}
...
...
@@ -205,96 +206,53 @@ void App_ReceiveCanMsg(void)
g_canMsg64892
.
ProceF
=
EMPOTY
;
}
//
if
(
g_canMsg6
1441
.
ProceF
==
MSG_FULL
)
//
64775 0x18FD0700
if
(
g_canMsg6
4775_00
.
ProceF
==
MSG_FULL
)
{
//ABS
if
((
g_canMsg61441
.
Data
[
5
]
&
0x30
)
==
0x10
)
{
g_CanSwith
.
ABSLamp
=
1
;
}
else
{
g_CanSwith
.
ABSLamp
=
0
;
}
//ASR
if
((
g_canMsg61441
.
Data
[
5
]
&
0xC0
)
==
0x40
)
{
g_CanSwith
.
ASR
=
1
;
}
else
{
g_CanSwith
.
ASR
=
0
;
}
//ESP关闭
if
((
g_canMsg61441
.
Data
[
2
]
&
0x0C
)
==
0x04
)
//发动机排放故障OBD1
if
((
g_canMsg64775_00
.
Data
[
0
]
&
0x30
)
==
0x10
)
{
g_CanSwith
.
E
SPoff
=
1
;
g_CanSwith
.
E
ngMIL1
=
1
;
}
else
{
g_CanSwith
.
E
SPoff
=
0
;
g_CanSwith
.
E
ngMIL1
=
0
;
}
g_canMsg6
1441
.
ProceF
=
EMPOTY
;
g_canMsg6
4775_00
.
ProceF
=
EMPOTY
;
}
//
if
(
g_canMsg6
5252
.
ProceF
==
MSG_FULL
)
//
0x18FD070F 64775
if
(
g_canMsg6
4775_0F
.
ProceF
==
MSG_FULL
)
{
//预热
if
((
g_canMsg65252
.
Data
[
3
]
&
0x03
)
==
0x01
)
{
g_CanSwith
.
PreHeat
=
1
;
}
else
{
g_CanSwith
.
PreHeat
=
0
;
}
//
g_canMsg64775_0F
.
ProceF
=
EMPOTY
;
}
g_canMsg65252
.
ProceF
=
EMPOTY
;
//0x18F0000F 61440
if
(
g_canMsg61440_0F
.
ProceF
==
MSG_FULL
)
{
g_canMsg61440_0F
.
ProceF
=
EMPOTY
;
}
//
if
(
g_canMsg65279
.
ProceF
==
MSG_FULL
)
//ECM_ERC1 0x18F00000 61440 100 8
if
(
g_canMsg61440_00
.
ProceF
==
MSG_FULL
)
{
//油水分离
if
((
g_canMsg65279
.
Data
[
0
]
&
0x03
)
==
0x01
)
{
g_CanSwith
.
WIF
=
1
;
}
else
{
g_CanSwith
.
WIF
=
0
;
}
//驾驶员警告(黄)
if
((
g_canMsg65279
.
Data
[
1
]
&
0x07
)
==
0x01
)
//2020-10-08(改功能)
{
g_CanSwith
.
DriverWarn
=
S_on
;
}
else
if
((
g_canMsg65279
.
Data
[
1
]
&
0x07
)
==
0x04
)
{
g_CanSwith
.
DriverWarn
=
S_Flash
;
}
else
{
g_CanSwith
.
DriverWarn
=
S_off
;
}
//驾驶性能限制(红)
g_canMsg61440_00
.
ProceF
=
EMPOTY
;
}
if
(((
g_canMsg65279
.
Data
[
1
]
&
0x38
)
==
0x08
)
||
((
g_canMsg65279
.
Data
[
1
]
&
0x38
)
==
0x18
)
||
((
g_canMsg65279
.
Data
[
1
]
&
0x38
)
==
0x20
)
||
((
g_canMsg65279
.
Data
[
1
]
&
0x38
)
==
0x28
))
{
g_CanSwith
.
DriverLimited
=
S_on
;
//2021-4-12
}
else
{
g_CanSwith
.
DriverLimited
=
S_off
;
}
//ECM_ERC1 0x18F00029/0F/10 61440 100 8
if
(
g_canMsg61440_29
.
ProceF
==
MSG_FULL
)
{
g_canMsg61440_29
.
ProceF
=
EMPOTY
;
}
g_canMsg65279
.
ProceF
=
EMPOTY
;
if
(
g_canMsg61440_10
.
ProceF
==
MSG_FULL
)
{
g_canMsg61440_10
.
ProceF
=
EMPOTY
;
}
//
//ECM_CCVS 0x18FEF100 65265 100 8
if
(
g_canMsg65265
.
ProceF
==
MSG_FULL
)
{
//定速巡航有效位
...
...
@@ -314,53 +272,62 @@ void App_ReceiveCanMsg(void)
g_canMsg65265
.
ProceF
=
EMPOTY
;
}
//
if
(
g_canMsg6
4775_00
.
ProceF
==
MSG_FULL
)
//
ECM_EFL/P1 0x18FEEF00 65263 500 8
if
(
g_canMsg6
5263
.
ProceF
==
MSG_FULL
)
{
//发动机排放故障2020/05/11
//发动机排放故障OBD1
if
((
g_canMsg64775_00
.
Data
[
0
]
&
0xC0
)
==
0x40
)
{
g_CanSwith
.
EngMIL1
=
1
;
}
else
{
g_CanSwith
.
EngMIL1
=
0
;
}
//发动机故障EPC1
if
((
g_canMsg64775_00
.
Data
[
0
]
&
0x0c
)
==
0x04
)
{
g_CanSwith
.
EngFailure1
=
1
;
}
else
if
((
ConfigItem
.
EngConfig
==
2
)
||
(
ConfigItem
.
EngConfig
==
3
))
{
g_CanSwith
.
EngFailure1
=
0
;
if
(
g_canMsg65263
.
Data
[
3
]
<
P_60kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
}
//2021-03-30齐建国要加5077识别码
if
((
g_canMsg64775_00
.
Data
[
0
]
&
0x03
)
==
0x01
)
else
if
(
ConfigItem
.
EngConfig
==
4
)
{
g_CanSwith
.
EngFailure4
=
1
;
if
(
g_canMsg65263
.
Data
[
3
]
<
P_68kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_88kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
}
else
else
if
(
ConfigItem
.
EngConfig
==
5
)
{
g_CanSwith
.
EngFailure4
=
0
;
if
(
g_canMsg65263
.
Data
[
3
]
<
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_100kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
}
//STOP1
if
((
g_canMsg64775_00
.
Data
[
0
]
&
0x30
)
==
0x10
)
else
if
((
ConfigItem
.
EngConfig
==
9
)
||
(
ConfigItem
.
EngConfig
==
10
))
//后加的2020/05/11
{
g_CanSwith
.
STOP1
=
1
;
if
(
g_canMsg65263
.
Data
[
3
]
<
P_60kpa
)
{
g_CanSwith
.
OilLamp
=
1
;
}
else
if
(
g_canMsg65263
.
Data
[
3
]
>
P_80kpa
)
{
g_CanSwith
.
OilLamp
=
0
;
}
}
else
{
g_CanSwith
.
STOP1
=
0
;
g_CanSwith
.
OilLamp
=
0
;
}
g_canMsg6
4775_00
.
ProceF
=
EMPOTY
;
g_canMsg6
5263
.
ProceF
=
EMPOTY
;
}
//-------- 故障码 ----------------//
//DM1 0x18FECA00 65226 1000 8
if
(
g_canMsg65226ECM
.
ProceF
==
MSG_FULL
)
{
//发动机排放故障OBD2
...
...
@@ -414,19 +381,137 @@ void App_ReceiveCanMsg(void)
g_canMsg65226ECM
.
ProceF
=
EMPOTY
;
}
//
油耗
if
(
g_canMsg652
66
.
ProceF
==
MSG_FULL
)
//
EPS_DM1 0x18FECA13 65226 1000 8
if
(
g_canMsg652
26EPS
.
ProceF
==
MSG_FULL
)
{
//T,100ms unit,L/h --convert uL
wTemp
=
g_canMsg65266
.
Data
[
1
];
wTemp
=
(
wTemp
<<
8
)
|
g_canMsg65266
.
Data
[
0
];
Sum_FuelConsumption
=
Sum_FuelConsumption
+
(
wTemp
*
50
/
36
);
FuelConsumption
=
FuelConsumption
+
(
wTemp
*
50
/
36
);
g_canMsg65266
.
ProceF
=
EMPOTY
;
g_canMsg65226EPS
.
ProceF
=
EMPOTY
;
}
//ECM_VD 0x18FEE000 65248 100 8
if
(
g_canMsg65248
.
ProceF
==
MSG_FULL
)
{
g_canMsg65248
.
ProceF
=
EMPOTY
;
}
//--- 杂 ---//
//ECM_IC1 0x18FEF600 65270 500 8
if
(
g_canMsg65248
.
ProceF
==
MSG_FULL
)
{
g_canMsg65248
.
ProceF
=
EMPOTY
;
}
//ECM_AT1TI1 0x18FE5600 65110 1000 8 //天蓝液_00
if
(
g_canMsg65110_00
.
ProceF
==
MSG_FULL
)
{
if
(
ConfigItem
.
AdblueConfig
==
0
)
{
g_adblueMeter
.
CurBoardVal
=
((
INT16U
)
g_canMsg65110_00
.
Data
[
0
])
*
4
;
}
g_canMsg65110_00
.
ProceF
=
EMPOTY
;
}
//天蓝液_A3
if
(
g_canMsg65110_A3
.
ProceF
==
MSG_FULL
)
{
if
(
ConfigItem
.
AdblueConfig
==
1
)
{
g_adblueMeter
.
CurBoardVal
=
((
INT16U
)
g_canMsg65110_A3
.
Data
[
0
])
*
4
;
}
g_canMsg65110_A3
.
ProceF
=
EMPOTY
;
}
//AT1T1 0x18FE563D 65110 1000 8
if
(
g_canMsg65110_3D
.
ProceF
==
MSG_FULL
)
{
g_canMsg65110_3D
.
ProceF
=
EMPOTY
;
}
//AMT_ETC1 0x0CF00203 61442 10 8
if
(
g_canMsg61442
.
ProceF
==
MSG_FULL
)
{
g_canMsg61442
.
ProceF
=
EMPOTY
;
}
//AMT-ETC2 0x18F00503 61445 100 8
if
(
g_canMsg61445
.
ProceF
==
MSG_FULL
)
{
g_canMsg61445
.
ProceF
=
EMPOTY
;
}
//A1DEFI 0x18FD9BA3 64923 1000 8
if
(
g_canMsg64923
.
ProceF
==
MSG_FULL
)
{
g_canMsg64923
.
ProceF
=
EMPOTY
;
}
//DCU_ 0x18F00E51 61454 50 8
if
(
g_canMsg61454_51
.
ProceF
==
MSG_FULL
)
{
g_canMsg61454_51
.
ProceF
=
EMPOTY
;
}
//DCU_ 0x18F00F52 61455 50
if
(
g_canMsg61454_52
.
ProceF
==
MSG_FULL
)
{
g_canMsg61454_52
.
ProceF
=
EMPOTY
;
}
//ABS_EBC2 0x18FEBF0B 65215 100 8
if
(
g_canMsg65215
.
ProceF
==
MSG_FULL
)
{
g_canMsg65215
.
ProceF
=
EMPOTY
;
}
//ABS_EBC1 0x18F0010B 61441 100 8
if
(
g_canMsg61441
.
ProceF
==
MSG_FULL
)
{
//ABS
if
((
g_canMsg61441
.
Data
[
5
]
&
0x30
)
==
0x10
)
{
g_CanSwith
.
ABSLamp
=
1
;
}
else
{
g_CanSwith
.
ABSLamp
=
0
;
}
//ASR
if
((
g_canMsg61441
.
Data
[
5
]
&
0xC0
)
==
0x40
)
{
g_CanSwith
.
ASR
=
1
;
}
else
{
g_CanSwith
.
ASR
=
0
;
}
g_canMsg61441
.
ProceF
=
EMPOTY
;
}
//EPS 0x18101713 4119 100 8
if
(
g_canMsg04119
.
ProceF
==
MSG_FULL
)
{
//ESP关闭
if
((
g_canMsg61441
.
Data
[
2
]
&
0x0C
)
==
0x04
)
{
g_CanSwith
.
ESPoff
=
1
;
}
else
{
g_CanSwith
.
ESPoff
=
0
;
}
g_canMsg04119
.
ProceF
=
EMPOTY
;
}
//-- 胎压处理 --//
App_ReceiveCanTireMsg
();
...
...
@@ -651,12 +736,4 @@ void App_K30ReceiveCanMsg(void)
g_canMsg60439
.
ProceF
=
EMPOTY
;
}
//IG-ON报文解析
if
(
g_curkeyinput
!=
KeyOFF
)
{
//if (g_canMsg60439.ProceF == MSG_FULL)
//{
// g_canMsg60439.ProceF = EMPOTY;
//}
}
}
api_Sources/api_RTC.c
View file @
b1ebd45e
...
...
@@ -469,7 +469,7 @@ void Api_ClockGenerate(void)
}
//----------------- KL15硬线灯去抖 ------------------------------------------------//
//
手刹
//
驻车制动
if
(
LINE_IN_PARKING
==
LOW
)
{
if
(
g_LED
.
pParkTime
<
T_0_5s
)
...
...
@@ -481,6 +481,7 @@ void Api_ClockGenerate(void)
{
g_LED
.
pParkTime
=
null
;
}
/*
//EBD-pin5
if(pBrakeIn == LOW)
...
...
app_Headers/g_Var.h
View file @
b1ebd45e
...
...
@@ -111,7 +111,7 @@ EXTERN_VAR volatile INT8U bSafeBeltLed;
EXTERN_VAR
volatile
INT8U
bPasBeltLed
;
//--can--//
EXTERN_VAR
volatile
_LightSts
g_LightSts
;
//左右转向专用
EXTERN_VAR
volatile
_LightSts
g_LightSts
;
//左右转向专用
EXTERN_VAR
volatile
_CanSwith
g_CanSwith
;
EXTERN_VAR
volatile
_CanClock
g_canClock
;
EXTERN_VAR
volatile
INT8U
g_CanTimeOut20ms
;
...
...
@@ -128,7 +128,6 @@ EXTERN_VAR volatile _RevCanMsg g_canMsg65279; //
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg65252
;
//预热 0x18FEE400
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg64892
;
//DPF 0x18FD7C00
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg65265
;
//定速巡航 0x18FEF100
//EXTERN_VAR volatile _RevCanMsg g_canMsg65265BCM; //手刹 0x18FEF121
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg65263
;
//机油压力 0x18FEEF00
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg65248
;
// 0x18FEE000
EXTERN_VAR
volatile
_RevCanMsg
g_canMsg61442
;
// 0x0CF00203
...
...
app_Headers/g_VarType.h
View file @
b1ebd45e
...
...
@@ -156,8 +156,8 @@ typedef struct
INT8U
DPF_Red
:
1
;
INT8U
ECO
:
1
;
INT8U
DriverLimited
:
3
;
//驾驶性能限制
INT8U
CanPowerOver
:
1
;
INT8U
Reserve1
:
3
;
INT8U
EngFailure4
:
1
;
//EPC1
INT8U
Hazard_Lights
:
1
;
//危险灯
...
...
app_Sources/app_System.c
View file @
b1ebd45e
...
...
@@ -24,18 +24,15 @@ void App_Paramer_Init(void)
INT8U
i
;
//-- 主界面初始化 --//
if
((
ConfigItem
.
GasConfig
==
1
)
&&
((
ConfigItem
.
AdblueConfig
==
2
)
||
(
ConfigItem
.
AdblueConfig
==
3
)))
if
((
ConfigItem
.
GasConfig
==
1
)
&&
((
ConfigItem
.
AdblueConfig
==
0
)
||
(
ConfigItem
.
AdblueConfig
==
1
)))
{
g_Style
=
1
;
//气压 + adblue
}
else
if
((
ConfigItem
.
GasConfig
==
0
)
&&
((
ConfigItem
.
AdblueConfig
==
2
)
||
(
ConfigItem
.
AdblueConfig
==
3
)))
else
if
((
ConfigItem
.
GasConfig
==
0
)
&&
((
ConfigItem
.
AdblueConfig
==
0
)
||
(
ConfigItem
.
AdblueConfig
==
1
)))
{
g_Style
=
2
;
//adblue
}
else
if
((
ConfigItem
.
GasConfig
==
1
)
&&
((
ConfigItem
.
AdblueConfig
==
0
)
||
(
ConfigItem
.
AdblueConfig
==
1
)))
else
if
((
ConfigItem
.
GasConfig
==
1
)
&&
((
ConfigItem
.
AdblueConfig
!=
0
)
&&
(
ConfigItem
.
AdblueConfig
!=
1
)))
{
g_Style
=
3
;
//气压
}
...
...
@@ -357,7 +354,7 @@ void App_State_OFF(void)
//-- Can Clear All --//
g_CanSwith
.
CabLock
=
0
;
g_CanSwith
.
ParkLamp
=
0
;
g_CanSwith
.
VacuumCylinder
=
0
;
g_CanSwith
.
OilLamp
=
0
;
g_CanSwith
.
ExhaustBrake
=
0
;
...
...
@@ -387,7 +384,6 @@ void App_State_OFF(void)
g_CanSwith
.
VDCLampStatus
=
0
;
g_CanSwith
.
WIF
=
0
;
g_CanSwith
.
DriverWarn
=
0
;
g_CanSwith
.
DriverLimited
=
0
;
g_CanSwith
.
ParkErr
=
0
;
g_CanSwith
.
AutoHoldAct
=
0
;
g_CanSwith
.
AutoHoldWork
=
0
;
...
...
gui_Sources/gui_Adblue.c
View file @
b1ebd45e
...
...
@@ -171,7 +171,7 @@ void Gui_Adblue_Disp_Manage(void)
if
(
g_sysFlag
.
Bits
.
AdbuleMeterInit
==
Disable
)
{
//超时维持
if
(
ConfigItem
.
AdblueConfig
==
2
)
if
(
ConfigItem
.
AdblueConfig
==
0
)
//13%
{
if
(
g_canClock
.
signal
.
Exist65110_00
)
{
...
...
@@ -185,9 +185,9 @@ void Gui_Adblue_Disp_Manage(void)
}
}
}
else
if
(
ConfigItem
.
AdblueConfig
==
3
)
else
if
(
ConfigItem
.
AdblueConfig
==
1
)
//15%
{
if
(
g_canClock
.
signal
.
Exist65110_
3D
)
if
(
g_canClock
.
signal
.
Exist65110_
A3
)
{
if
(
g_adblueMeter
.
CurPosition
<=
43
)
// 2021-04-12 (10%)36改(12%)43
{
...
...
gui_Sources/gui_Led.c
View file @
b1ebd45e
...
...
@@ -110,14 +110,36 @@ void Gui_KL15LedDisplay(void)
//--------5912驱动指示灯
//BD8379_D0 2 驻车制动
if
(
(
LINE_IN_PARKING
==
0u
)
&&
(
g_LED
.
pParkTime
>=
T_0_3s
)
)
if
(
DIDFlag
.
Bits
.
DID1009Valid
==
Enable
)
{
BD83790A
|=
BD8379_D0
;
//on
if
(
IOCTL_DID1009
.
FF_Byte
==
1
)
{
BD83790A
|=
BD8379_D0
;
//on
}
else
{
BD83790A
&=
~
BD8379_D0
;
//off
}
}
else
{
BD83790A
&=
~
BD8379_D0
;
//off
if
((
g_LED
.
CheckLightsTime
<
T_CheckTime
)
&&
(
g_revMeter
.
CurBoardVal
<
300
))
{
BD83790A
|=
BD8379_D0
;
//on
}
else
{
if
((
LINE_IN_PARKING
==
0u
)
&&
(
g_LED
.
pParkTime
>=
T_0_3s
))
{
BD83790A
|=
BD8379_D0
;
//on
}
else
{
BD83790A
&=
~
BD8379_D0
;
//off
}
}
}
//BD8379_D1 油含水 15 油水分离
if
(
Test_Hyq
)
{
...
...
@@ -181,6 +203,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790A
&=
~
BD8379_D7
;
//off
}
//BD8379_D8 6 ABS故障
if
(
DIDFlag
.
Bits
.
DID1011Valid
==
Enable
)
{
...
...
@@ -197,33 +220,17 @@ void Gui_KL15LedDisplay(void)
{
if
((
g_LED
.
CheckLightsTime
<
T_CheckTime
)
&&
(
g_revMeter
.
CurBoardVal
<
300
))
{
if
((
ConfigItem
.
ABS_ESCConfig
==
0
)
||
(
ConfigItem
.
ABS_ESCConfig
==
1
))
if
((
ConfigItem
.
ABS_ESCConfig
==
0
)
||
(
ConfigItem
.
ABS_ESCConfig
==
1
)
||
(
ConfigItem
.
ABS_ESCConfig
==
2
)
)
{
BD83790A
|=
BD8379_D8
;
//on
}
}
else
{
if
(
ConfigItem
.
ABS_ESCConfig
==
0
)
{
//硬线(+..)
if
(
g_LED
.
ABSFaultTimes
>
T_0_1s
)
{
BD83790A
&=
~
BD8379_D8
;
//off
bDSTable
[
PicABS
]
=
0
;
DTC_ABSErrFlag
=
Disable
;
}
else
{
BD83790A
|=
BD8379_D8
;
//on
bDSTable
[
PicABS
]
|=
DS0_MASK
;
DTC_ABSErrFlag
=
Enable
;
}
}
else
if
(
ConfigItem
.
ABS_ESCConfig
==
1
)
if
((
ConfigItem
.
ABS_ESCConfig
==
0
)
||
(
ConfigItem
.
ABS_ESCConfig
==
1
)
||
(
ConfigItem
.
ABS_ESCConfig
==
2
))
{
//can
if
(
g_CanSwith
.
ABSLamp
)
if
(
g_CanSwith
.
ABSLamp
==
1u
)
{
BD83790A
|=
BD8379_D8
;
//on
bDSTable
[
PicABS
]
|=
DS0_MASK
;
...
...
@@ -242,14 +249,42 @@ void Gui_KL15LedDisplay(void)
}
}
}
//BD8379_D9 制动器故障 4 制动气压不足/制动系统故障
if
(
Test_Hyq
)
if
(
DIDFlag
.
Bits
.
DID1030Valid
==
Enable
)
{
BD83790A
|=
BD8379_D9
;
//on
if
(
IOCTL_DID1030
.
FF_Byte
==
1
)
{
BD83790A
|=
BD8379_D9
;
//on
}
else
{
BD83790A
&=
~
BD8379_D9
;
//off
}
}
else
{
BD83790A
&=
~
BD8379_D9
;
//off
if
((
g_LED
.
CheckLightsTime
<
T_CheckTime
)
&&
(
g_revMeter
.
CurBoardVal
<
300
))
{
if
(
ConfigItem
.
GasConfig
==
1
)
{
BD83790A
|=
BD8379_D9
;
//on
}
}
else
{
if
((
g_sysFlag
.
Bits
.
Gas2LedEn
||
g_sysFlag
.
Bits
.
Gas1LedEn
)
&&
(
ConfigItem
.
GasConfig
==
1
))
{
BD83790A
|=
BD8379_D9
;
//on
bDSTable
[
PicGasLow
]
|=
DS0_MASK
;
}
else
{
BD83790A
&=
~
BD8379_D9
;
//off
bDSTable
[
PicGasLow
]
=
0
;
}
}
}
//BD8379_D10 预留3
if
(
Test_Hyq
)
...
...
@@ -271,14 +306,45 @@ void Gui_KL15LedDisplay(void)
}
//BD8379_D0 OBD 10 发动机排放故障
if
(
Test_Hyq
)
if
(
DIDFlag
.
Bits
.
DID100DValid
==
Enable
)
{
BD83790B
|=
BD8379_D0
;
//on
if
(
IOCTL_DID100D
.
FF_Byte
==
1
)
{
BD83790B
|=
BD8379_D0
;
//on
}
else
{
BD83790B
&=
~
BD8379_D0
;
//off
}
}
else
{
BD83790B
&=
~
BD8379_D0
;
//off
if
(
g_revMeter
.
CurBoardVal
<=
300
)
{
BD83790B
|=
BD8379_D0
;
//on
DTC_OBDErrFlag
=
Disable
;
}
else
if
((
ConfigItem
.
EngConfig
==
0
)
||
(
ConfigItem
.
EngConfig
==
1
))
{
//if ((g_LED.pMILOffTime1 >= T_2_0s) && (OBDLamp == 0))
if
(
g_LED
.
pMILOffTime1
>=
T_2_0s
)
{
BD83790B
&=
~
BD8379_D0
;
//off
DTC_OBDErrFlag
=
Disable
;
}
else
{
BD83790B
|=
BD8379_D0
;
//on
DTC_OBDErrFlag
=
Enable
;
}
}
else
{
BD83790B
&=
~
BD8379_D0
;
//off
DTC_OBDErrFlag
=
Disable
;
}
}
//BD8379_D1 7 燃油报警
if
(
Test_Hyq
)
{
...
...
@@ -306,6 +372,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D3
;
//off
}
//BD8379_D4 13 车厢举升报警
if
(
Test_Hyq
)
{
...
...
@@ -315,6 +382,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D4
;
//off
}
//BD8379_D5 22 DPF禁止再生
if
(
Test_Hyq
)
{
...
...
@@ -324,6 +392,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D5
;
//off
}
//BD8379_D6 11 发动机故障
if
(
Test_Hyq
)
{
...
...
@@ -333,6 +402,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D6
;
//off
}
//BD8379_D7 机油报警 3 低油压报警
if
(
Test_Hyq
)
{
...
...
@@ -342,6 +412,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D7
;
//off
}
//BD8379_D8 18 DPF再生(黄色)
if
(
Test_Hyq
)
{
...
...
@@ -351,6 +422,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D8
;
//off
}
//BD8379_D9 21 DPF再生(红色)
if
(
Test_Hyq
)
{
...
...
@@ -360,6 +432,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D9
;
//off
}
//BD8379_D10 12 制动蹄片磨损报警
if
(
Test_Hyq
)
{
...
...
@@ -369,15 +442,8 @@ void Gui_KL15LedDisplay(void)
{
BD83790B
&=
~
BD8379_D10
;
//off
}
//BD8379_D11 门开 门开在30电上
if
(
Test_Hyq
)
{
BD83790B
|=
BD8379_D11
;
//on
}
else
{
BD83790B
&=
~
BD8379_D11
;
//off
}
}
/*-------------------------------------------------------------------------
* Function Name : Gui_KL30LedDisplay
...
...
@@ -560,9 +626,9 @@ void Gui_KL30LedDisplay(void)
}
//16 门开-LED
if
(
g_canClock
.
signal
.
Exist60439
)
if
(
DIDFlag
.
Bits
.
DID1007Valid
==
Enable
)
{
if
(
g_CanSwith
.
DrDoorStae
||
g_CanSwith
.
PssDoorStae
||
g_CanSwith
.
RLDoorStae
||
g_CanSwith
.
RRDoorStae
)
if
(
IOCTL_DID1007
.
FF_Byte
==
1
)
{
BD83790B
|=
BD8379_D11
;
//on
}
...
...
@@ -572,14 +638,78 @@ void Gui_KL30LedDisplay(void)
}
}
else
{
if
(
g_canClock
.
signal
.
Exist60439
)
{
if
((
g_CanSwith
.
DrDoorStae
==
1u
)
||
(
g_CanSwith
.
PssDoorStae
==
1u
)
||
(
g_CanSwith
.
RLDoorStae
==
1u
)
||
(
g_CanSwith
.
RRDoorStae
==
1u
))
{
BD83790B
|=
BD8379_D11
;
//on
}
else
{
BD83790B
&=
~
BD8379_D11
;
//off
}
}
else
{
if
(
g_LED
.
pDoorOpenTime
>=
T_0_3s
)
{
BD83790B
|=
BD8379_D11
;
//on
}
else
{
BD83790B
&=
~
BD8379_D11
;
//off
}
}
}
//------------------------ Door Signl KL30 Receive ----------------------//
//can信号不存在时,检测硬线信号
if
(
!
g_canClock
.
signal
.
Exist60439
)
{
if
(
g_LED
.
pDoorOpenTime
>=
T_0_3s
)
{
BD83790B
|=
BD8379_D11
;
//on
g_CanSwith
.
DrDoorStae
=
1
;
g_CanSwith
.
PssDoorStae
=
1
;
}
else
{
BD83790B
&=
~
BD8379_D11
;
//off
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
))
{
bDSUpdateFlag
=
1
;
}
//清除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
;
//右后
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment