Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
dc6920ae
提交
dc6920ae
authored
6月 04, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
协议测试;中兴模块
上级
245b1af3
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
49 行增加
和
35 行删除
+49
-35
Drv_DcModule.h
DcPillar/Src/Drivers/Drv_DcModule.h
+2
-2
Global.h
DcPillar/Src/Global.h
+2
-0
Drv_SmartAllocation.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
+11
-6
Drv_SmartAllocation_DcModule.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation_DcModule.c
+6
-4
ChgPro_CommError.c
DcPillar/Src/Thread/Charge/ChgPro_CommError.c
+2
-1
ChgPro_WaitPillarReady.c
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
+25
-21
Thd_Charge.h
DcPillar/Src/Thread/Thd_Charge.h
+1
-1
没有找到文件。
DcPillar/Src/Drivers/Drv_DcModule.h
浏览文件 @
dc6920ae
...
...
@@ -4,7 +4,7 @@
#include "Global.h"
#define DcModule_ZhongXing
0
#define DcModule_ZhongXing
1
#define DcModule_BaudRate (250)
...
...
@@ -101,7 +101,7 @@ typedef struct
u16
Currt
;
//0.1A/Bit;
u16
State
;
u32
RecvTime
;
EnumModuStatus
ModStatus
;
u16
ModStatus
;
}
StructDcModuleStatus
;
extern
StructDcModuleAbility
DcModuleAbility
;
...
...
DcPillar/Src/Global.h
浏览文件 @
dc6920ae
...
...
@@ -278,6 +278,8 @@ typedef enum
eChgStop_BmsReady_Meter
=
96
,
eChgStop_PillarReady_Meter
=
97
,
eChgStop_Imd_Short
=
98
,
eChgStop_Imd_xx
=
99
,
}
EnumChgStopType
;
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
浏览文件 @
dc6920ae
...
...
@@ -114,6 +114,7 @@ void DcModuleManageProcess_SmartAllocation(void)
Flag
=
Flag
<<
1
;
}
#if (DcModule_ZhongXing == 0)
if
(
0x0002
&
DcModuleManage_All
.
OnlineFlag
)
{
static
u32
GetAcVoltTick
=
0
;
...
...
@@ -124,6 +125,7 @@ void DcModuleManageProcess_SmartAllocation(void)
}
}
#endif
for
(
i
=
0
;
i
<
DcModuleGroupSize
;
i
++
)
{
...
...
@@ -960,7 +962,7 @@ void SendCheckToDcModule_ZhongXing(void)
u16
addr
=
0
;
static
u32
StaticTick
=
0
;
if
((
GetSystemTick
()
-
StaticTick
)
>
1
000
)
if
((
GetSystemTick
()
-
StaticTick
)
>
2
000
)
{
StaticTick
=
GetSystemTick
();
...
...
@@ -969,7 +971,7 @@ void SendCheckToDcModule_ZhongXing(void)
if
(
DcModuleStatus_ALL
[
i
].
Temp
==
0
)
//未分组
{
DcModuleSetGroupNum
();
return
;
//continue;
//
return;//continue;
}
for
(
u8
j
=
0
;
j
<
DcModuleGroup
[
i
].
num
;
j
++
)
...
...
@@ -1072,7 +1074,7 @@ u8 DcModuleGetStatus_Incre(u8 addr)
u8
DcModuleGetStatus_ZhongXing
(
u8
addr
)
{
if
(
0x00
00
!=
(
DcModuleStatus_ALL
[
addr
].
State
&
0xFE
10
))
if
(
0x00
10
!=
(
DcModuleStatus_ALL
[
addr
].
State
&
0x00
10
))
{
return
TRUE
;
}
...
...
@@ -1086,9 +1088,9 @@ u8 DcModuleGetStatus_ZhongXing(u8 addr)
u8
DcModuleGetStatus
(
u8
addr
)
{
#if DcModule_ZhongXing
return
DcModuleGetStatus_Incre
(
addr
);
#else
return
DcModuleGetStatus_ZhongXing
(
addr
);
#else
return
DcModuleGetStatus_Incre
(
addr
);
#endif
}
...
...
@@ -1100,7 +1102,9 @@ void DcModuleSetGroupNum(void) //中兴模块分组设置
for
(
u8
i
=
0
;
i
<
DcModuleGroupSize
;
i
++
)
{
addr
=
DcModuleGroup
[
i
].
modules
[
0
].
addr
;
for
(
u8
j
=
0
;
j
<
DcModuleGroup
[
i
].
num
;
j
++
)
{
addr
=
DcModuleGroup
[
i
].
modules
[
j
].
addr
;
DataSend
.
Id
=
0x180460A0
|
(
addr
<<
8
);
DataSend
.
Len
=
8
;
DataSend
.
Data
[
0
]
=
0x28
;
...
...
@@ -1119,6 +1123,7 @@ void DcModuleSetGroupNum(void) //中兴模块分组设置
//osDelay(10);
}
}
}
}
void
SendDataToDcModule_A
(
EnumSwitchStatus
Set
,
u16
Volt
,
u16
Currt
)
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation_DcModule.c
浏览文件 @
dc6920ae
...
...
@@ -733,13 +733,13 @@ void DcModuleMsgReceive_ZhongXing(CanRxMsg* RxMsg)
u8
addr
=
0
;
if
((
0x1801A060
==
(
RxMsg
->
ExtId
&
0xFFFFA060
)))
//心跳应答
{
addr
=
(
u8
)(
RxMsg
->
ExtId
&
0x000000FF
);
DcModuleManage_All
.
OnlineFlag
|=
((
long
long
)
1
<<
(
addr
&
0x0f
));
//
addr = (u8)(RxMsg->ExtId&0x000000FF);
//
DcModuleManage_All.OnlineFlag |= ((long long) 1 << (addr&0x0f));
}
else
if
((
0x1804A060
==
(
RxMsg
->
ExtId
&
0xFFFFA060
)))
//分组应答
{
addr
=
(
u8
)(
RxMsg
->
ExtId
&
0x000000FF
);
if
(
RxMsg
->
Data
[
0
]
==
0xA8
&&
RxMsg
->
Data
[
1
]
==
0x00
)
//
addr = (u8)(RxMsg->ExtId&0x000000FF);
//
if(RxMsg->Data[0] == 0xA8 && RxMsg->Data[1] == 0x00)
{
//分组成功
}
...
...
@@ -792,3 +792,5 @@ void DcModuleMsgReceive(CanRxMsg* RxMsg)
#endif
}
DcPillar/Src/Thread/Charge/ChgPro_CommError.c
浏览文件 @
dc6920ae
...
...
@@ -34,6 +34,7 @@ void ChgProCommError(StructChargeCtrl *pChargeCtrl)
DcModuleSet
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
CstSendCnt
=
0
;
if
(
ChargeStopType
!=
eChgStop_Imd_xx
)
CST_Send
(
&
CstMsg
);
CST_SendTick
=
GetSystemTick
();
...
...
@@ -46,7 +47,7 @@ void ChgProCommError(StructChargeCtrl *pChargeCtrl)
while
(
1
)
{
if
((
0
==
CemMsg
.
Cem
.
Value
.
Bst
)
&&
(
0
!=
CST_SendTick
)
&&
((
GetSystemTick
()
-
CST_SendTick
)
>
7
))
if
((
ChargeStopType
!=
eChgStop_Imd_xx
)
&&
(
0
==
CemMsg
.
Cem
.
Value
.
Bst
)
&&
(
0
!=
CST_SendTick
)
&&
((
GetSystemTick
()
-
CST_SendTick
)
>
7
))
{
CST_Send
(
&
CstMsg
);
CST_SendTick
=
GetSystemTick
();
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
浏览文件 @
dc6920ae
...
...
@@ -39,6 +39,7 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
u32
CcStatusChkTick
=
0
;
u32
VoltReadyTick
=
0
;
u32
Bro_00_Tick
=
0
;
u8
Bro_00_flg
=
0
;
BemMsg
.
Valid
=
0
;
BmsCanInit
();
osDelay
(
20
);
...
...
@@ -84,6 +85,29 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
ChgPgnRecv
(
&
PgnRecv
);
if
((
Bro_00_flg
==
0
)
&&
(
0
!=
BroMsg
.
Valid
)
&&
(
0x00
==
BroMsg
.
Status
))
{
Bro_00_Tick
=
GetSystemTick
();
Bro_00_flg
=
1
;
}
else
if
(
Bro_00_flg
==
0
)
Bro_00_Tick
=
GetSystemTick
();
if
((
GetSystemTick
()
-
Bro_00_Tick
>=
MsgTimeout_1S
))
{
/*VoltReadyTick = 0;
pChargeCtrl->CurProcess = eChgPro_ChgStart;
pChargeCtrl->Param = 0;*/
//CstMsg.StopReason.Value.Truble = 1;
// CstMsg.StopTruble.Value.Other = 1;
// CstMsg.StopFault.Value.Volt = 1;
CemMsg
.
Cem
.
Mult
=
0
;
DcOutSet
(
eSwSta_Off
);
SendDataToDcModule_A
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
ChargeStopType
=
eChgStop_Imd_xx
;
pChargeCtrl
->
CurProcess
=
eChgPro_CommError
;
pChargeCtrl
->
Param
=
0
;
}
if
((
eChgVer_2011
!=
UserParam
.
ChgVer
)
&&
(
eChgVer_2011
!=
ChgVer
))
{
...
...
@@ -190,27 +214,7 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
pChargeCtrl
->
CurProcess
=
eChgPro_CommBreak
;
pChargeCtrl
->
Param
=
0
;
}
#if 1
if
(
0x00
==
BroMsg
.
Status
)
Bro_00_Tick
=
GetSystemTick
();
else
Bro_00_Tick
=
GetSystemTick
();
if
(
GetSystemTick
()
-
Bro_00_Tick
>=
MsgTimeout_1S
)
{
/*VoltReadyTick = 0;
pChargeCtrl->CurProcess = eChgPro_ChgStart;
pChargeCtrl->Param = 0;*/
//CstMsg.StopReason.Value.Truble = 1;
// CstMsg.StopTruble.Value.Other = 1;
// CstMsg.StopFault.Value.Volt = 1;
CemMsg
.
Cem
.
Mult
=
0
;
DcOutSet
(
eSwSta_Off
);
SendDataToDcModule_A
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
ChargeStopType
=
eChgStop_Conf_ChgMaxVoltLessPillarMinVolt
;
pChargeCtrl
->
CurProcess
=
eChgPro_CommError
;
pChargeCtrl
->
Param
=
0
;
}
#endif
if
(
0
==
TCUCurChgRecd
.
TCUChargeEnable
)
{
//外部控制结束充电
SendDataToDcModule_A
(
eSwSta_Off
,
DcModuleAbility
.
MinVolt
,
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
);
...
...
DcPillar/Src/Thread/Thd_Charge.h
浏览文件 @
dc6920ae
...
...
@@ -11,7 +11,7 @@
#define CC_CheckTick (100)
#define MsgTimeout_1S (1000+200)
#define MsgTimeout_5S (5000+500)
#define MsgTimeout_10S (10*1000
+3000
)
#define MsgTimeout_10S (10*1000)
#define MsgTimeout_60S (60*1000+3000)
#define MsgTimeout_10M (10*60*1000+3000)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论