Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
620b36ac
提交
620b36ac
authored
6月 02, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
恢复AB枪电子锁端口
上级
17e9ce90
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
117 行增加
和
66 行删除
+117
-66
Drv_BoardIo.h
DcPillar/Src/Drivers/Drv_BoardIo.h
+12
-12
Drv_SmartAllocation.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
+2
-10
Drv_SmartAllocation_DcModule.c
DcPillar/Src/SmartAllocation/Drv_SmartAllocation_DcModule.c
+86
-34
SmartAllocation_B_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
+4
-4
SmartAllocation_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
+2
-2
ChgPro_ChgIdle.c
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
+2
-0
LcdPro_FactoryTestTwo.c
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTestTwo.c
+2
-2
Thd_Mult.c
DcPillar/Src/Thread/Thd_Mult.c
+7
-2
没有找到文件。
DcPillar/Src/Drivers/Drv_BoardIo.h
浏览文件 @
620b36ac
...
@@ -28,13 +28,13 @@
...
@@ -28,13 +28,13 @@
#define DcOutChkPos_Port GPIOE
#define DcOutChkPos_Port GPIOE
#define DcOutChkPos_RCC RCC_AHB1Periph_GPIOE
#define DcOutChkPos_RCC RCC_AHB1Periph_GPIOE
#define Lock_Pin GPIO_Pin_12
#define Lock_
B_
Pin GPIO_Pin_12
#define Lock_Port GPIOD
#define Lock_
B_
Port GPIOD
#define Lock_RCC RCC_AHB1Periph_GPIOD
#define Lock_
B_
RCC RCC_AHB1Periph_GPIOD
#define LockChk_Pin GPIO_Pin_14
#define LockChk_
B_
Pin GPIO_Pin_14
#define LockChk_Port GPIOD
#define LockChk_
B_
Port GPIOD
#define LockChk_RCC RCC_AHB1Periph_GPIOD
#define LockChk_
B_
RCC RCC_AHB1Periph_GPIOD
#define ChgLed_Pin GPIO_Pin_10
#define ChgLed_Pin GPIO_Pin_10
#define ChgLed_Port GPIOE
#define ChgLed_Port GPIOE
...
@@ -87,13 +87,13 @@
...
@@ -87,13 +87,13 @@
#define DcOutChkNeg_B_RCC RCC_AHB1Periph_GPIOE
#define DcOutChkNeg_B_RCC RCC_AHB1Periph_GPIOE
#define Lock_
B_
Pin GPIO_Pin_13
#define Lock_Pin GPIO_Pin_13
#define Lock_
B_
Port GPIOD
#define Lock_Port GPIOD
#define Lock_
B_
RCC RCC_AHB1Periph_GPIOD
#define Lock_RCC RCC_AHB1Periph_GPIOD
#define LockChk_
B_
Pin GPIO_Pin_15
#define LockChk_Pin GPIO_Pin_15
#define LockChk_
B_
Port GPIOD
#define LockChk_Port GPIOD
#define LockChk_
B_
RCC RCC_AHB1Periph_GPIOD
#define LockChk_RCC RCC_AHB1Periph_GPIOD
#define ChgLed_B_Pin GPIO_Pin_13
#define ChgLed_B_Pin GPIO_Pin_13
#define ChgLed_B_Port GPIOE
#define ChgLed_B_Port GPIOE
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation.c
浏览文件 @
620b36ac
...
@@ -291,15 +291,10 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -291,15 +291,10 @@ void DcModuleCtrlProcess_SmartAllocation(void)
static
u32
Tick
=
0
;
//
static
u32
Tick
=
0
;
//
if
(
Tick
==
0
)
Tick
=
GetSystemTick
();
if
((
GetSystemTick
()
-
Tick
)
<
100
)
if
((
GetSystemTick
()
-
Tick
)
<
100
)
{
{
return
;
return
;
}
}
Tick
=
GetSystemTick
();
Tick
=
GetSystemTick
();
static
StructDcModuleUsedStatus
status
[
4
]
=
static
StructDcModuleUsedStatus
status
[
4
]
=
...
@@ -311,7 +306,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -311,7 +306,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
Invalid
,
Invalid
,
Invalid
,
Invalid
Invalid
,
Invalid
,
Invalid
,
Invalid
};
};
//StructDcModuleSend DataSend;
u32
Temp
;
u32
Temp
;
u8
addr
;
u8
addr
;
u32
Volt
=
0
;
u32
Volt
=
0
;
...
@@ -420,7 +414,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -420,7 +414,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
{
{
if
(
DcModuleGroup
[
i
].
status
==
Hold_A
&&
i
!=
0
)
if
(
DcModuleGroup
[
i
].
status
==
Hold_A
&&
i
!=
0
)
{
{
if
(
abs
((
s16
)
(
DcModuleGroup
[
i
].
Voltage
)
-
(
s16
)
(
DcModuleManage
.
SetVolt
/
100
))
>
100
)
//差距在10V以内,升压完成
if
(
abs
((
s16
)
(
DcModuleGroup
[
i
].
Voltage
)
-
(
s16
)
(
DcModuleManage
.
SetVolt
/
100
))
>
100
)
//差距在10V以内,升压完成
{
{
Temp
++
;
Temp
++
;
...
@@ -583,7 +576,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -583,7 +576,6 @@ void DcModuleCtrlProcess_SmartAllocation(void)
}
}
if
(
Temp
)
if
(
Temp
)
return
;
return
;
...
@@ -599,9 +591,9 @@ void DcModuleCtrlProcess_SmartAllocation(void)
...
@@ -599,9 +591,9 @@ void DcModuleCtrlProcess_SmartAllocation(void)
Temp
++
;
Temp
++
;
}
}
if
((
GetSystemTick
()
-
CtrlTick
)
>
100
)
//
if ((GetSystemTick() -CtrlTick) > 100)
{
{
CtrlTick
=
GetSystemTick
();
//
CtrlTick = GetSystemTick();
Temp
++
;
Temp
++
;
}
}
...
...
DcPillar/Src/SmartAllocation/Drv_SmartAllocation_DcModule.c
浏览文件 @
620b36ac
...
@@ -36,9 +36,12 @@ StructDcModuleCtrl DcModuleCtrl_B;
...
@@ -36,9 +36,12 @@ StructDcModuleCtrl DcModuleCtrl_B;
StructDcModuleCtrl
DcModuleCtrl_ALL
;
StructDcModuleCtrl
DcModuleCtrl_ALL
;
void
DcModeleRelayInit
(
void
);
void
DcModeleRelayInit
(
void
);
extern
void
GetNXRAcVolt
(
CanRxMsg
*
RxMsg
);
extern
void
GetNXRAcVolt
(
CanRxMsg
*
RxMsg
);
extern
void
GetNXRAcVoltMsg
(
u32
addr
);
extern
void
GetNXRAcVoltMsg
(
u32
addr
);
static
s8
DcModleVoltChkCnt
=
0
;
void
DcModuleRxIrqHandle
(
void
)
void
DcModuleRxIrqHandle
(
void
)
{
{
CanRxMsg
RxMsg
;
CanRxMsg
RxMsg
;
...
@@ -69,6 +72,7 @@ void DcModuleRxIrqHandle(void)
...
@@ -69,6 +72,7 @@ void DcModuleRxIrqHandle(void)
Data
.
RecvTime
=
GetSystemTick
();
Data
.
RecvTime
=
GetSystemTick
();
DcModuleStatus_ALL
[
Data
.
Id
]
=
Data
;
DcModuleStatus_ALL
[
Data
.
Id
]
=
Data
;
}
}
GetNXRAcVolt
(
&
RxMsg
);
GetNXRAcVolt
(
&
RxMsg
);
}
}
}
}
...
@@ -93,6 +97,7 @@ void DcModuleRxIrqHandle(void)
...
@@ -93,6 +97,7 @@ void DcModuleRxIrqHandle(void)
Data
.
RecvTime
=
GetSystemTick
();
Data
.
RecvTime
=
GetSystemTick
();
DcModuleStatus_ALL
[
Data
.
Id
]
=
Data
;
DcModuleStatus_ALL
[
Data
.
Id
]
=
Data
;
}
}
GetNXRAcVolt
(
&
RxMsg
);
GetNXRAcVolt
(
&
RxMsg
);
}
}
}
}
...
@@ -103,6 +108,8 @@ void DcModuleRxIrqHandle(void)
...
@@ -103,6 +108,8 @@ void DcModuleRxIrqHandle(void)
/*125K*/
/*125K*/
void
DcModuleCanInit
(
void
)
void
DcModuleCanInit
(
void
)
{
{
DcModleVoltChkCnt
=
0
;
MCP2515_EnterCritical
();
MCP2515_EnterCritical
();
MCP2515_SetInt
(
DcModuleRxIrqHandle
,
DISABLE
);
MCP2515_SetInt
(
DcModuleRxIrqHandle
,
DISABLE
);
...
@@ -198,6 +205,7 @@ void DcModuleCanInit(void)
...
@@ -198,6 +205,7 @@ void DcModuleCanInit(void)
** 函数名: CAN1_SendMessage
** 函数名: CAN1_SendMessage
** 输 入: ulCanId----发送ID, ulCanDataA----发送数据的底4字节, ulCanDataB----发送数据的高4字�
** 输 入: ulCanId----发送ID, ulCanDataA----发送数据的底4字节, ulCanDataB----发送数据的高4字�
��
��
��
** 输 出: 参数读取状态
** 输 出: 参数读取状态
** 描 述: 通过CAN通道发送数据
** 描 述: 通过CAN通道发送数据
** 日 期: 2010/08/19
** 日 期: 2010/08/19
...
@@ -251,14 +259,14 @@ void DcModuleSet(EnumSwitchStatus Set, u16 Volt, u16 Currt)
...
@@ -251,14 +259,14 @@ void DcModuleSet(EnumSwitchStatus Set, u16 Volt, u16 Currt)
DcModuleCtrl
.
NeedVolt
=
Volt
;
DcModuleCtrl
.
NeedVolt
=
Volt
;
DcModuleCtrl
.
NeedCurrt
=
Currt
;
DcModuleCtrl
.
NeedCurrt
=
Currt
;
if
(
DcModuleGroup
[
0
].
status
==
Hold_B
)
if
(
DcModuleGroup
[
0
].
status
==
Hold_B
)
{
{
DcModuleGroup
[
0
].
status
=
Hold_A
;
DcModuleGroup
[
0
].
status
=
Hold_A
;
DcModuleManage_B
.
ValidNum
-=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleManage_B
.
ValidNum
-=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
0
].
ValidNum
;
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
}
}
else
if
(
DcModuleGroup
[
0
].
status
==
Valid
)
else
if
(
DcModuleGroup
[
0
].
status
==
Valid
)
{
{
DcModuleGroup
[
0
].
status
=
Hold_A
;
DcModuleGroup
[
0
].
status
=
Hold_A
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
0
].
ValidNum
;
DcModuleManage
.
ValidNum
+=
DcModuleGroup
[
0
].
ValidNum
;
...
@@ -303,7 +311,6 @@ void DcModule(void const * parameter)
...
@@ -303,7 +311,6 @@ void DcModule(void const * parameter)
DcModuleCanInit
();
DcModuleCanInit
();
//ACContactorSet(eSwSta_On);
//ACContactorSet(eSwSta_On);
DcModuleAbility
.
MaxVolt
=
UserParam
.
DcMaxVolt
;
DcModuleAbility
.
MaxVolt
=
UserParam
.
DcMaxVolt
;
DcModuleAbility
.
MinVolt
=
UserParam
.
DcMinVolt
;
DcModuleAbility
.
MinVolt
=
UserParam
.
DcMinVolt
;
DcModuleAbility
.
MaxCurrt
=
UserParam
.
DcMaxCurrt
;
DcModuleAbility
.
MaxCurrt
=
UserParam
.
DcMaxCurrt
;
...
@@ -314,6 +321,7 @@ void DcModule(void const * parameter)
...
@@ -314,6 +321,7 @@ void DcModule(void const * parameter)
osMessageQDef
(
DcModeMsg
,
128
,
StructDcModuleSend
);
osMessageQDef
(
DcModeMsg
,
128
,
StructDcModuleSend
);
DcModeMsg
=
osMessageCreate
(
osMessageQ
(
DcModeMsg
),
NULL
);
DcModeMsg
=
osMessageCreate
(
osMessageQ
(
DcModeMsg
),
NULL
);
u32
SendTick
=
GetSystemTick
();
u32
SendTick
=
GetSystemTick
();
while
(
1
)
while
(
1
)
{
{
if
((
GetSystemTick
()
-
SendTick
)
>
10
)
if
((
GetSystemTick
()
-
SendTick
)
>
10
)
...
@@ -327,9 +335,6 @@ void DcModule(void const * parameter)
...
@@ -327,9 +335,6 @@ void DcModule(void const * parameter)
}
}
}
}
DcModuleManageProcess_SmartAllocation
();
DcModuleManageProcess_SmartAllocation
();
//osDelay(15);
//osDelay(15);
...
@@ -374,14 +379,15 @@ void DcModuleSet_B(EnumSwitchStatus Set, u16 Volt, u16 Currt)
...
@@ -374,14 +379,15 @@ void DcModuleSet_B(EnumSwitchStatus Set, u16 Volt, u16 Currt)
DcModuleCtrl_B
.
CtrlFlag
=
1
;
DcModuleCtrl_B
.
CtrlFlag
=
1
;
DcModuleCtrl_B
.
NeedVolt
=
Volt
;
DcModuleCtrl_B
.
NeedVolt
=
Volt
;
DcModuleCtrl_B
.
NeedCurrt
=
Currt
;
DcModuleCtrl_B
.
NeedCurrt
=
Currt
;
if
(
DcModuleGroup
[
2
].
status
==
Hold_A
)
if
(
DcModuleGroup
[
2
].
status
==
Hold_A
)
{
{
DcModuleGroup
[
2
].
status
=
Hold_B
;
DcModuleGroup
[
2
].
status
=
Hold_B
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleManage
.
ValidNum
-=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
}
}
else
if
(
DcModuleGroup
[
2
].
status
==
Valid
)
else
if
(
DcModuleGroup
[
2
].
status
==
Valid
)
{
{
DcModuleGroup
[
2
].
status
=
Hold_B
;
DcModuleGroup
[
2
].
status
=
Hold_B
;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
DcModuleManage_B
.
ValidNum
+=
DcModuleGroup
[
2
].
ValidNum
;
...
@@ -524,6 +530,7 @@ u16 GetDcModuleCurrtSet_AB(void)
...
@@ -524,6 +530,7 @@ u16 GetDcModuleCurrtSet_AB(void)
return
(
DcModuleCtrl
.
NeedCurrt
+
DcModuleCtrl_B
.
NeedCurrt
);
return
(
DcModuleCtrl
.
NeedCurrt
+
DcModuleCtrl_B
.
NeedCurrt
);
}
}
void
DcModeleRelayInit
()
void
DcModeleRelayInit
()
{
{
GPIO_InitTypeDef
GPIO_InitStructure
;
GPIO_InitTypeDef
GPIO_InitStructure
;
...
@@ -541,31 +548,35 @@ void DcModeleRelayInit()
...
@@ -541,31 +548,35 @@ void DcModeleRelayInit()
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K1K2_Pin
;
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K1K2_Pin
;
GPIO_Init
(
RELAY_K1K2_Port
,
&
GPIO_InitStructure
);
GPIO_Init
(
RELAY_K1K2_Port
,
&
GPIO_InitStructure
);
GPIO_ResetBits
(
RELAY_K1K2_Port
,
RELAY_K1K2_Pin
);
GPIO_ResetBits
(
RELAY_K1K2_Port
,
RELAY_K1K2_Pin
);
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K3K4_Pin
;
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K3K4_Pin
;
GPIO_Init
(
RELAY_K3K4_Port
,
&
GPIO_InitStructure
);
GPIO_Init
(
RELAY_K3K4_Port
,
&
GPIO_InitStructure
);
GPIO_ResetBits
(
RELAY_K3K4_Port
,
RELAY_K3K4_Pin
);
GPIO_ResetBits
(
RELAY_K3K4_Port
,
RELAY_K3K4_Pin
);
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K5K6_Pin
;
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K5K6_Pin
;
GPIO_Init
(
RELAY_K5K6_Port
,
&
GPIO_InitStructure
);
GPIO_Init
(
RELAY_K5K6_Port
,
&
GPIO_InitStructure
);
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
GPIO_ResetBits
(
RELAY_K5K6_Port
,
RELAY_K5K6_Pin
);
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K7K8_Pin
;
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K7K8_Pin
;
GPIO_Init
(
RELAY_K7K8_Port
,
&
GPIO_InitStructure
);
GPIO_Init
(
RELAY_K7K8_Port
,
&
GPIO_InitStructure
);
GPIO_ResetBits
(
RELAY_K7K8_Port
,
RELAY_K7K8_Pin
);
GPIO_ResetBits
(
RELAY_K7K8_Port
,
RELAY_K7K8_Pin
);
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K9K10_Pin
;
GPIO_InitStructure
.
GPIO_Pin
=
RELAY_K9K10_Pin
;
GPIO_Init
(
RELAY_K9K10_Port
,
&
GPIO_InitStructure
);
GPIO_Init
(
RELAY_K9K10_Port
,
&
GPIO_InitStructure
);
GPIO_ResetBits
(
RELAY_K9K10_Port
,
RELAY_K9K10_Pin
);
GPIO_ResetBits
(
RELAY_K9K10_Port
,
RELAY_K9K10_Pin
);
}
}
void
GetNXRAcVoltMsg
(
u32
addr
)
void
GetNXRAcVoltMsg
(
u32
addr
)
{
{
StructDcModuleSend
DataSend
=
{
0
};
StructDcModuleSend
DataSend
=
{
0
};
u16
reg
=
0
;
u16
reg
=
0
;
DataSend
.
Id
=
(
0x00000060
<<
20
)
|
(
1
<<
19
)
|
(
addr
<<
11
)
|
(
0x000000f0
<<
3
);
//0x6080780 + (addr<<11);//0x06080f80
DataSend
.
Id
=
(
0x00000060
<<
20
)
|
(
1
<<
19
)
|
(
addr
<<
11
)
|
(
0x000000f0
<<
3
);
//0x6080780 + (addr<<11);//0x06080f80
DataSend
.
Len
=
8
;
DataSend
.
Len
=
8
;
DataSend
.
Data
[
0
]
=
0x10
;
DataSend
.
Data
[
0
]
=
0x10
;
DataSend
.
Data
[
1
]
=
0x00
;
DataSend
.
Data
[
1
]
=
0x00
;
...
@@ -577,12 +588,14 @@ void GetNXRAcVoltMsg(u32 addr)
...
@@ -577,12 +588,14 @@ void GetNXRAcVoltMsg(u32 addr)
DataSend
.
Data
[
7
]
=
0x00
;
DataSend
.
Data
[
7
]
=
0x00
;
reg
=
0x000C
;
//A相
reg
=
0x000C
;
//A相
DataSend
.
Data
[
2
]
=
reg
>>
8
;
DataSend
.
Data
[
2
]
=
reg
>>
8
;
DataSend
.
Data
[
3
]
=
reg
;
DataSend
.
Data
[
3
]
=
reg
;
if
(
pdTRUE
!=
xQueueSend
(
DcModeMsg
,
&
DataSend
,
0
))
if
(
pdTRUE
!=
xQueueSend
(
DcModeMsg
,
&
DataSend
,
0
))
{
{
//osDelay(10);
//osDelay(10);
}
}
/*
/*
reg = 0x000D; //B相
reg = 0x000D; //B相
DataSend.Data[2] = reg>>8;
DataSend.Data[2] = reg>>8;
...
@@ -601,18 +614,21 @@ void GetNXRAcVoltMsg(u32 addr)
...
@@ -601,18 +614,21 @@ void GetNXRAcVoltMsg(u32 addr)
}*/
}*/
}
}
#include<math.h>
#include<math.h>
u16
DcVoltIn
=
0
;
u16
DcVoltIn
=
0
;
void
GetNXRAcVolt
(
CanRxMsg
*
RxMsg
)
void
GetNXRAcVolt
(
CanRxMsg
*
RxMsg
)
{
{
if
((
0x060f8000
==
(
RxMsg
->
ExtId
&
0xFFFF8000
))
\
if
((
0x060f8000
==
(
RxMsg
->
ExtId
&
0xFFFF8000
))
/*&& (0x41 == RxMsg->Data[0] || 0x42 == RxMsg->Data[0]) \*/
/*&& (0x41 == RxMsg->Data[0] || 0x42 == RxMsg->Data[0]) \*/
&&
(
0xf0
==
RxMsg
->
Data
[
1
]))
&&
(
0xf0
==
RxMsg
->
Data
[
1
]))
{
{
if
(
0x0C
==
RxMsg
->
Data
[
3
])
if
(
0x0C
==
RxMsg
->
Data
[
3
])
{
{
//A
//A
u32
val
=
RxMsg
->
Data
[
4
];
u32
val
=
RxMsg
->
Data
[
4
];
val
=
val
<<
8
;
val
=
val
<<
8
;
val
|=
RxMsg
->
Data
[
5
];
val
|=
RxMsg
->
Data
[
5
];
val
=
val
<<
8
;
val
=
val
<<
8
;
...
@@ -620,13 +636,15 @@ void GetNXRAcVolt(CanRxMsg* RxMsg)
...
@@ -620,13 +636,15 @@ void GetNXRAcVolt(CanRxMsg* RxMsg)
val
=
val
<<
8
;
val
=
val
<<
8
;
val
|=
RxMsg
->
Data
[
7
];
val
|=
RxMsg
->
Data
[
7
];
u8
S
=
(
u8
)(
val
>>
31
)
&
0x01
;
u8
S
=
(
u8
)
(
val
>>
31
)
&
0x01
;
u32
M
=
val
&
0x007fffff
;
u32
M
=
val
&
0x007fffff
;
u16
E
=
(
u8
)(
val
>>
23
);
u16
E
=
(
u8
)
(
val
>>
23
);
float
f
=
(
1
+
M
*
pow
(
2
,
-
23
))
*
pow
(
2
,
(
E
-
127
));
float
f
=
(
1
+
M
*
pow
(
2
,
-
23
))
*
pow
(
2
,
(
E
-
127
));
DcVoltIn
=
(
u16
)(
f
/
sqrt
(
3
)
*
10
);
DcVoltIn
=
(
u16
)
(
f
/
sqrt
(
3
)
*
10
);
DcModleVoltDetect
(
DcVoltIn
);
DcModleVoltDetect
(
DcVoltIn
);
}
}
/*else if(0x0D == RxMsg->Data[3])
/*else if(0x0D == RxMsg->Data[3])
{
{
//B
//B
...
@@ -666,36 +684,70 @@ void GetNXRAcVolt(CanRxMsg* RxMsg)
...
@@ -666,36 +684,70 @@ void GetNXRAcVolt(CanRxMsg* RxMsg)
}
}
}
}
static
s8
DcModleVoltChkCnt
=
0
;
void
DcModleVoltDetect
(
u16
Voltage
)
void
DcModleVoltDetect
(
u16
Voltage
)
{
{
if
(
UserParam
.
VoltHigh
<
(
u16
)
(
Voltage
))
if
(
UserParam
.
VoltHigh
<
(
u16
)
(
Voltage
))
{
{
if
(
DcModleVoltChkCnt
<
5
)
if
(
DcModleVoltChkCnt
<
5
)
DcModleVoltChkCnt
++
;
DcModleVoltChkCnt
++
;
else
else
DcModleVoltChkCnt
=
5
;
DcModleVoltChkCnt
=
5
;
}
}
else
if
(
UserParam
.
VoltLow
>
(
u16
)
(
Voltage
))
else
if
(
UserParam
.
VoltLow
>
(
u16
)
(
Voltage
))
{
{
if
(
DcModleVoltChkCnt
>
-
5
)
if
(
DcModleVoltChkCnt
>
-
5
)
DcModleVoltChkCnt
--
;
DcModleVoltChkCnt
--
;
else
else
DcModleVoltChkCnt
=
-
5
;
DcModleVoltChkCnt
=
-
5
;
}
}
else
else
{
{
if
(
DcModleVoltChkCnt
>
0
)
if
(
DcModleVoltChkCnt
>
0
)
DcModleVoltChkCnt
--
;
DcModleVoltChkCnt
--
;
else
if
(
DcModleVoltChkCnt
<
0
)
else
if
(
DcModleVoltChkCnt
<
0
)
DcModleVoltChkCnt
++
;
DcModleVoltChkCnt
++
;
else
else
DcModleVoltChkCnt
=
0
;
DcModleVoltChkCnt
=
0
;
}
}
}
}
s8
getDcMoudleVoltChkCnt
(
void
)
s8
getDcMoudleVoltChkCnt
(
void
)
{
{
return
DcModleVoltChkCnt
;
return
DcModleVoltChkCnt
;
}
}
void
setDcMoudleVoltChkCnt
(
s8
val
)
{
DcModleVoltChkCnt
=
0
;
}
void
DcModule_ZhongXing
(
void
)
{
u32
addr_src
=
0x6f
;
u32
addr_dst
=
0xa0
;
u32
cmd
=
0
;
StructDcModuleSend
DataSend
=
{
0
};
DataSend
.
Id
=
(
6
<<
26
)
|
(
cmd
<<
16
)
|
(
addr_dst
<<
8
)
|
(
addr_src
);
DataSend
.
Len
=
8
;
DataSend
.
Data
[
0
]
=
0x10
;
DataSend
.
Data
[
1
]
=
0x00
;
DataSend
.
Data
[
2
]
=
0x00
;
DataSend
.
Data
[
3
]
=
0x00
;
DataSend
.
Data
[
4
]
=
0x00
;
DataSend
.
Data
[
5
]
=
0x00
;
DataSend
.
Data
[
6
]
=
0x00
;
DataSend
.
Data
[
7
]
=
0x00
;
if
(
pdTRUE
!=
xQueueSend
(
DcModeMsg
,
&
DataSend
,
0
))
{
//osDelay(10);
}
}
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
浏览文件 @
620b36ac
...
@@ -23,8 +23,8 @@ s32 GetChgVoltChgRun_B(void)
...
@@ -23,8 +23,8 @@ s32 GetChgVoltChgRun_B(void)
s32
GetChgCurrtChgRun_B
(
void
)
s32
GetChgCurrtChgRun_B
(
void
)
{
{
if
(
eMeterSta_Unavail
!=
MeterComm
.
Status_B
)
//
if(eMeterSta_Unavail != MeterComm.Status_B)
return
MeterValue_B
.
Current
/
100
;
//
return MeterValue_B.Current/100;
if
(
BcsMsg_B
.
Valid
)
if
(
BcsMsg_B
.
Valid
)
return
abs
((
s32
)
BcsMsg_B
.
ChgCurrt
-
4000
);
return
abs
((
s32
)
BcsMsg_B
.
ChgCurrt
-
4000
);
return
-
1
;
return
-
1
;
...
@@ -97,7 +97,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -97,7 +97,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
{
{
if
((
GetSystemTick
()
-
CCS_SendTick
)
>
50
)
if
((
GetSystemTick
()
-
CCS_SendTick
)
>
50
)
{
{
CCS_Send_B
(
MeterValue_B
.
Voltage
,
(
4000
-
MeterValue_B
.
Current
/
100
),
GetChgMin
(),
CcsChgEnable
);
CCS_Send_B
(
GetDcModuleVolt_B
(),
(
4000
-
GetDcModuleCurrt_B
()),
GetChgMin_B
(),
CcsChgEnable
);
CCS_SendTick
=
GetSystemTick
();
CCS_SendTick
=
GetSystemTick
();
}
}
...
@@ -227,7 +227,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
...
@@ -227,7 +227,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
if
((
eChgVer_2011
!=
UserParam
.
ChgVer
)
&&
(
eChgVer_2011
!=
ChgVer_B
))
if
((
eChgVer_2011
!=
UserParam
.
ChgVer
)
&&
(
eChgVer_2011
!=
ChgVer_B
))
{
{
Temp
=
GetChgCurrtChgRun_B
();
Temp
=
GetChgCurrtChgRun_B
();
if
((
0
!=
CcsChgEnable
)
&&
(
Temp
>
(
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
))
&&
(
Temp
>
GetDcModuleCurrtSet_B
()))
if
((
Temp
>
0
)
&&
(
0
!=
CcsChgEnable
)
&&
(
Temp
>
(
DcModuleAbility
.
MinCurrt
*
DcModuleManage_B
.
ValidNum
))
&&
(
Temp
>
GetDcModuleCurrtSet_B
()))
{
{
if
((
Temp
-
GetDcModuleCurrtSet_B
())
>
(
GetDcModuleCurrtSet_B
()
*
10
/
100
))
if
((
Temp
-
GetDcModuleCurrtSet_B
())
>
(
GetDcModuleCurrtSet_B
()
*
10
/
100
))
{
{
...
...
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
浏览文件 @
620b36ac
...
@@ -104,7 +104,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
...
@@ -104,7 +104,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
{
{
if
((
GetSystemTick
()
-
CCS_SendTick
)
>
50
)
if
((
GetSystemTick
()
-
CCS_SendTick
)
>
50
)
{
{
CCS_Send
(
MeterValue
.
Voltage
,
(
4000
-
MeterValue
.
Current
/
100
),
GetChgMin
(),
CcsChgEnable
);
CCS_Send
(
GetDcModuleVolt
(),
(
4000
-
GetDcModuleCurrt
()
),
GetChgMin
(),
CcsChgEnable
);
CCS_SendTick
=
GetSystemTick
();
CCS_SendTick
=
GetSystemTick
();
}
}
...
@@ -244,7 +244,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
...
@@ -244,7 +244,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
{
{
Temp
=
GetChgCurrtChgRun
();
Temp
=
GetChgCurrtChgRun
();
if
((
0
!=
CcsChgEnable
)
&&
(
Temp
>
(
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
))
&&
if
((
Temp
>
0
)
&&
(
0
!=
CcsChgEnable
)
&&
(
Temp
>
(
DcModuleAbility
.
MinCurrt
*
DcModuleManage
.
ValidNum
))
&&
(
Temp
>
GetDcModuleCurrtSet
()))
(
Temp
>
GetDcModuleCurrtSet
()))
{
{
if
((
Temp
-
GetDcModuleCurrtSet
())
>
(
GetDcModuleCurrtSet
()
*
10
/
100
))
if
((
Temp
-
GetDcModuleCurrtSet
())
>
(
GetDcModuleCurrtSet
()
*
10
/
100
))
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
浏览文件 @
620b36ac
...
@@ -33,6 +33,8 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
...
@@ -33,6 +33,8 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
BmsCanInit
();
BmsCanInit
();
osDelay
(
20
);
osDelay
(
20
);
//TCUCurChgRecd.TCUChargeEnable = 1;
while
(
1
)
while
(
1
)
{
{
ChgPgnRecv
(
&
PgnRecv
);
ChgPgnRecv
(
&
PgnRecv
);
...
...
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTestTwo.c
浏览文件 @
620b36ac
...
@@ -239,10 +239,10 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
...
@@ -239,10 +239,10 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
//DcOutNegSet(eSwSta_On);
//DcOutNegSet(eSwSta_On);
break
;
break
;
case
BtnFactoryTestTwo_DehOff
:
case
BtnFactoryTestTwo_DehOff
:
//Dehumidifie
rSet(eSwSta_Off);
ACContacto
rSet
(
eSwSta_Off
);
break
;
break
;
case
BtnFactoryTestTwo_DehOn
:
case
BtnFactoryTestTwo_DehOn
:
//Dehumidifie
rSet(eSwSta_On);
ACContacto
rSet
(
eSwSta_On
);
break
;
break
;
case
BtnFactoryTestTwo_eLockOff
:
case
BtnFactoryTestTwo_eLockOff
:
LockSet
(
eSwSta_Off
);
LockSet
(
eSwSta_Off
);
...
...
DcPillar/Src/Thread/Thd_Mult.c
浏览文件 @
620b36ac
...
@@ -748,12 +748,17 @@ void Thd_Mult(void const *parameter)
...
@@ -748,12 +748,17 @@ void Thd_Mult(void const *parameter)
}
}
/*输入电压异常检测*/
/*输入电压异常检测*/
extern
s8
getDcMoudleVoltChkCnt
(
void
);
extern
s8
getDcMoudleVoltChkCnt
(
void
);
if
(
(
5
==
getDcMoudleVoltChkCnt
())
||
(
-
5
==
getDcMoudleVoltChkCnt
()
))
if
(
5
==
getDcMoudleVoltChkCnt
(
))
{
{
PillarError
.
Value
.
InVolt
=
1
;
PillarError
.
Value
.
InVolt
=
1
;
PillarError_B
.
Value
.
InVolt
=
1
;
PillarError_B
.
Value
.
InVolt
=
1
;
}
}
else
if
(
0
==
VoltChkCnt
)
else
if
(
-
5
==
getDcMoudleVoltChkCnt
())
{
PillarError
.
Value
.
InVolt
=
1
;
PillarError_B
.
Value
.
InVolt
=
1
;
}
else
if
(
0
==
getDcMoudleVoltChkCnt
())
{
{
PillarError
.
Value
.
InVolt
=
0
;
PillarError
.
Value
.
InVolt
=
0
;
PillarError_B
.
Value
.
InVolt
=
0
;
PillarError_B
.
Value
.
InVolt
=
0
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论