Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
da0c4803
提交
da0c4803
authored
6月 07, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复tcu通信的一些问题;绝缘检测待解决
上级
bf30d83f
全部展开
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
28 行增加
和
35 行删除
+28
-35
Drv_TCUComm.c
DcPillar/Src/Drivers/Drv_TCUComm.c
+6
-4
ChgPro_ImdCheck.c
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
+1
-1
Thd_Mult.c
DcPillar/Src/Thread/Thd_Mult.c
+10
-20
Thd_TCU.c
DcPillar/Src/Thread/Thd_TCU.c
+0
-0
Thd_TCU.h
DcPillar/Src/Thread/Thd_TCU.h
+11
-10
没有找到文件。
DcPillar/Src/Drivers/Drv_TCUComm.c
浏览文件 @
da0c4803
...
...
@@ -1804,14 +1804,14 @@ void AckTCUHeartBeat(StructTCUSend * pPgnRecv)
{
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
ConnectFlag
=
CONNECT_NORMAL
;
//tcu检测控制器心跳状态
TCUCommuStatus
.
HeartBeatVaild
=
1
;
//控制器检测tcu心跳状态
//
TCUCommuStatus.HeartBeatVaild = 1; //控制器检测tcu心跳状态
}
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
{
TCUCommuStatus_B
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus_B
.
ConnectFlag
=
CONNECT_NORMAL
;
//tcu检测控制器心跳状态
TCUCommuStatus_B
.
HeartBeatVaild
=
1
;
//控制器检测tcu心跳状态
//
TCUCommuStatus_B.HeartBeatVaild = 1; //控制器检测tcu心跳状态
}
}
...
...
@@ -1945,11 +1945,13 @@ void TCUParam(StructTCUSend * pPgnRecv)
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr
)
{
TCUCommuStatus
.
CommStage
=
ChageParamStage
;
TCUCommuStatus
.
ParamVaild
=
1
;
memcpy
(
TCUControlInfo
.
ChargeNum
,
&
pPgnRecv
->
Data
[
0
],
8
);
}
else
if
(
pPgnRecv
->
DA
==
ChargerCont1939Addr_B
)
{
TCUCommuStatus_B
.
CommStage
=
ChageParamStage
;
TCUCommuStatus_B
.
ParamVaild
=
1
;
memcpy
(
TCUControlInfo
.
ChargeNum
,
&
pPgnRecv
->
Data
[
0
],
8
);
}
}
...
...
@@ -2016,7 +2018,7 @@ void SerConAckAnalysis(StructTCUSend * pPgnRecv)
if
((
pPgnRecv
->
Data
[
1
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
1
]
!=
0x02
))
TCUCommuStatus
.
ServiceContralVaildValue
=
1
;
//数据合法性校验失败
else
if
((
TCUCommuStatus
.
ConnectFlag
==
CONNECT_TIMEOUT
)
||
(
TCUCommuStatus
.
HeartBeatVaild
)
)
else
if
((
TCUCommuStatus
.
ConnectFlag
==
CONNECT_TIMEOUT
)
/* || (TCUCommuStatus.HeartBeatVaild)*/
)
TCUCommuStatus
.
ServiceContralVaildValue
=
2
;
//通讯超时
else
if
(
TCUCommuStatus
.
VerChkVaild
==
0
)
TCUCommuStatus
.
ServiceContralVaildValue
=
3
;
//版本校验未完成
...
...
@@ -2038,7 +2040,7 @@ void SerConAckAnalysis(StructTCUSend * pPgnRecv)
if
((
pPgnRecv
->
Data
[
1
]
!=
0x01
)
&&
(
pPgnRecv
->
Data
[
1
]
!=
0x02
))
TCUCommuStatus_B
.
ServiceContralVaildValue
=
1
;
//数据合法性校验失败
else
if
((
TCUCommuStatus_B
.
ConnectFlag
==
CONNECT_TIMEOUT
)
||
(
TCUCommuStatus_B
.
HeartBeatVaild
)
)
else
if
((
TCUCommuStatus_B
.
ConnectFlag
==
CONNECT_TIMEOUT
)
/* || (TCUCommuStatus_B.HeartBeatVaild)*/
)
TCUCommuStatus_B
.
ServiceContralVaildValue
=
2
;
//通讯超时
else
if
(
TCUCommuStatus_B
.
VerChkVaild
==
0
)
TCUCommuStatus_B
.
ServiceContralVaildValue
=
3
;
//版本校验未完成
...
...
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
浏览文件 @
da0c4803
...
...
@@ -9,7 +9,7 @@
#include "Drv_ImdJyc.h"
#define ImdCheckFreq (200)//ms
#define DcModOutTimeOut (
22
000)//ms
#define DcModOutTimeOut (
11
000)//ms
#define VoltWaitTimeOut (1000)//ms
#define ChkWaitTimeOut (12000)//(8500)//ms
#define ChkTimeOut (1500)//ms
...
...
DcPillar/Src/Thread/Thd_Mult.c
浏览文件 @
da0c4803
...
...
@@ -1010,13 +1010,13 @@ void Thd_Mult(void const *parameter)
}
#endif
/*绝缘检测通讯故障判断*/
if
((
GetSystemTick
()
-
ImdCheckTcik
)
>=
6
00
)
if
((
GetSystemTick
()
-
ImdCheckTcik
)
>=
5
00
)
{
//if(eChgVer_2011 != UserParam.ChgVer
// || eLcdPro_FactoryTest == LcdCtrl.CurScreen
// || eLcdPro_B_FactoryTest == LcdCtrl.CurScreen
// )
ImdCheckTcik
=
GetSystemTick
();
static
u8
flag
=
0
;
if
(
flag
==
0
)
{
flag
=
1
;
if
(
0
==
ImdRead
(
&
ImdValue
))
{
if
(
ImdErrorCnt
>
2
)
...
...
@@ -1036,21 +1036,10 @@ void Thd_Mult(void const *parameter)
ImdValue
.
Vaild
=
0
;
}
}
}
//else
//{
// ImdErrorCnt = 0;
// ImdErrorCnt_B = 0;
// ImdValue.Vaild = 0;
// ImdValue_B.Vaild = 0;
//}
ImdCheckTcik
=
GetSystemTick
();
}
if
((
GetSystemTick
()
-
ImdCheckTcik_B
)
>=
550
)
else
{
flag
=
0
;
if
(
0
==
ImdRead_B
(
&
ImdValue_B
))
{
if
(
ImdErrorCnt_B
>
2
)
...
...
@@ -1069,8 +1058,9 @@ void Thd_Mult(void const *parameter)
ImdValue_B
.
Vaild
=
0
;
}
}
ImdCheckTcik_B
=
GetSystemTick
();
}
}
if
(
0
==
ImdErrorCnt
)
PillarError
.
Value
.
ImdDev
=
0
;
else
if
((
5
==
ImdErrorCnt
)
&&
((
TCUCurChgRecd_B
.
TCUChargeEnable
==
0
)
&&
(
TCUCurChgRecd
.
TCUChargeEnable
==
0
)
&&
(
eChgVer_2011
!=
UserParam
.
ChgVer
)))
...
...
@@ -1085,7 +1075,7 @@ void Thd_Mult(void const *parameter)
{
OnesCheckTcik
=
GetSystemTick
();
extern
void
OnesCheckTcikHandle
(
void
);
OnesCheckTcikHandle
();
//
OnesCheckTcikHandle();
}
osDelay
(
25
);
}
...
...
DcPillar/Src/Thread/Thd_TCU.c
浏览文件 @
da0c4803
差异被折叠。
点击展开。
DcPillar/Src/Thread/Thd_TCU.h
浏览文件 @
da0c4803
...
...
@@ -10,15 +10,16 @@
#define CONNECT_TIMEOUT 1
typedef
enum
{
HeartStage
=
0
,
//心跳阶段默认
TCUConfig
=
0
,
//心跳阶段默认
VersionStage
=
1
,
ChageParamStage
=
2
,
TimeStage
=
3
,
ServiceContralStage
=
4
,
ElectLockStage
=
5
,
PowerControlStage
=
6
,
ChgInfornQueryStage
=
7
,
StartDownloadStage
=
8
,
HeartStage
=
3
,
TimeStage
=
4
,
ServiceContralStage
=
5
,
ElectLockStage
=
6
,
PowerControlStage
=
7
,
ChgInfornQueryStage
=
8
,
StartDownloadStage
=
9
,
}
EnumTCUCommStage
;
...
...
@@ -64,10 +65,10 @@ typedef struct {
u8
PowerControlVaildValue
;
//功率调节失败原因
u8
ConnectFlag
;
//0 未连接 其他已连接
u8
HeartBeatVaild
;
//接收心跳有效标志位
//
u8 HeartBeatVaild; //接收心跳有效标志位
u8
HeartBeatErrCnt
;
u16
HeartBeatNumCnt
;
u16
HeartBeatLoseCnt
;
//
u16 HeartBeatNumCnt;
//
u16 HeartBeatLoseCnt;
u32
DCMeasuErrCnt
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论