Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
bf30d83f
提交
bf30d83f
authored
6月 06, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复:电子锁,第二次充电无法启动
上级
64788d77
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
167 行增加
和
154 行删除
+167
-154
Drv_BoardIo.c
DcPillar/Src/Drivers/Drv_BoardIo.c
+1
-1
Drv_TCUComm.c
DcPillar/Src/Drivers/Drv_TCUComm.c
+33
-34
Drv_TCUComm.h
DcPillar/Src/Drivers/Drv_TCUComm.h
+1
-1
startup_stm32f407xx.s
DcPillar/Src/STM32F407/startup_stm32f407xx.s
+1
-1
ChgPro_B_ChgRun_SmartAllocation.c
...lar/Src/SmartAllocation/ChgPro_B_ChgRun_SmartAllocation.c
+11
-9
ChgPro_ChgRun_SmartAllocation.c
DcPillar/Src/SmartAllocation/ChgPro_ChgRun_SmartAllocation.c
+2
-0
Drv_SmartAllocation.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
+4
-3
ChgPro_ChgIdle.c
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
+17
-0
ChgPro_ImdCheck.c
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
+2
-2
ChgPro_WaitBmsReady.c
DcPillar/Src/Thread/Charge/ChgPro_WaitBmsReady.c
+0
-1
ChgPro_WaitPillarReady.c
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
+4
-4
ChgPro_B_ChgIdle.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgIdle.c
+16
-1
ChgPro_B_ImdCheck.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ImdCheck.c
+1
-1
ChgPro_B_WaitPillarReady.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitPillarReady.c
+4
-4
Thd_TCU.c
DcPillar/Src/Thread/Thd_TCU.c
+67
-90
Thd_TCU.h
DcPillar/Src/Thread/Thd_TCU.h
+1
-0
Thd_TcuControl.c
DcPillar/Src/Thread/Thd_TcuControl.c
+2
-2
没有找到文件。
DcPillar/Src/Drivers/Drv_BoardIo.c
浏览文件 @
bf30d83f
...
@@ -897,7 +897,7 @@ EnumSwitchStatus SPDGet(void)
...
@@ -897,7 +897,7 @@ EnumSwitchStatus SPDGet(void)
static
void
FanDelayHandle
(
void
const
*
Param
)
static
void
FanDelayHandle
(
void
const
*
Param
)
{
{
Fan_Port
->
BSRRH
=
Fan_Pin
;
Fan_Port
->
BSRRH
=
Fan_Pin
;
ACContactorSet
(
eSwSta_Off
);
//
ACContactorSet(eSwSta_Off);
}
}
void
FanInit
(
void
)
void
FanInit
(
void
)
{
{
...
...
DcPillar/Src/Drivers/Drv_TCUComm.c
浏览文件 @
bf30d83f
...
@@ -616,12 +616,12 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -616,12 +616,12 @@ void StartMeg(StructTCUSend * pPgnRecv)
//StartMeg_A.GunNum = 0;//pPgnRecv->Data[0];
//StartMeg_A.GunNum = 0;//pPgnRecv->Data[0];
StartMeg_A
.
LoadSswitch
=
pPgnRecv
->
Data
[
1
];
StartMeg_A
.
LoadSswitch
=
pPgnRecv
->
Data
[
1
];
StartMeg_A
.
PlugToChgFlag
=
pPgnRecv
->
Data
[
2
];
StartMeg_A
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
StartMeg_A
.
AuxiliaryPower
=
pPgnRecv
->
Data
[
3
];
StartMeg_A
.
AuxiliaryPower
=
pPgnRecv
->
Data
[
3
];
StartMeg_A
.
ParallelCharging
=
pPgnRecv
->
Data
[
4
];
StartMeg_A
.
ParallelCharging
=
pPgnRecv
->
Data
[
4
];
if
((
StartMeg_A
.
LoadSswitch
==
1
)
||
(
StartMeg_A
.
LoadSswitch
==
2
)
&&
(
StartMeg_A
.
PlugToChgFlag
==
0
)
||
if
((
(
StartMeg_A
.
LoadSswitch
==
1
)
||
(
StartMeg_A
.
LoadSswitch
==
2
)
)
(
StartMeg_A
.
PlugToChgFlag
==
1
))
&&
((
StartMeg_A
.
StarChgType
==
0
)
||
(
StartMeg_A
.
StarChgType
==
1
)
))
{
{
TCUCurChgRecd
.
StarValid
=
1
;
TCUCurChgRecd
.
StarValid
=
1
;
TCUCurChgRecd
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
TCUCurChgRecd
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
...
@@ -640,7 +640,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -640,7 +640,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
BMS_24V_Set
(
eSwSta_On
);
BMS_24V_Set
(
eSwSta_On
);
}
}
if
(
StartMeg_A
.
PlugToChgFlag
==
1
)
if
(
StartMeg_A
.
StarChgType
==
1
)
{
{
TCUCurChgRecd
.
VehicleVerification
=
0
;
TCUCurChgRecd
.
VehicleVerification
=
0
;
}
}
...
@@ -668,12 +668,12 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -668,12 +668,12 @@ void StartMeg(StructTCUSend * pPgnRecv)
{
{
ChargeStopType_B
=
eChgStop_None
;
ChargeStopType_B
=
eChgStop_None
;
StartMeg_B
.
LoadSswitch
=
pPgnRecv
->
Data
[
1
];
StartMeg_B
.
LoadSswitch
=
pPgnRecv
->
Data
[
1
];
StartMeg_B
.
PlugToChgFlag
=
pPgnRecv
->
Data
[
2
];
StartMeg_B
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
StartMeg_B
.
AuxiliaryPower
=
pPgnRecv
->
Data
[
3
];
StartMeg_B
.
AuxiliaryPower
=
pPgnRecv
->
Data
[
3
];
StartMeg_B
.
ParallelCharging
=
pPgnRecv
->
Data
[
4
];
StartMeg_B
.
ParallelCharging
=
pPgnRecv
->
Data
[
4
];
if
((
StartMeg_B
.
LoadSswitch
==
1
)
||
(
StartMeg_B
.
LoadSswitch
==
2
)
&&
(
StartMeg_B
.
PlugToChgFlag
==
0
)
||
if
((
(
StartMeg_B
.
LoadSswitch
==
1
)
||
(
StartMeg_B
.
LoadSswitch
==
2
))
(
StartMeg_B
.
PlugToChgFlag
==
1
))
&&
((
StartMeg_B
.
StarChgType
==
0
)
||
(
StartMeg_B
.
StarChgType
==
1
)
))
{
{
TCUCurChgRecd_B
.
StarValid
=
1
;
TCUCurChgRecd_B
.
StarValid
=
1
;
TCUCurChgRecd_B
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
TCUCurChgRecd_B
.
StarChgType
=
pPgnRecv
->
Data
[
2
];
...
@@ -692,7 +692,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -692,7 +692,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
BMS_24V_Set_B
(
eSwSta_On
);
BMS_24V_Set_B
(
eSwSta_On
);
}
}
if
(
StartMeg_B
.
PlugToChgFlag
==
1
)
if
(
StartMeg_B
.
StarChgType
==
1
)
{
{
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
}
}
...
@@ -884,7 +884,7 @@ void StartMegAck_A(void)
...
@@ -884,7 +884,7 @@ void StartMegAck_A(void)
Data
[
3
]
=
Reason
;
Data
[
3
]
=
Reason
;
Data
[
4
]
=
StartMeg_A
.
LoadSswitch
;
Data
[
4
]
=
StartMeg_A
.
LoadSswitch
;
Data
[
5
]
=
StartMeg_A
.
PlugToChgFlag
;
Data
[
5
]
=
StartMeg_A
.
StarChgType
;
Data
[
6
]
=
StartMeg_A
.
AuxiliaryPower
;
Data
[
6
]
=
StartMeg_A
.
AuxiliaryPower
;
Data
[
7
]
=
StartMeg_A
.
ParallelCharging
;
Data
[
7
]
=
StartMeg_A
.
ParallelCharging
;
TCUSinglePackSendMsg
(
Data
,
8
,
eCmd_startAck
,
4
,
ChargerCont1939Addr
);
TCUSinglePackSendMsg
(
Data
,
8
,
eCmd_startAck
,
4
,
ChargerCont1939Addr
);
...
@@ -909,7 +909,7 @@ void StartMegAck_B(void)
...
@@ -909,7 +909,7 @@ void StartMegAck_B(void)
Data
[
3
]
=
Reason
;
Data
[
3
]
=
Reason
;
Data
[
4
]
=
StartMeg_B
.
LoadSswitch
;
Data
[
4
]
=
StartMeg_B
.
LoadSswitch
;
Data
[
5
]
=
StartMeg_B
.
PlugToChgFlag
;
Data
[
5
]
=
StartMeg_B
.
StarChgType
;
Data
[
6
]
=
StartMeg_B
.
AuxiliaryPower
;
Data
[
6
]
=
StartMeg_B
.
AuxiliaryPower
;
Data
[
7
]
=
StartMeg_B
.
ParallelCharging
;
Data
[
7
]
=
StartMeg_B
.
ParallelCharging
;
TCUSinglePackSendMsg
(
Data
,
8
,
eCmd_startAck
,
4
,
ChargerCont1939Addr_B
);
TCUSinglePackSendMsg
(
Data
,
8
,
eCmd_startAck
,
4
,
ChargerCont1939Addr_B
);
...
@@ -1016,7 +1016,7 @@ u8 AllowDTUStartCompCharge(u8 * Reason)
...
@@ -1016,7 +1016,7 @@ u8 AllowDTUStartCompCharge(u8 * Reason)
*
Reason
=
0x29
;
//29H:BCL报文接收超时
*
Reason
=
0x29
;
//29H:BCL报文接收超时
else
if
(
CemMsg
.
Cem
.
Value
.
Bcs
==
1
)
else
if
(
CemMsg
.
Cem
.
Value
.
Bcs
==
1
)
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
else
if
((
VerificaInfo
.
result
==
1
)
&&
(
StartMeg_A
.
PlugToChgFlag
==
1
))
else
if
((
VerificaInfo
.
result
==
1
)
&&
(
StartMeg_A
.
StarChgType
==
1
))
*
Reason
=
0x3F
;
//3DH: 车辆验证确认帧超时
*
Reason
=
0x3F
;
//3DH: 车辆验证确认帧超时
else
if
(
TCUCommuStatus
.
ErrData
.
Value
.
verificationAck
==
1
)
else
if
(
TCUCommuStatus
.
ErrData
.
Value
.
verificationAck
==
1
)
*
Reason
=
0x3D
;
//3FH:车辆鉴权不通过
*
Reason
=
0x3D
;
//3FH:车辆鉴权不通过
...
@@ -1086,7 +1086,7 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason)
...
@@ -1086,7 +1086,7 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason)
*
Reason
=
0x29
;
//29H:BCL报文接收超时
*
Reason
=
0x29
;
//29H:BCL报文接收超时
else
if
(
CemMsg_B
.
Cem
.
Value
.
Bcs
==
1
)
else
if
(
CemMsg_B
.
Cem
.
Value
.
Bcs
==
1
)
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
else
if
((
VerificaInfo_B
.
result
==
1
)
&&
(
StartMeg_B
.
PlugToChgFlag
==
1
))
else
if
((
VerificaInfo_B
.
result
==
1
)
&&
(
StartMeg_B
.
StarChgType
==
1
))
*
Reason
=
0x3F
;
*
Reason
=
0x3F
;
else
if
(
TCUCommuStatus_B
.
ErrData
.
Value
.
verificationAck
==
1
)
else
if
(
TCUCommuStatus_B
.
ErrData
.
Value
.
verificationAck
==
1
)
*
Reason
=
0x3D
;
*
Reason
=
0x3D
;
...
@@ -1341,9 +1341,8 @@ void StopMegAck_A(void)
...
@@ -1341,9 +1341,8 @@ void StopMegAck_A(void)
Data
[
0
]
=
0x00
;
Data
[
0
]
=
0x00
;
if
(
TCUCurChgRecd
.
TCUChargeEnable
==
1
)
if
(
TCUCurChgRecd
.
TCUChargeEnable
==
0
)
{
{
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//Bms停止标志
Data
[
1
]
=
00
;
Data
[
1
]
=
00
;
}
}
else
else
...
@@ -1362,10 +1361,9 @@ void StopMegAck_B(void)
...
@@ -1362,10 +1361,9 @@ void StopMegAck_B(void)
Data
[
0
]
=
0x00
;
Data
[
0
]
=
0x00
;
if
(
TCUCurChgRecd_B
.
TCUChargeEnable
==
1
)
if
(
TCUCurChgRecd_B
.
TCUChargeEnable
==
0
)
{
{
Data
[
1
]
=
00
;
Data
[
1
]
=
00
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//b枪Bms停止标志
}
}
else
else
Data
[
1
]
=
01
;
Data
[
1
]
=
01
;
...
@@ -2115,11 +2113,11 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2115,11 +2113,11 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus
.
CommStage
=
ElectLockStage
;
TCUCommuStatus
.
CommStage
=
ElectLockStage
;
TCUCommuStatus
.
ElectLockSetValue
=
pPgnRecv
->
Data
[
2
];
TCUCommuStatus
.
ElectLockSetValue
=
pPgnRecv
->
Data
[
2
];
TCUCommuStatus
.
ElectLockNum
=
pPgnRecv
->
Data
[
1
];
if
(((
pPgnRecv
->
Data
[
1
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
1
]
!=
0x02
))
||
((
pPgnRecv
->
Data
[
2
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
2
]
!=
0x02
)
))
if
((
pPgnRecv
->
Data
[
2
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
2
]
!=
0x02
))
TCUCommuStatus
.
ElectLockVaildValue
=
1
;
//数据合法性校验失败
TCUCommuStatus
.
ElectLockVaildValue
=
1
;
//数据合法性校验失败
else
if
(
(
TCUCommuStatus
.
ConnectFlag
==
CONNECT_TIMEOUT
)
||
(
TCUCommuStatus
.
HeartBeatVaild
)
)
else
if
(
TCUCommuStatus
.
ConnectFlag
==
CONNECT_TIMEOUT
)
TCUCommuStatus
.
ElectLockVaildValue
=
2
;
//通讯超时
TCUCommuStatus
.
ElectLockVaildValue
=
2
;
//通讯超时
else
if
(
TCUCommuStatus
.
VerChkVaild
==
0
)
else
if
(
TCUCommuStatus
.
VerChkVaild
==
0
)
TCUCommuStatus
.
ElectLockVaildValue
=
3
;
//版本校验未完成
TCUCommuStatus
.
ElectLockVaildValue
=
3
;
//版本校验未完成
...
@@ -2134,10 +2132,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2134,10 +2132,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
if
((
TCUCommuStatus
.
ElectLockVaildValue
==
0
)
||
(
TCUCommuStatus
.
ElectLockVaildValue
==
0x07
))
if
((
TCUCommuStatus
.
ElectLockVaildValue
==
0
)
||
(
TCUCommuStatus
.
ElectLockVaildValue
==
0x07
))
{
{
if
(
TCUCommuStatus
.
ElectLockSetValue
==
01
)
//
if (TCUCommuStatus.ElectLockSetValue == 01)
LockSet
(
eSwSta_On
);
LockSet
(
eSwSta_On
);
else
//
else
LockSet
(
eSwSta_Off
);
//
LockSet(eSwSta_Off);
}
}
}
}
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
...
@@ -2145,11 +2143,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2145,11 +2143,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus_B
.
CommStage
=
ElectLockStage
;
TCUCommuStatus_B
.
CommStage
=
ElectLockStage
;
TCUCommuStatus_B
.
ElectLockSetValue
=
pPgnRecv
->
Data
[
2
];
TCUCommuStatus_B
.
ElectLockSetValue
=
pPgnRecv
->
Data
[
2
];
TCUCommuStatus_B
.
ElectLockNum
=
pPgnRecv
->
Data
[
1
];
if
(((
pPgnRecv
->
Data
[
1
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
1
]
!=
0x02
))
||
((
pPgnRecv
->
Data
[
2
]
!=
0x01
)
&&
if
((
pPgnRecv
->
Data
[
2
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
2
]
!=
0x02
))
(
pPgnRecv
->
Data
[
2
]
!=
0x02
)))
TCUCommuStatus_B
.
ElectLockVaildValue
=
1
;
//数据合法性校验失败
TCUCommuStatus_B
.
ElectLockVaildValue
=
1
;
//数据合法性校验失败
else
if
((
TCUCommuStatus_B
.
ConnectFlag
==
CONNECT_TIMEOUT
)
||
(
TCUCommuStatus_B
.
HeartBeatVaild
)
)
else
if
((
TCUCommuStatus_B
.
ConnectFlag
==
CONNECT_TIMEOUT
)
)
TCUCommuStatus_B
.
ElectLockVaildValue
=
2
;
//通讯超时
TCUCommuStatus_B
.
ElectLockVaildValue
=
2
;
//通讯超时
else
if
(
TCUCommuStatus_B
.
VerChkVaild
==
0
)
else
if
(
TCUCommuStatus_B
.
VerChkVaild
==
0
)
TCUCommuStatus_B
.
ElectLockVaildValue
=
3
;
//版本校验未完成
TCUCommuStatus_B
.
ElectLockVaildValue
=
3
;
//版本校验未完成
...
@@ -2164,10 +2161,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2164,10 +2161,10 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
if
((
TCUCommuStatus_B
.
ElectLockVaildValue
==
0
)
||
(
TCUCommuStatus_B
.
ElectLockVaildValue
==
0x07
))
if
((
TCUCommuStatus_B
.
ElectLockVaildValue
==
0
)
||
(
TCUCommuStatus_B
.
ElectLockVaildValue
==
0x07
))
{
{
if
(
TCUCommuStatus_B
.
ElectLockSetValue
==
01
)
//
if (TCUCommuStatus_B.ElectLockSetValue == 01)
LockSet_B
(
eSwSta_On
);
LockSet_B
(
eSwSta_On
);
else
//
else
LockSet_B
(
eSwSta_Off
);
//
LockSet_B(eSwSta_Off);
}
}
}
}
}
}
...
@@ -2184,9 +2181,9 @@ void ElectControlAck(u8 ChgNum)
...
@@ -2184,9 +2181,9 @@ void ElectControlAck(u8 ChgNum)
if
(
ChgNum
==
1
)
if
(
ChgNum
==
1
)
{
{
Data
[
0
]
=
0
;
Data
[
0
]
=
0
;
Data
[
1
]
=
1
;
//当前需要操作电子锁序号,从 1 开始。
Data
[
1
]
=
TCUCommuStatus
.
ElectLockNum
;
//当前需要操作电子锁序号,从 1 开始。
Data
[
2
]
=
TCUCommuStatus
.
ElectLockSetValue
;
Data
[
2
]
=
TCUCommuStatus
.
ElectLockSetValue
;
if
(
PillarError
.
Value
.
EleLock
==
1
)
if
(
PillarError
.
Value
.
EleLock
==
1
)
TCUCommuStatus
.
ElectLockVaildValue
=
0x07
;
TCUCommuStatus
.
ElectLockVaildValue
=
0x07
;
...
@@ -2207,9 +2204,9 @@ void ElectControlAck(u8 ChgNum)
...
@@ -2207,9 +2204,9 @@ void ElectControlAck(u8 ChgNum)
else
if
(
ChgNum
==
2
)
else
if
(
ChgNum
==
2
)
{
{
Data
[
0
]
=
0
;
Data
[
0
]
=
0
;
Data
[
1
]
=
1
;
//当前需要操作电子锁序号,从 1 开始。
Data
[
1
]
=
TCUCommuStatus_B
.
ElectLockNum
;
//当前需要操作电子锁序号,从 1 开始。
Data
[
2
]
=
TCUCommuStatus_B
.
ElectLockSetValue
;
Data
[
2
]
=
TCUCommuStatus_B
.
ElectLockSetValue
;
if
(
PillarError_B
.
Value
.
EleLock
==
1
)
if
(
PillarError_B
.
Value
.
EleLock
==
1
)
TCUCommuStatus_B
.
ElectLockVaildValue
=
0x07
;
TCUCommuStatus_B
.
ElectLockVaildValue
=
0x07
;
...
@@ -2951,6 +2948,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2951,6 +2948,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
//TCUCommuStatus.HeartBeatErrCnt = 0;
//TCUCommuStatus.HeartBeatErrCnt = 0;
//HeartBeatVaild = 0; //心跳失效
//HeartBeatVaild = 0; //心跳失效
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//超时停机
}
}
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
{
{
...
@@ -2960,6 +2958,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
...
@@ -2960,6 +2958,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
//TCUCommuStatus_B.HeartBeatErrCnt = 0;
//TCUCommuStatus_B.HeartBeatErrCnt = 0;
//TCUCommuStatus_B.HeartBeatVaild = 0; //心跳失效
//TCUCommuStatus_B.HeartBeatVaild = 0; //心跳失效
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//超时停机
}
}
}
}
...
...
DcPillar/Src/Drivers/Drv_TCUComm.h
浏览文件 @
bf30d83f
...
@@ -57,7 +57,7 @@ typedef struct
...
@@ -57,7 +57,7 @@ typedef struct
{
{
//u8 GunNum; //抢号 单枪 0 一机多冲 1-255
//u8 GunNum; //抢号 单枪 0 一机多冲 1-255
u8
LoadSswitch
;
//负荷控制开关 是否根据用户型号提供不同输出功率 01启用02关闭其他无效
u8
LoadSswitch
;
//负荷控制开关 是否根据用户型号提供不同输出功率 01启用02关闭其他无效
u8
PlugToChgFlag
;
//即插即充标识 00非 01 即插即充other:invalid
u8
StarChgType
;
//即插即充标识 00非 01 即插即充other:invalid
u8
AuxiliaryPower
;
//辅助电源选择:00H:使用12V(默认)01H: 24V(优先使用12V探测,失败后切24V电源探测)其他:无效
u8
AuxiliaryPower
;
//辅助电源选择:00H:使用12V(默认)01H: 24V(优先使用12V探测,失败后切24V电源探测)其他:无效
u8
ParallelCharging
;
//并充(两把枪充一辆车)选择:00H:关闭(默认) 01H:启用 其他:无效
u8
ParallelCharging
;
//并充(两把枪充一辆车)选择:00H:关闭(默认) 01H:启用 其他:无效
}
StructStartMeg
;
}
StructStartMeg
;
...
...
DcPillar/Src/STM32F407/startup_stm32f407xx.s
浏览文件 @
bf30d83f
...
@@ -183,7 +183,7 @@ Reset_Handler
...
@@ -183,7 +183,7 @@ Reset_Handler
// BLX R0
// BLX R0
LDR R0, =__iar_program_start
LDR R0, =__iar_program_start
BX R0
BX R0
PUBWEAK NMI_Handler
PUBWEAK NMI_Handler
...
...
DcPillar/Src/SmartAllocation/ChgPro_B_ChgRun_SmartAllocation.c
浏览文件 @
bf30d83f
...
@@ -14,8 +14,8 @@ s32 GetChgVoltChgRun_B(void)
...
@@ -14,8 +14,8 @@ s32 GetChgVoltChgRun_B(void)
{
{
if
(
ImdValue_B
.
Vaild
)
if
(
ImdValue_B
.
Vaild
)
return
ImdValue_B
.
PnVolt
;
return
ImdValue_B
.
PnVolt
;
if
(
eMeterSta_Unavail
!=
MeterComm
.
Status_B
)
//
if(eMeterSta_Unavail != MeterComm.Status_B)
return
MeterValue_B
.
Voltage
;
//
return MeterValue_B.Voltage;
if
(
BcsMsg_B
.
Valid
)
if
(
BcsMsg_B
.
Valid
)
return
BcsMsg_B
.
ChgVolt
;
return
BcsMsg_B
.
ChgVolt
;
return
-
1
;
return
-
1
;
...
@@ -137,25 +137,27 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -137,25 +137,27 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
if
(
DcModuleGroup
[
3
].
status
==
Valid
)
if
(
DcModuleGroup
[
3
].
status
==
Valid
)
{
{
DcModuleGroup
[
3
].
status
=
Hold_B
;
DcModuleGroup
[
3
].
status
=
Hold_B
;
//
DcModuleManage_B.ValidNum += DcModuleGroup[3].ValidNum;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
3
].
ValidNum
;
DcModuleGroup
[
3
].
flag
=
1
;
DcModuleGroup
[
3
].
flag
=
1
;
}
}
else
if
(
DcModuleGroup
[
1
].
status
==
Valid
)
else
if
(
DcModuleGroup
[
1
].
status
==
Valid
)
{
{
DcModuleGroup
[
1
].
status
=
Hold_B
;
DcModuleGroup
[
1
].
status
=
Hold_B
;
//DcModuleManage
.ValidNum += DcModuleGroup[1].ValidNum;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
1
].
ValidNum
;
DcModuleGroup
[
1
].
flag
=
1
;
DcModuleGroup
[
1
].
flag
=
1
;
}
}
else
if
(
DcModuleGroup
[
0
].
status
==
Valid
)
else
if
(
DcModuleGroup
[
0
].
status
==
Valid
)
{
{
DcModuleGroup
[
0
].
status
=
Hold_B
;
DcModuleGroup
[
0
].
status
=
Hold_B
;
//DcModuleManage
.ValidNum += DcModuleGroup[0].ValidNum;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleGroup
[
0
].
flag
=
1
;
DcModuleGroup
[
0
].
flag
=
1
;
#if (DcModule_ZhongXing == 0)
if
(
DcModuleGroup
[
1
].
status
==
Hold_B
)
if
(
DcModuleGroup
[
1
].
status
==
Hold_B
)
{
{
DcModuleGroup
[
1
].
status
=
Valid
;
DcModuleGroup
[
1
].
status
=
Valid
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
1
].
ValidNum
;
DcModuleManage
_B
.
ValidNum
-=
DcModuleGroup
[
1
].
ValidNum
;
}
}
#endif
}
}
}
}
else
if
(
NeedCurrt
<
(
DcModuleAbility
.
MaxCurrt
*
DcModuleManage_B
.
ValidNum
))
else
if
(
NeedCurrt
<
(
DcModuleAbility
.
MaxCurrt
*
DcModuleManage_B
.
ValidNum
))
...
@@ -163,17 +165,17 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -163,17 +165,17 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
if
(
DcModuleGroup
[
0
].
status
==
Hold_B
)
if
(
DcModuleGroup
[
0
].
status
==
Hold_B
)
{
{
DcModuleGroup
[
0
].
status
=
Valid
;
DcModuleGroup
[
0
].
status
=
Valid
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleManage
_B
.
ValidNum
-=
DcModuleGroup
[
0
].
ValidNum
;
}
}
else
if
(
DcModuleGroup
[
1
].
status
==
Hold_B
)
else
if
(
DcModuleGroup
[
1
].
status
==
Hold_B
)
{
{
DcModuleGroup
[
1
].
status
=
Valid
;
DcModuleGroup
[
1
].
status
=
Valid
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
1
].
ValidNum
;
DcModuleManage
_B
.
ValidNum
-=
DcModuleGroup
[
1
].
ValidNum
;
}
}
else
if
(
DcModuleGroup
[
3
].
status
==
Hold_B
)
else
if
(
DcModuleGroup
[
3
].
status
==
Hold_B
)
{
{
DcModuleGroup
[
3
].
status
=
Valid
;
DcModuleGroup
[
3
].
status
=
Valid
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
3
].
ValidNum
;
DcModuleManage
_B
.
ValidNum
-=
DcModuleGroup
[
3
].
ValidNum
;
}
}
}
}
...
...
DcPillar/Src/SmartAllocation/ChgPro_ChgRun_SmartAllocation.c
浏览文件 @
bf30d83f
...
@@ -157,11 +157,13 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
...
@@ -157,11 +157,13 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
DcModuleGroup
[
2
].
status
=
Hold_A
;
DcModuleGroup
[
2
].
status
=
Hold_A
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleGroup
[
2
].
flag
=
1
;
DcModuleGroup
[
2
].
flag
=
1
;
#if (DcModule_ZhongXing == 0)
if
(
DcModuleGroup
[
3
].
status
==
Hold_A
)
if
(
DcModuleGroup
[
3
].
status
==
Hold_A
)
{
{
DcModuleGroup
[
3
].
status
=
Valid
;
DcModuleGroup
[
3
].
status
=
Valid
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
3
].
ValidNum
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
3
].
ValidNum
;
}
}
#endif
}
}
}
}
else
if
(
NeedCurrt
<
(
DcModuleAbility
.
MaxCurrt
*
DcModuleManage
.
ValidNum
))
else
if
(
NeedCurrt
<
(
DcModuleAbility
.
MaxCurrt
*
DcModuleManage
.
ValidNum
))
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
浏览文件 @
bf30d83f
...
@@ -689,7 +689,7 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -689,7 +689,7 @@ void DcModuleCtrlProcess_SmartAllocation(void)
addr
=
DcModuleGroup
[
i
].
modules
[
j
].
addr
;
addr
=
DcModuleGroup
[
i
].
modules
[
j
].
addr
;
DcModuleManage_B
.
Cmd
=
0x55
;
//开机
DcModuleManage_B
.
Cmd
=
0x55
;
//开机
DcModuleGroup
[
i
].
modules
[
j
].
cmd
=
0x55
;
//
DcModuleGroup[i].modules[j].cmd = 0x55;
SendDataToDcModule
(
addr
,
DcModuleManage_B
.
Cmd
,
DcModuleManage_B
.
SetVolt
,
SendDataToDcModule
(
addr
,
DcModuleManage_B
.
Cmd
,
DcModuleManage_B
.
SetVolt
,
DcModuleManage_B
.
SetCurrt
);
DcModuleManage_B
.
SetCurrt
);
}
}
...
@@ -831,8 +831,9 @@ void SendDataToDcModule_ZhongXing(u8 group_index, u8 cmd, u32 volt, u32 current)
...
@@ -831,8 +831,9 @@ void SendDataToDcModule_ZhongXing(u8 group_index, u8 cmd, u32 volt, u32 current)
for
(
u8
j
=
0
;
j
<
DcModuleGroup
[
group_index
].
num
;
j
++
)
for
(
u8
j
=
0
;
j
<
DcModuleGroup
[
group_index
].
num
;
j
++
)
{
{
addr
=
DcModuleGroup
[
group_index
].
modules
[
j
].
addr
;
addr
=
DcModuleGroup
[
group_index
].
modules
[
j
].
addr
;
DcModuleGroup
[
group_index
].
modules
[
j
].
cmd
=
cmd
;
DcModuleGroup
[
group_index
].
modules
[
j
].
cmd
=
sendCmd
;
DcModuleGroup
[
group_index
].
modules
[
j
].
VoltageSet
=
volt
;
DcModuleGroup
[
group_index
].
modules
[
j
].
CurrentSet
=
current
;
DataSend
.
Id
=
0x18059FA0
;
DataSend
.
Id
=
0x18059FA0
;
DataSend
.
Len
=
8
;
DataSend
.
Len
=
8
;
DataSend
.
Data
[
0
]
=
0x10
|
sendCmd
;
DataSend
.
Data
[
0
]
=
0x10
|
sendCmd
;
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
浏览文件 @
bf30d83f
...
@@ -34,6 +34,7 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
...
@@ -34,6 +34,7 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
BmsCanInit
();
BmsCanInit
();
osDelay
(
20
);
osDelay
(
20
);
u32
ACContactorSetCount
=
0
;
//TCUCurChgRecd.TCUChargeEnable = 1;
//TCUCurChgRecd.TCUChargeEnable = 1;
while
(
1
)
while
(
1
)
{
{
...
@@ -43,11 +44,27 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
...
@@ -43,11 +44,27 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
{
{
if
(
0
==
CcStatusChkTick
)
if
(
0
==
CcStatusChkTick
)
CcStatusChkTick
=
GetSystemTick
();
CcStatusChkTick
=
GetSystemTick
();
ACContactorSetCount
=
0
;
}
}
else
else
{
{
CcStatusChkTick
=
0
;
CcStatusChkTick
=
0
;
CemMsg
.
Cem
.
Mult
=
0
;
CemMsg
.
Cem
.
Mult
=
0
;
if
(
eSwSta_Off
==
CcStatusRead_B
())
{
ACContactorSetCount
++
;
if
(
ACContactorSetCount
>
600
)
{
ACContactorSet
(
eSwSta_Off
);
ACContactorSetCount
=
601
;
}
}
else
{
ACContactorSetCount
=
0
;
}
}
}
if
((
0
!=
CcStatusChkTick
)
&&
((
GetSystemTick
()
-
CcStatusChkTick
)
>
1500
))
if
((
0
!=
CcStatusChkTick
)
&&
((
GetSystemTick
()
-
CcStatusChkTick
)
>
1500
))
...
...
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
浏览文件 @
bf30d83f
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
#include "Drv_ImdJyc.h"
#include "Drv_ImdJyc.h"
#define ImdCheckFreq (200)//ms
#define ImdCheckFreq (200)//ms
#define DcModOutTimeOut (
11
000)//ms
#define DcModOutTimeOut (
22
000)//ms
#define VoltWaitTimeOut (1000)//ms
#define VoltWaitTimeOut (1000)//ms
#define ChkWaitTimeOut (12000)//(8500)//ms
#define ChkWaitTimeOut (12000)//(8500)//ms
#define ChkTimeOut (1500)//ms
#define ChkTimeOut (1500)//ms
...
@@ -117,7 +117,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
...
@@ -117,7 +117,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
else
else
Tmep
=
DcModuleAbility
.
MinVolt
;
Tmep
=
DcModuleAbility
.
MinVolt
;
SendDataToDcModule_A
(
eSwSta_On
,
Tmep
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
SendDataToDcModule_A
(
eSwSta_On
,
Tmep
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage.ValidNum */
);
*
pImdChckStep
=
eImdStep_DcModOut
;
*
pImdChckStep
=
eImdStep_DcModOut
;
ImdTimeout
=
0
;
ImdTimeout
=
0
;
break
;
break
;
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitBmsReady.c
浏览文件 @
bf30d83f
...
@@ -29,7 +29,6 @@ void ChgProWaitBmsReady(StructChargeCtrl *pChargeCtrl)
...
@@ -29,7 +29,6 @@ void ChgProWaitBmsReady(StructChargeCtrl *pChargeCtrl)
//DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet
(
eSwSta_Off
);
DcOutSet
(
eSwSta_Off
);
DcModuleSet
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
DcModuleSet
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
CTS_Send
();
CTS_Send
();
CTS_SendTick
=
GetSystemTick
();
CTS_SendTick
=
GetSystemTick
();
if
(
0
!=
UserParam
.
ChgFun
.
Value
.
SigUniChg
)
if
(
0
!=
UserParam
.
ChgFun
.
Value
.
SigUniChg
)
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
浏览文件 @
bf30d83f
...
@@ -59,9 +59,9 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
...
@@ -59,9 +59,9 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
CRO_SendTick
=
GetSystemTick
();
CRO_SendTick
=
GetSystemTick
();
if
((
BcpMsg
.
StartVolt
>=
DcModuleAbility
.
MinVolt
)
&&
(
BcpMsg
.
StartVolt
<=
DcModuleAbility
.
MaxVolt
))
if
((
BcpMsg
.
StartVolt
>=
DcModuleAbility
.
MinVolt
)
&&
(
BcpMsg
.
StartVolt
<=
DcModuleAbility
.
MaxVolt
))
SendDataToDcModule_A
(
eSwSta_On
,
BcpMsg
.
StartVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
SendDataToDcModule_A
(
eSwSta_On
,
BcpMsg
.
StartVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage.ValidNum */
);
else
if
(
BcpMsg
.
StartVolt
<
DcModuleAbility
.
MinVolt
)
else
if
(
BcpMsg
.
StartVolt
<
DcModuleAbility
.
MinVolt
)
SendDataToDcModule_A
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
SendDataToDcModule_A
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage.ValidNum */
);
else
else
{
{
CstMsg
.
StopReason
.
Value
.
Truble
=
1
;
CstMsg
.
StopReason
.
Value
.
Truble
=
1
;
...
@@ -149,9 +149,9 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
...
@@ -149,9 +149,9 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
else
else
{
{
if
((
GetBatVoltWaitPillarReady
()
>=
DcModuleAbility
.
MinVolt
)
&&
(
GetBatVoltWaitPillarReady
()
<=
DcModuleAbility
.
MaxVolt
))
if
((
GetBatVoltWaitPillarReady
()
>=
DcModuleAbility
.
MinVolt
)
&&
(
GetBatVoltWaitPillarReady
()
<=
DcModuleAbility
.
MaxVolt
))
SendDataToDcModule_A
(
eSwSta_On
,
GetBatVoltWaitPillarReady
(),
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
SendDataToDcModule_A
(
eSwSta_On
,
GetBatVoltWaitPillarReady
(),
DcModuleAbility
.
MinCurrt
/* *DcModuleManage.ValidNum */
);
else
if
(
GetBatVoltWaitPillarReady
()
<
DcModuleAbility
.
MinVolt
)
else
if
(
GetBatVoltWaitPillarReady
()
<
DcModuleAbility
.
MinVolt
)
SendDataToDcModule_A
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
SendDataToDcModule_A
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage.ValidNum */
);
}
}
}
}
if
((
0
!=
VoltReadyTick
)
&&
((
GetSystemTick
()
-
VoltReadyTick
)
>
(
MsgTimeout_60S
)))
if
((
0
!=
VoltReadyTick
)
&&
((
GetSystemTick
()
-
VoltReadyTick
)
>
(
MsgTimeout_60S
)))
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgIdle.c
浏览文件 @
bf30d83f
...
@@ -31,7 +31,7 @@ void ChgProChgIdle_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -31,7 +31,7 @@ void ChgProChgIdle_B(StructChargeCtrl_B *pChargeCtrl)
BmsCanInit_B
();
BmsCanInit_B
();
osDelay
(
20
);
osDelay
(
20
);
u32
ACContactorSetCount
=
0
;
while
(
1
)
while
(
1
)
{
{
if
(
0
==
UserParam
.
ChgFun
.
Value
.
Num_B
)
if
(
0
==
UserParam
.
ChgFun
.
Value
.
Num_B
)
...
@@ -46,11 +46,26 @@ void ChgProChgIdle_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -46,11 +46,26 @@ void ChgProChgIdle_B(StructChargeCtrl_B *pChargeCtrl)
{
{
if
(
0
==
CcStatusChkTick
)
if
(
0
==
CcStatusChkTick
)
CcStatusChkTick
=
GetSystemTick
();
CcStatusChkTick
=
GetSystemTick
();
ACContactorSetCount
=
0
;
}
}
else
else
{
{
CcStatusChkTick
=
0
;
CcStatusChkTick
=
0
;
CemMsg_B
.
Cem
.
Mult
=
0
;
CemMsg_B
.
Cem
.
Mult
=
0
;
if
(
eSwSta_Off
==
CcStatusRead
())
{
ACContactorSetCount
++
;
if
(
ACContactorSetCount
>
600
)
{
ACContactorSet
(
eSwSta_Off
);
ACContactorSetCount
=
601
;
}
}
else
{
ACContactorSetCount
=
0
;
}
}
}
if
((
0
!=
CcStatusChkTick
)
&&
((
GetSystemTick
()
-
CcStatusChkTick
)
>
1500
))
if
((
0
!=
CcStatusChkTick
)
&&
((
GetSystemTick
()
-
CcStatusChkTick
)
>
1500
))
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ImdCheck.c
浏览文件 @
bf30d83f
...
@@ -117,7 +117,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
...
@@ -117,7 +117,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
else
else
Tmep
=
DcModuleAbility
.
MinVolt
;
Tmep
=
DcModuleAbility
.
MinVolt
;
SendDataToDcModule_B
(
eSwSta_On
,
Tmep
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
);
SendDataToDcModule_B
(
eSwSta_On
,
Tmep
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage_B.ValidNum */
);
*
pImdChckStep
=
eImdStep_DcModOut
;
*
pImdChckStep
=
eImdStep_DcModOut
;
ImdTimeout
=
0
;
ImdTimeout
=
0
;
break
;
break
;
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitPillarReady.c
浏览文件 @
bf30d83f
...
@@ -59,9 +59,9 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -59,9 +59,9 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
CRO_SendTick
=
GetSystemTick
();
CRO_SendTick
=
GetSystemTick
();
if
((
BcpMsg_B
.
StartVolt
>=
DcModuleAbility
.
MinVolt
)
&&
(
BcpMsg_B
.
StartVolt
<=
DcModuleAbility
.
MaxVolt
))
if
((
BcpMsg_B
.
StartVolt
>=
DcModuleAbility
.
MinVolt
)
&&
(
BcpMsg_B
.
StartVolt
<=
DcModuleAbility
.
MaxVolt
))
SendDataToDcModule_B
(
eSwSta_On
,
BcpMsg_B
.
StartVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
);
SendDataToDcModule_B
(
eSwSta_On
,
BcpMsg_B
.
StartVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage_B.ValidNum */
);
else
if
(
BcpMsg_B
.
StartVolt
<
DcModuleAbility
.
MinVolt
)
else
if
(
BcpMsg_B
.
StartVolt
<
DcModuleAbility
.
MinVolt
)
SendDataToDcModule_B
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
);
SendDataToDcModule_B
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage_B.ValidNum */
);
else
else
{
{
CstMsg_B
.
StopReason
.
Value
.
Truble
=
1
;
CstMsg_B
.
StopReason
.
Value
.
Truble
=
1
;
...
@@ -124,9 +124,9 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -124,9 +124,9 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
else
else
{
{
if
((
GetBatVoltWaitPillarReady_B
()
>=
DcModuleAbility
.
MinVolt
)
&&
(
GetBatVoltWaitPillarReady_B
()
<=
DcModuleAbility
.
MaxVolt
))
if
((
GetBatVoltWaitPillarReady_B
()
>=
DcModuleAbility
.
MinVolt
)
&&
(
GetBatVoltWaitPillarReady_B
()
<=
DcModuleAbility
.
MaxVolt
))
SendDataToDcModule_B
(
eSwSta_On
,
GetBatVoltWaitPillarReady_B
(),
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
);
SendDataToDcModule_B
(
eSwSta_On
,
GetBatVoltWaitPillarReady_B
(),
DcModuleAbility
.
MinCurrt
/* *DcModuleManage_B.ValidNum */
);
else
if
(
GetBatVoltWaitPillarReady_B
()
<
DcModuleAbility
.
MinVolt
)
else
if
(
GetBatVoltWaitPillarReady_B
()
<
DcModuleAbility
.
MinVolt
)
SendDataToDcModule_B
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
);
SendDataToDcModule_B
(
eSwSta_On
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
/* *DcModuleManage_B.ValidNum */
);
}
}
}
}
if
((
0
!=
VoltReadyTick
)
&&
((
GetSystemTick
()
-
VoltReadyTick
)
>
(
MsgTimeout_B_60S
)))
if
((
0
!=
VoltReadyTick
)
&&
((
GetSystemTick
()
-
VoltReadyTick
)
>
(
MsgTimeout_B_60S
)))
...
...
DcPillar/Src/Thread/Thd_TCU.c
浏览文件 @
bf30d83f
...
@@ -536,6 +536,8 @@ void CommutionRunStage(void)
...
@@ -536,6 +536,8 @@ void CommutionRunStage(void)
if
(
sendTimes
>
2000
/
500
)
if
(
sendTimes
>
2000
/
500
)
{
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
if
(
TCUCommuStatus
.
ElectLockSetValue
==
2
)
LockSet
(
eSwSta_Off
);
}
}
else
else
{
{
...
@@ -550,9 +552,11 @@ void CommutionRunStage(void)
...
@@ -550,9 +552,11 @@ void CommutionRunStage(void)
{
{
sendTimes_B
++
;
sendTimes_B
++
;
sendTick_B
=
GetSystemTick
();
sendTick_B
=
GetSystemTick
();
if
(
sendTimes
>
2000
/
500
)
if
(
sendTimes
_B
>
2000
/
500
)
{
{
TCUCommuStatus_B
.
CommStage
=
HeartStage
;
TCUCommuStatus_B
.
CommStage
=
HeartStage
;
if
(
TCUCommuStatus_B
.
ElectLockSetValue
==
2
)
LockSet_B
(
eSwSta_Off
);
}
}
else
else
{
{
...
@@ -637,11 +641,11 @@ void CommutionRunStage(void)
...
@@ -637,11 +641,11 @@ void CommutionRunStage(void)
{
{
if
(
GetSystemTick
()
-
sendTick_B
>=
500
)
if
(
GetSystemTick
()
-
sendTick_B
>=
500
)
{
{
sendTimes
_B
++
;
sendTimes
++
;
sendTick
_B
=
GetSystemTick
();
sendTick
=
GetSystemTick
();
if
(
sendTimes
_B
>
2000
/
500
)
if
(
sendTimes
>
2000
/
500
)
{
{
TCUCommuStatus
_B
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
else
else
{
{
...
@@ -690,20 +694,21 @@ void TCUCurChgRecordInterface_A(void)
...
@@ -690,20 +694,21 @@ void TCUCurChgRecordInterface_A(void)
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250UL
)
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250UL
)
{
{
ChgStartSendTick
=
GetSystemTick
();
ChgStartSendTick
=
GetSystemTick
();
ChgStartSendEcount
++
;
if
(
ChgStartSendEcount
<
8
)
//2S
if
(
ChgStartSendEcount
<
8
)
//2S
{
{
ChgStartSendEcount
++
;
StartMegAck_A
();
//启动帧发送
StartMegAck_A
();
//启动帧发送
}
}
else
else
{
{
TCUCurChgRecd
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd
.
StarChgResult
=
0
;
}
}
}
}
}
}
else
else
{
{
ChgStartSendTick
=
GetSystemTick
()
;
ChgStartSendTick
=
0
;
ChgStartSendEcount
=
0
;
ChgStartSendEcount
=
0
;
}
}
...
@@ -721,47 +726,34 @@ void TCUCurChgRecordInterface_A(void)
...
@@ -721,47 +726,34 @@ void TCUCurChgRecordInterface_A(void)
{
//超时大于,保存
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus
.
ErrData
.
Value
.
startCompAck
=
1
;
TCUCommuStatus
.
ErrData
.
Value
.
startCompAck
=
1
;
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
3
;
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
0
;
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//超时停机
ChgStartCompSendEcount
=
0
;
}
}
}
}
}
}
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
3
)
{
TCUCurChgRecd
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd
.
StarChgType
=
0
;
}
else
else
{
{
TCUCurChgRecd
.
TCUStartCompresult
=
0
;
//
//TCUCurChgRecd.StarChgType = 0;
ChgStartCompSendEcount
=
0
;
ChgStartCompSendEcount
=
0
;
ChgRecordSendTick
=
GetSystemTick
()
;
ChgRecordSendTick
=
0
;
}
}
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
//停止帧逻辑
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
{
StopMegAck_A
();
//停止帧发送
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStopNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
2
)
{
{
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250UL
)
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250UL
)
{
{
ChgStopSendTick
=
GetSystemTick
();
ChgStopSendTick
=
GetSystemTick
();
ChgStopSendEcount
++
;
if
(
ChgStopSendEcount
<
8
)
if
(
ChgStopSendEcount
<
8
)
{
{
ChgStopSendEcount
++
;
StopMegAck_A
();
StopMegAck_A
();
}
}
else
else
{
{
ChgStopSendTick
=
0
;
TCUCurChgRecd
.
TCUChgStopNotetrl
=
0
;
//停止发送
TCUCurChgRecd
.
TCUChgStopNotetrl
=
0
;
//停止发送
ChgStopSendEcount
=
0
;
if
(
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
0
if
(
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
0
&&
ChargeCtrl
.
CurProcess
==
eChgPro_ChgIdle
&&
ChargeCtrl
.
CurProcess
==
eChgPro_ChgIdle
&&
TCUCtrl
.
CurScreen
==
eLcdPro_TCUMainMenu
)
&&
TCUCtrl
.
CurScreen
==
eLcdPro_TCUMainMenu
)
...
@@ -771,40 +763,40 @@ void TCUCurChgRecordInterface_A(void)
...
@@ -771,40 +763,40 @@ void TCUCurChgRecordInterface_A(void)
}
}
}
}
}
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
1
)
//停止完成帧逻辑
else
/*&& (0 != TCUCurChgRecd.TCUChargeEnable)*/
)
{
{
stopCompSend_A
();
ChgStopSendTick
=
0
;
ChgRecordSendTick
=
GetSystemTick
();
ChgStopSendEcount
=
0
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
2
;
ChgRecordSendErr
=
0
;
}
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
2
)
/*&& (0 != TCUCurChgRecd.TCUChargeEnable)*/
)
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
1
)
//停止完成帧逻辑
/*&& (0 != TCUCurChgRecd.TCUChargeEnable)*/
)
{
{
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250UL
))
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250UL
))
{
{
ChgRecordSendErr
++
;
ChgRecordSendErr
++
;
ChgRecordSendTick
=
GetSystemTick
();
if
(
ChgRecordSendErr
<
20
)
//超时5S
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
{
//超时小于20次
stopCompSend_A
();
stopCompSend_A
();
ChgRecordSendTick
=
GetSystemTick
();
}
}
else
else
{
//超时大于,保存
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag
=
1
;
TCUCommuStatus
.
ConEMSendFlag
=
1
;
TCUCommuStatus
.
ErrData
.
Value
.
stopCompAck
=
1
;
TCUCommuStatus
.
ErrData
.
Value
.
stopCompAck
=
1
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
3
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
3
;
ChgRecordSendErr
=
0
;
}
}
}
}
}
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
3
)
/*&& (0 != TCUCurChgRecd.TCUChargeEnable)*/
)
else
if
(
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
3
)
{
{
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd
.
TCUChgStopType
=
0
;
TCUCurChgRecd
.
TCUChgStopType
=
0
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
0
;
}
else
{
ChgRecordSendTick
=
0
;
ChgRecordSendErr
=
0
;
ChgRecordSendErr
=
0
;
}
}
}
}
...
@@ -823,126 +815,111 @@ void TCUCurChgRecordInterface_B(void)
...
@@ -823,126 +815,111 @@ void TCUCurChgRecordInterface_B(void)
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
{
{
StartMegAck_B
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250UL
)
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250UL
)
{
{
ChgStartSendTick
=
GetSystemTick
();
ChgStartSendTick
=
GetSystemTick
();
ChgStartSendEcount
++
;
if
(
ChgStartSendEcount
<
8
)
//2S
if
(
ChgStartSendEcount
<
8
)
//2S
{
{
ChgStartSendEcount
++
;
StartMegAck_B
();
//启动帧发送
StartMegAck_B
();
//启动帧发送
}
}
else
else
{
{
ChgStartSendTick
=
0
;
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd_B
.
StarChgResult
=
0
;
ChgStartSendEcount
=
0
;
if
(
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
0
&&
ChargeCtrl_B
.
CurProcess
==
eChgPro_ChgIdle
&&
TCUCtrl_B
.
CurScreen
==
eLcdPro_TCUMainMenu
)
{
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
1
;
}
}
}
}
}
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
1
)
else
{
{
startCompSend_B
();
ChgStartSendTick
=
0
;
ChgStartCompSendTick
=
GetSystemTick
();
ChgStartSendEcount
=
0
;
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
2
;
ChgStartCompSendEcount
=
0
;
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
2
)
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
1
)
{
{
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250UL
))
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250UL
))
{
{
ChgStartCompSendEcount
++
;
ChgStartCompSendEcount
++
;
ChgRecordSendTick
=
GetSystemTick
();
if
(
ChgRecordSendErr
<
20
)
//超时5S
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
{
//超时小于20次
startCompSend_B
();
startCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
}
}
else
else
{
//超时大于,保存
{
//超时大于,保存
TCUCommuStatus_B
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus_B
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus_B
.
ErrData
.
Value
.
startCompAck
=
1
;
TCUCommuStatus_B
.
ErrData
.
Value
.
startCompAck
=
1
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
3
;
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
0
;
ChgStartCompSendEcount
=
0
;
}
}
}
}
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
3
)
else
{
{
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
//TCUCurChgRecd_B.StarChgType = 0;
TCUCurChgRecd_B
.
StarChgType
=
0
;
ChgStartCompSendEcount
=
0
;
ChgStartCompSendEcount
=
0
;
ChgRecordSendTick
=
0
;
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStopNotetrl
==
1
)
{
if
(
TCUCurChgRecd_B
.
TCUChgStopNotetrl
==
1
)
StopMegAck_B
();
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStopNotetrl
==
2
)
{
{
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250UL
)
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250UL
)
{
{
ChgStopSendTick
=
GetSystemTick
();
ChgStopSendTick
=
GetSystemTick
();
ChgStopSendEcount
++
;
if
(
ChgStopSendEcount
<
8
)
if
(
ChgStopSendEcount
<
8
)
{
{
ChgStopSendEcount
++
;
StopMegAck_B
();
StopMegAck_B
();
}
}
else
else
{
{
ChgStopSendTick
=
0
;
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
0
;
//停止发送
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
0
;
//停止发送
ChgStopSendEcount
=
0
;
if
(
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
0
&&
ChargeCtrl_B
.
CurProcess
==
eChgPro_ChgIdle
&&
TCUCtrl_B
.
CurScreen
==
eLcdPro_TCUMainMenu
)
{
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
1
;
}
}
}
}
}
}
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
1
)
/* && (0 != TCUCurChgRecd_B.TCUChargeEnable)*/
)
else
{
{
stopCompSend_B
();
ChgStopSendTick
=
0
;
ChgRecordSendTick
=
GetSystemTick
();
ChgStopSendEcount
=
0
;
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
2
;
}
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
2
)
/* && (0 != TCUCurChgRecd_B.TCUChargeEnable)*/
)
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
1
)
/* && (0 != TCUCurChgRecd_B.TCUChargeEnable)*/
)
{
{
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250UL
))
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250UL
))
{
{
ChgRecordSendErr
++
;
ChgRecordSendErr
++
;
ChgRecordSendTick
=
GetSystemTick
();
if
(
ChgRecordSendErr
<
20
)
//超时5S
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
{
//超时小于20次
stopCompSend_B
();
stopCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
}
}
else
else
{
//超时大于,保存
{
//超时大于,保存
TCUCommuStatus_B
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus_B
.
ConEMSendFlag
=
1
;
//错误帧发送
TCUCommuStatus_B
.
ErrData
.
Value
.
stopCompAck
=
1
;
TCUCommuStatus_B
.
ErrData
.
Value
.
stopCompAck
=
1
;
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
3
;
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
3
;
ChgRecordSendErr
=
0
;
}
}
}
}
}
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
3
)
/* && (0 != TCUCurChgRecd_B.TCUChargeEnable)*/
)
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
3
)
/* && (0 != TCUCurChgRecd_B.TCUChargeEnable)*/
)
{
{
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
TCUChgStopType
=
0
;
TCUCurChgRecd_B
.
TCUChgStopType
=
0
;
}
else
{
ChgRecordSendErr
=
0
;
ChgRecordSendErr
=
0
;
ChgRecordSendTick
=
0
;
}
}
}
}
...
...
DcPillar/Src/Thread/Thd_TCU.h
浏览文件 @
bf30d83f
...
@@ -55,6 +55,7 @@ typedef struct {
...
@@ -55,6 +55,7 @@ typedef struct {
u8
ChargingServiceSetValue
;
//保留下发设置值
u8
ChargingServiceSetValue
;
//保留下发设置值
u8
ServiceContralVaildValue
;
//服务控制下发失败原因 0成功
u8
ServiceContralVaildValue
;
//服务控制下发失败原因 0成功
u8
ElectLockNum
;
u8
ElectLockSetValue
;
//保留下发设置值
u8
ElectLockSetValue
;
//保留下发设置值
u8
ElectLockVaildValue
;
//电子锁控制下发失败原因 0成功
u8
ElectLockVaildValue
;
//电子锁控制下发失败原因 0成功
...
...
DcPillar/Src/Thread/Thd_TcuControl.c
浏览文件 @
bf30d83f
...
@@ -99,7 +99,7 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
...
@@ -99,7 +99,7 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
if
(
TCUCurChgRecd
.
StarChgResult
==
1
)
//允许启动
if
(
TCUCurChgRecd
.
StarChgResult
==
1
)
//允许启动
{
{
TCUCurChgRecd
.
TCUChargeEnable
=
1
;
TCUCurChgRecd
.
TCUChargeEnable
=
1
;
if
(
StartMeg_A
.
PlugToChgFlag
)
if
(
StartMeg_A
.
StarChgType
)
{
{
TCUCurChgRecd
.
TCUChargeEnable
=
2
;
TCUCurChgRecd
.
TCUChargeEnable
=
2
;
PlugToChgTick
=
GetSystemTick
();
PlugToChgTick
=
GetSystemTick
();
...
@@ -125,7 +125,7 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
...
@@ -125,7 +125,7 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
if
(
TCUCurChgRecd_B
.
StarChgResult
==
1
)
//允许启动
if
(
TCUCurChgRecd_B
.
StarChgResult
==
1
)
//允许启动
{
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
1
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
1
;
if
(
StartMeg_B
.
PlugToChgFlag
)
if
(
StartMeg_B
.
StarChgType
)
{
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
2
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
2
;
PlugToChgTick_B
=
GetSystemTick
();
PlugToChgTick_B
=
GetSystemTick
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论