Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
2c72f8cf
提交
2c72f8cf
authored
5月 25, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
车辆验证
上级
1767d463
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
227 行增加
和
116 行删除
+227
-116
Drv_TCUComm.c
DcPillar/Src/Drivers/Drv_TCUComm.c
+72
-14
ChgPro_ChgRecognize.c
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognize.c
+10
-2
ChgPro_ChgRecognizeEx.c
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognizeEx.c
+11
-2
Thd_TCU.c
DcPillar/Src/Thread/Thd_TCU.c
+13
-16
Thd_TCU.h
DcPillar/Src/Thread/Thd_TCU.h
+81
-80
Thd_TcuControl.c
DcPillar/Src/Thread/Thd_TcuControl.c
+38
-2
Thd_TcuControl.h
DcPillar/Src/Thread/Thd_TcuControl.h
+2
-0
没有找到文件。
DcPillar/Src/Drivers/Drv_TCUComm.c
浏览文件 @
2c72f8cf
...
...
@@ -631,6 +631,11 @@ void StartMeg(StructTCUSend * pPgnRecv)
//24V
BMS_24V_Set
(
eSwSta_On
);
}
if
(
StartMeg_A
.
PlugToChgFlag
==
1
)
{
TCUCurChgRecd
.
VehicleVerification
=
0
;
}
}
else
{
...
...
@@ -678,6 +683,11 @@ void StartMeg(StructTCUSend * pPgnRecv)
//24V
BMS_24V_Set_B
(
eSwSta_On
);
}
if
(
StartMeg_B
.
PlugToChgFlag
==
1
)
{
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
}
}
else
{
...
...
@@ -992,20 +1002,20 @@ u8 AllowDTUStartCompCharge(u8 * Reason)
*
Reason
=
0x24
;
//24H:BCP 报文接收超时
else
if
(
CemMsg
.
Cem
.
Value
.
Bro
==
1
)
*
Reason
=
0x27
;
//27H:BRO 报文(0xAA)接收超时
else
if
((
CemMsg
.
Cem
.
Value
.
Bro
!=
0
)
||
(
ChargeStopType
!=
0
))
*
Reason
=
0x28
;
//
else if ((CemMsg.Cem.Value.Bro != 0) || (ChargeStopType != 0))
//
*Reason = 0x28;
else
if
(
CemMsg
.
Cem
.
Value
.
Bcl
==
1
)
*
Reason
=
0x29
;
//29H:BCL报文接收超时
else
if
(
CemMsg
.
Cem
.
Value
.
Bcs
==
1
)
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
else
if
((
VerificaInfo
.
result
==
1
)
&&
(
StartMeg_A
.
PlugToChgFlag
==
1
))
*
Reason
=
0x3
D
;
//3DH: 车辆验证确认帧超时
*
Reason
=
0x3
F
;
//3DH: 车辆验证确认帧超时
else
if
(
TCUCommuStatus
.
ErrData
.
Value
.
verificationAck
==
1
)
*
Reason
=
0x3
F
;
//3FH:车辆鉴权不通过
*
Reason
=
0x3
D
;
//3FH:车辆鉴权不通过
else
if
(
TCUCurChgRecd
.
TCUStartCompresult
==
2
)
*
Reason
=
0x01
;
//控制导引故障
else
*
Reason
=
0x
28
;
//其他故障
*
Reason
=
0x
FF
;
//其他故障
return
FALSE
;
}
...
...
@@ -1062,20 +1072,20 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason)
*
Reason
=
0x24
;
else
if
(
CemMsg_B
.
Cem
.
Value
.
Bro
==
1
)
*
Reason
=
0x27
;
else
if
((
CemMsg_B
.
Cem
.
Value
.
Bro
!=
0
)
||
(
ChargeStopType_B
!=
0
))
*
Reason
=
0x28
;
//
else if ((CemMsg_B.Cem.Value.Bro != 0) || (ChargeStopType_B != 0))
//
*Reason = 0x28;
else
if
(
CemMsg_B
.
Cem
.
Value
.
Bcl
==
1
)
*
Reason
=
0x29
;
//29H:BCL报文接收超时
else
if
(
CemMsg_B
.
Cem
.
Value
.
Bcs
==
1
)
*
Reason
=
0x2A
;
//2AH:BCS报文接收超时
else
if
((
VerificaInfo_B
.
result
==
1
)
&&
(
StartMeg_B
.
PlugToChgFlag
==
1
))
*
Reason
=
0x3D
;
else
if
(
TCUCommuStatus_B
.
ErrData
.
Value
.
verificationAck
==
1
)
*
Reason
=
0x3F
;
else
if
(
TCUCommuStatus_B
.
ErrData
.
Value
.
verificationAck
==
1
)
*
Reason
=
0x3D
;
else
if
(
TCUCurChgRecd_B
.
TCUStartCompresult
==
2
)
*
Reason
=
0x01
;
//控制导引故障
else
*
Reason
=
0x
28
;
//其他故障
*
Reason
=
0x
FF
;
//其他故障
return
FALSE
;
}
...
...
@@ -2849,7 +2859,7 @@ void verification(void)
memcpy
(
&
data
[
len
],
&
BrmMsg
.
ChgCount
,
3
);
len
+=
3
;
memcpy
(
&
data
[
len
],
&
BcpMsg
.
StartSoc
,
2
);
len
+=
3
;
len
+=
2
;
memcpy
(
&
data
[
len
],
&
BcpMsg
.
StartVolt
,
2
);
len
+=
2
;
TCUMultiPackSendMsg
(
data
,
len
,
eCmd_verification
,
6
,
ChargerCont1939Addr
);
...
...
@@ -2870,7 +2880,7 @@ void verification_B(void)
memcpy
(
&
data
[
len
],
&
BrmMsg_B
.
ChgCount
,
3
);
len
+=
3
;
memcpy
(
&
data
[
len
],
&
BcpMsg_B
.
StartSoc
,
2
);
len
+=
3
;
len
+=
2
;
memcpy
(
&
data
[
len
],
&
BcpMsg_B
.
StartVolt
,
2
);
len
+=
2
;
TCUMultiPackSendMsg
(
data
,
len
,
eCmd_verification
,
6
,
ChargerCont1939Addr_B
);
...
...
@@ -2884,11 +2894,15 @@ void verificationAck(StructTCUSend * pPgnRecv)
{
VerificaInfo
.
result
=
pPgnRecv
->
Data
[
1
];
VerificaInfo
.
FailReason
=
pPgnRecv
->
Data
[
2
];
TCUCurChgRecd
.
VehicleVerification
=
2
;
}
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
{
VerificaInfo_B
.
result
=
pPgnRecv
->
Data
[
1
];
VerificaInfo_B
.
FailReason
=
pPgnRecv
->
Data
[
2
];
TCUCurChgRecd_B
.
VehicleVerification
=
2
;
}
}
...
...
@@ -2925,7 +2939,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
{
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr
)
{
memcpy
(
&
TCUChgContralTCUEM_A
.
tcuem
,
&
pPgnRecv
->
Data
[
1
],
2
);
memcpy
(
&
TCUChgContralTCUEM_A
.
tcuem
,
&
pPgnRecv
->
Data
[
1
],
3
);
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
TCUCommuStatus
.
ConnectFlag
=
CONNECT_TIMEOUT
;
...
...
@@ -2935,7 +2949,7 @@ void TCUErroCommAnalysis(StructTCUSend * pPgnRecv)
}
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
{
memcpy
(
&
TCUChgContralTCUEM_B
.
tcuem
,
&
pPgnRecv
->
Data
[
1
],
2
);
memcpy
(
&
TCUChgContralTCUEM_B
.
tcuem
,
&
pPgnRecv
->
Data
[
1
],
3
);
memset
(
&
TCUCommuStatus_B
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
TCUCommuStatus_B
.
ConnectFlag
=
CONNECT_TIMEOUT
;
...
...
@@ -3063,4 +3077,48 @@ void StartDownloadAck(u8 ChgNum)
}
}
void
VehicleVerificationHandle
(
void
)
{
static
u32
VehicleVerificationTick
=
0
;
static
u8
VehicleVerificationCount
=
0
;
if
(
1
==
TCUCurChgRecd
.
VehicleVerification
)
{
if
(
GetSystemTick
()
-
VehicleVerificationTick
>=
1000
)
{
VehicleVerificationTick
=
GetSystemTick
();
VehicleVerificationCount
++
;
if
(
VehicleVerificationCount
<=
30
)
{
verification
();
}
else
{
TCUCurChgRecd
.
VehicleVerification
=
0
;
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
TCUCommuStatus
.
ErrData
.
Value
.
verificationAck
=
1
;
TCUCommuStatus
.
ConEMSendFlag
=
1
;
//错误帧发送
}
}
}
else
if
(
2
==
TCUCurChgRecd
.
VehicleVerification
)
{
if
(
VerificaInfo
.
result
)
{
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
}
else
{
TCUCurChgRecd
.
TCUChargeEnable
=
1
;
}
TCUCurChgRecd
.
VehicleVerification
=
0
;
}
else
{
VehicleVerificationTick
=
GetSystemTick
();
VehicleVerificationCount
=
0
;
}
}
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognize.c
浏览文件 @
2c72f8cf
...
...
@@ -57,8 +57,16 @@ void ChgProChgRecognize(StructChargeCtrl *pChargeCtrl)
if
(
0
!=
BrmMsg
.
Valid
)
{
//接收到Brm
pChargeCtrl
->
CurProcess
=
eChgPro_ChgConfigure
;
pChargeCtrl
->
Param
=
0
;
if
(
1
==
TCUCurChgRecd
.
TCUChargeEnable
)
{
pChargeCtrl
->
CurProcess
=
eChgPro_ChgConfigure
;
pChargeCtrl
->
Param
=
0
;
}
else
if
(
2
==
TCUCurChgRecd
.
TCUChargeEnable
)
{
if
(
TCUCurChgRecd
.
VehicleVerification
==
0
)
TCUCurChgRecd
.
VehicleVerification
=
1
;
}
}
else
if
((
GetSystemTick
()
-
BrmMsg
.
RecvTick
)
>
(
MsgTimeout_5S
))
{
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognizeEx.c
浏览文件 @
2c72f8cf
...
...
@@ -57,8 +57,17 @@ void ChgProChgRecognizeEx(StructChargeCtrl *pChargeCtrl)
if
(
0
!=
BrmMsg
.
Valid
)
{
//接收到Brm
pChargeCtrl
->
CurProcess
=
eChgPro_ChgConfigure
;
pChargeCtrl
->
Param
=
0
;
if
(
1
==
TCUCurChgRecd
.
TCUChargeEnable
)
{
pChargeCtrl
->
CurProcess
=
eChgPro_ChgConfigure
;
pChargeCtrl
->
Param
=
0
;
}
else
if
(
2
==
TCUCurChgRecd
.
TCUChargeEnable
)
{
if
(
TCUCurChgRecd
.
VehicleVerification
==
0
)
TCUCurChgRecd
.
VehicleVerification
=
1
;
}
}
else
if
((
GetSystemTick
()
-
BrmMsg
.
RecvTick
)
<
(
MsgTimeout_5S
/
2
))
{
...
...
DcPillar/Src/Thread/Thd_TCU.c
浏览文件 @
2c72f8cf
...
...
@@ -678,14 +678,9 @@ void TCUCurChgRecordInterface_A(void)
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
{
StartMegAck_A
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStartNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250UL
)
{
ChgStartSendTick
=
GetSystemTick
();
if
(
ChgStartSendEcount
<
8
)
//2S
{
ChgStartSendEcount
++
;
...
...
@@ -693,28 +688,25 @@ void TCUCurChgRecordInterface_A(void)
}
else
{
ChgStartSendTick
=
0
;
TCUCurChgRecd
.
TCUChgStartNotetrl
=
0
;
//停止发送
ChgStartSendEcount
=
0
;
}
}
}
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
1
)
else
{
startCompSend_A
();
ChgStartCompSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
2
;
ChgStartSendTick
=
GetSystemTick
();
ChgStartSendEcount
=
0
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
2
)
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
1
)
{
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250UL
))
{
ChgRecordSendTick
=
GetSystemTick
();
ChgStartCompSendEcount
++
;
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
startCompSend_A
();
ChgRecordSendTick
=
GetSystemTick
();
}
else
{
//超时大于,保存
...
...
@@ -732,9 +724,14 @@ void TCUCurChgRecordInterface_A(void)
TCUCurChgRecd
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd
.
StarChgType
=
0
;
}
else
{
ChgStartCompSendEcount
=
0
;
ChgRecordSendTick
=
GetSystemTick
();
}
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
//停止帧逻辑
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
//停止帧逻辑
{
StopMegAck_A
();
//停止帧发送
ChgStopSendTick
=
GetSystemTick
();
...
...
DcPillar/Src/Thread/Thd_TCU.h
浏览文件 @
2c72f8cf
#ifndef __THD_TCU_H__
#define __THD_TCU_H__
#include "Global.h"
#include "Drv_TCUComm.h"
#include "Thd_TcuControl.h"
#define CONNECT_NORMAL 0
#define CONNECT_TIMEOUT 1
typedef
enum
{
HeartStage
=
0
,
//心跳阶段默认
VersionStage
=
1
,
ChageParamStage
=
2
,
TimeStage
=
3
,
ServiceContralStage
=
4
,
ElectLockStage
=
5
,
PowerControlStage
=
6
,
ChgInfornQueryStage
=
7
,
StartDownloadStage
=
8
,
}
EnumTCUCommStage
;
typedef
union
{
u16
Mult
;
struct
{
u32
startCompAck
:
1
;
//充电启动完成状态确认超时
u32
stopCompAck
:
1
;
//充电停止完成状态确认超时
u32
DCTCUInfor
:
1
;
//遥信报文接收超时
u32
DCTCUMeasu
:
1
;
//遥测报文接收超时
u32
Param
:
1
;
//下发充电参数报文接收超时
//接收请求发送数据帧超时
//接收数据发送帧超时
//接收程序校验命令帧超时
//接收立即复位命令帧超时
//车辆验证确认帧接收超时
u32
verificationAck
:
1
;
//
}
Value
;
}
UnionConEM
;
typedef
struct
{
EnumTCUCommStage
CommStage
;
u8
VerChkVaild
;
u8
ParamVaild
;
u8
ChargingServiceSetValue
;
//保留下发设置值
u8
ServiceContralVaildValue
;
//服务控制下发失败原因 0成功
u8
ElectLockSetValue
;
//保留下发设置值
u8
ElectLockVaildValue
;
//电子锁控制下发失败原因 0成功
u8
PowerControltype
;
u16
PowerControlParam
;
u8
PowerControlVaildValue
;
//功率调节失败原因
u8
ConnectFlag
;
//0 未连接 其他已连接
u8
HeartBeatVaild
;
//接收心跳有效标志位
u8
HeartBeatErrCnt
;
u16
HeartBeatNumCnt
;
u16
HeartBeatLoseCnt
;
u32
DCMeasuErrCnt
;
UnionConEM
ErrData
;
u8
ConEMSendFlag
;
}
StructTCUCommuStatus
;
typedef
struct
{
u8
HeartPeriod
;
//秒
u8
HeartErrCntMax
;
//次
u8
HeartTimeout
;
//秒
u16
SignInPeriod
;
//分钟
}
StructTCUCommuParam
;
#define CONNECT_NORMAL 0
#define CONNECT_TIMEOUT 1
typedef
enum
{
HeartStage
=
0
,
//心跳阶段默认
VersionStage
=
1
,
ChageParamStage
=
2
,
TimeStage
=
3
,
ServiceContralStage
=
4
,
ElectLockStage
=
5
,
PowerControlStage
=
6
,
ChgInfornQueryStage
=
7
,
StartDownloadStage
=
8
,
}
EnumTCUCommStage
;
typedef
union
{
u16
Mult
;
struct
{
u32
startCompAck
:
1
;
//充电启动完成状态确认超时
u32
stopCompAck
:
1
;
//充电停止完成状态确认超时
u32
DCTCUInfor
:
1
;
//遥信报文接收超时
u32
DCTCUMeasu
:
1
;
//遥测报文接收超时
u32
Param
:
1
;
//下发充电参数报文接收超时
u32
DataRequestSend
:
1
;
//接收请求发送数据帧超时
u32
DataSend
:
1
;
//接收数据发送帧超时
u32
ProgramVerification
:
1
;
//接收程序校验命令帧超时
u32
reset
:
1
;
//接收立即复位命令帧超时
u32
verificationAck
:
1
;
// 车辆验证确认帧接收超时
}
Value
;
}
UnionConEM
;
typedef
struct
{
EnumTCUCommStage
CommStage
;
u8
VerChkVaild
;
u8
ParamVaild
;
u8
ChargingServiceSetValue
;
//保留下发设置值
u8
ServiceContralVaildValue
;
//服务控制下发失败原因 0成功
u8
ElectLockSetValue
;
//保留下发设置值
u8
ElectLockVaildValue
;
//电子锁控制下发失败原因 0成功
u8
PowerControltype
;
u16
PowerControlParam
;
u8
PowerControlVaildValue
;
//功率调节失败原因
u8
ConnectFlag
;
//0 未连接 其他已连接
u8
HeartBeatVaild
;
//接收心跳有效标志位
u8
HeartBeatErrCnt
;
u16
HeartBeatNumCnt
;
u16
HeartBeatLoseCnt
;
u32
DCMeasuErrCnt
;
UnionConEM
ErrData
;
u8
ConEMSendFlag
;
}
StructTCUCommuStatus
;
typedef
struct
{
u8
HeartPeriod
;
//秒
u8
HeartErrCntMax
;
//次
u8
HeartTimeout
;
//秒
u16
SignInPeriod
;
//分钟
}
StructTCUCommuParam
;
extern
StructTCUCommuStatus
TCUCommuStatus
;
extern
StructTCUCommuStatus
TCUCommuStatus_B
;
extern
void
TCUComm
(
void
const
*
argument
);
extern
void
TCUComm
(
void
const
*
argument
);
#endif
DcPillar/Src/Thread/Thd_TcuControl.c
浏览文件 @
2c72f8cf
...
...
@@ -4,7 +4,8 @@
#include "Thd_TcuControl.h"
StructTCUCtrl
TCUCtrl
;
u32
PlugToChgTick
=
0
;
u32
PlugToChgTick_B
=
0
;
StructTCUChgRecd
TCUCurChgRecd
=
{
0
};
StructTCUChgRecd
TCUCurChgRecd_B
=
{
0
};
...
...
@@ -83,6 +84,11 @@ void TCUProPrstart(StructTCUCtrl *pLcdCtrl)
if
(
TCUCurChgRecd
.
StarChgResult
==
1
)
//允许启动
{
TCUCurChgRecd
.
TCUChargeEnable
=
1
;
if
(
StartMeg_A
.
PlugToChgFlag
)
{
TCUCurChgRecd
.
TCUChargeEnable
=
2
;
PlugToChgTick
=
GetSystemTick
();
}
pLcdCtrl
->
CurScreen
=
eLcdPro_TCUBuildComm
;
TCUCurChgRecd
.
StarChgResult
=
0
;
}
...
...
@@ -103,6 +109,11 @@ void TCUProPrstart_B(StructTCUCtrl *pLcdCtrl)
if
(
TCUCurChgRecd_B
.
StarChgResult
==
1
)
//允许启动
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
1
;
if
(
StartMeg_B
.
PlugToChgFlag
)
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
2
;
PlugToChgTick_B
=
GetSystemTick
();
}
pLcdCtrl
->
CurScreen
=
eLcdPro_TCUBuildComm_B
;
TCUCurChgRecd_B
.
StarChgResult
=
0
;
}
...
...
@@ -138,7 +149,21 @@ void TCUBuildComm(StructTCUCtrl *pLcdCtrl)
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
1
;
//开始完成帧发送标志
pLcdCtrl
->
CurScreen
=
GetTCUProcess
(
eLcdPro_TCUMainMenu
);
pLcdCtrl
->
Param
=
0
;
break
;
break
;
/*case eChgPro_ChgRecognize:
case eChgPro_ChgRecognizeEx:
if(GetSystemTick()- PlugToChgTick >= 30 *1000)
{
TCUCurChgRecd.TCUStartCompresult = 2;//失败
TCUCurChgRecd.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
TCUCurChgRecd.TCUChargeEnable = 0;
TCUCommuStatus.ErrData.Value.verificationAck = 1;
TCUCurChgRecd.VehicleVerification = 0;
TCUCommuStatus.ConEMSendFlag = 1; //错误帧发送
}
break;*/
default:
break
;
}
...
...
@@ -168,6 +193,17 @@ void TCUBuildComm_B(StructTCUCtrl *pLcdCtrl)
pLcdCtrl
->
CurScreen
=
GetTCUProcess
(
eLcdPro_TCUMainMenu
);
pLcdCtrl
->
Param
=
0
;
break
;
/*case eChgPro_ChgRecognize:
case eChgPro_ChgRecognizeEx:
if(GetSystemTick()- PlugToChgTick_B >= 30 *1000)
{
TCUCurChgRecd_B.TCUStartCompresult = 2;//失败
TCUCurChgRecd_B.TCUChgStarCompNotetrl =1;//开始完成帧发送标志
pLcdCtrl->CurScreen = GetTCUProcess(eLcdPro_TCUMainMenu);
pLcdCtrl->Param = 0;
TCUCommuStatus_B.ErrData.Value.verificationAck = 1;
}
break;*/
default:
break
;
}
...
...
DcPillar/Src/Thread/Thd_TcuControl.h
浏览文件 @
2c72f8cf
...
...
@@ -63,6 +63,8 @@ typedef struct{
u8
TCUChgStopNotetrl
;
//停机标识
u8
TCUChgStopCompNotetrl
;
//充电开始状态上传 0不需要发送 1等待发送 2已发送 3已回复
u8
VehicleVerification
;
//车辆验证
}
StructTCUChgRecd
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论