Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiancetai
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈家乐
jiancetai
Commits
575b117c
Commit
575b117c
authored
Dec 19, 2024
by
何锐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:EC02更新老化台
parent
0ed24376
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
653 additions
and
372 deletions
+653
-372
API_RTC.c
Test_Bench/Api_Sources/API_RTC.c
+1
-1
APP_CAN.c
Test_Bench/Api_Sources/APP_CAN.c
+248
-40
APP_Test.c
Test_Bench/Api_Sources/APP_Test.c
+239
-291
APP_Test.h
Test_Bench/App_Headers/APP_Test.h
+123
-30
Globals_Var.h
Test_Bench/App_Headers/Globals_Var.h
+42
-10
No files found.
Test_Bench/Api_Sources/API_RTC.c
View file @
575b117c
...
...
@@ -421,7 +421,7 @@ interrupt void Api_RTC_isr(void)
if
(
direction_espeed
==
1
)
{
k
++
;
if
(
k
>
1
2
)
if
(
k
>
1
1
)
{
direction_espeed
=
0
;
}
...
...
Test_Bench/Api_Sources/APP_CAN.c
View file @
575b117c
...
...
@@ -94,25 +94,94 @@ void Set_CAN_CRC(CAN_message * CanMessage){
*/
void
Format_CAN_Msg
()
{
CanMsg_101
.
ID
=
0x101
;
CanMsg_111
.
ID
=
0x111
;
CanMsg_37B
.
ID
=
0x37B
;
CanMsg_101
.
Length
=
8
;
CanMsg_111
.
Length
=
8
;
CanMsg_37B
.
Length
=
8
;
CanMsg_101
.
ID_EN
=
1
;
CanMsg_111
.
ID_EN
=
1
;
CanMsg_37B
.
ID_EN
=
1
;
// CanMsg_101.ID = 0x101;
// CanMsg_111.ID = 0x111;
// CanMsg_37B.ID = 0x37B;
CanMsg_0x81
.
ID
=
0x81
;
CanMsg_0x82
.
ID
=
0x82
;
CanMsg_0xB2
.
ID
=
0xB2
;
CanMsg_0xB3
.
ID
=
0xB3
;
CanMsg_0xC1
.
ID
=
0xC1
;
CanMsg_0xC2
.
ID
=
0xC2
;
CanMsg_0xC3
.
ID
=
0xC3
;
CanMsg_0x122
.
ID
=
0x122
;
CanMsg_0x212
.
ID
=
0x212
;
CanMsg_0x217
.
ID
=
0x217
;
CanMsg_0x218
.
ID
=
0x218
;
CanMsg_0x221
.
ID
=
0x221
;
CanMsg_0x310
.
ID
=
0x310
;
CanMsg_0x312
.
ID
=
0x312
;
CanMsg_0x321
.
ID
=
0x321
;
CanMsg_0x353
.
ID
=
0x364
;
CanMsg_0x21F
.
ID
=
0x21F
;
// CanMsg_101.Length = 8;
// CanMsg_111.Length = 8;
// CanMsg_37B.Length = 8;
CanMsg_0x81
.
Length
=
8
;
CanMsg_0x82
.
Length
=
8
;
CanMsg_0xB2
.
Length
=
8
;
CanMsg_0xB3
.
Length
=
8
;
CanMsg_0xC1
.
Length
=
8
;
CanMsg_0xC2
.
Length
=
8
;
CanMsg_0xC3
.
Length
=
8
;
CanMsg_0x122
.
Length
=
8
;
CanMsg_0x212
.
Length
=
8
;
CanMsg_0x217
.
Length
=
8
;
CanMsg_0x218
.
Length
=
8
;
CanMsg_0x221
.
Length
=
8
;
CanMsg_0x310
.
Length
=
8
;
CanMsg_0x312
.
Length
=
8
;
CanMsg_0x321
.
Length
=
8
;
CanMsg_0x353
.
Length
=
8
;
CanMsg_0x21F
.
Length
=
8
;
// CanMsg_101.ID_EN = 1;
// CanMsg_111.ID_EN = 1;
// CanMsg_37B.ID_EN = 1;
CanMsg_0x81
.
ID_EN
=
1
;
CanMsg_0x82
.
ID_EN
=
1
;
CanMsg_0xB2
.
ID_EN
=
1
;
CanMsg_0xB3
.
ID_EN
=
1
;
CanMsg_0xC1
.
ID_EN
=
1
;
CanMsg_0xC2
.
ID_EN
=
1
;
CanMsg_0xC3
.
ID_EN
=
1
;
CanMsg_0x122
.
ID_EN
=
1
;
CanMsg_0x212
.
ID_EN
=
1
;
CanMsg_0x217
.
ID_EN
=
1
;
CanMsg_0x218
.
ID_EN
=
1
;
CanMsg_0x221
.
ID_EN
=
1
;
CanMsg_0x310
.
ID_EN
=
1
;
CanMsg_0x312
.
ID_EN
=
1
;
CanMsg_0x321
.
ID_EN
=
1
;
CanMsg_0x353
.
ID_EN
=
1
;
CanMsg_0x21F
.
ID_EN
=
1
;
}
void
Disable_CAN_Tx
(
void
){
CanMsg_101
.
ID_EN
=
0
;
CanMsg_111
.
ID_EN
=
0
;
CanMsg_37B
.
ID_EN
=
0
;
// CanMsg_101.ID_EN = 0;
// CanMsg_111.ID_EN = 0;
// CanMsg_37B.ID_EN = 0;
CanMsg_0x81
.
ID_EN
=
0
;
CanMsg_0x82
.
ID_EN
=
0
;
CanMsg_0xB2
.
ID_EN
=
0
;
CanMsg_0xB3
.
ID_EN
=
0
;
CanMsg_0xC1
.
ID_EN
=
0
;
CanMsg_0xC2
.
ID_EN
=
0
;
CanMsg_0xC3
.
ID_EN
=
0
;
CanMsg_0x122
.
ID_EN
=
0
;
CanMsg_0x212
.
ID_EN
=
0
;
CanMsg_0x217
.
ID_EN
=
0
;
CanMsg_0x218
.
ID_EN
=
0
;
CanMsg_0x221
.
ID_EN
=
0
;
CanMsg_0x310
.
ID_EN
=
0
;
CanMsg_0x312
.
ID_EN
=
0
;
CanMsg_0x321
.
ID_EN
=
0
;
CanMsg_0x353
.
ID_EN
=
0
;
CanMsg_0x21F
.
ID_EN
=
0
;
}
void
Set_Pin
(
INT16U
pin
)
...
...
@@ -129,7 +198,8 @@ void Set_Pin(INT16U pin)
* Return : None
* onther :
--------------------------------------------------------------------------*/
extern
int
canover_flag_1
;
extern
int
canover_flag_2
;
void
App_Can_Proc
(
void
)
{
unsigned
char
i
;
...
...
@@ -142,14 +212,20 @@ void App_Can_Proc(void)
if
(
GetCtrlTime
(
CANMsgSend_10ms
)
>=
10
){
ClearCtrlTime
(
CANMsgSend_10ms
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_101
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_101
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x81
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x81
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x82
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x82
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0xB2
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0xB2
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_
111
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_
111
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_
0xB3
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_
0xB3
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_
37B
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_
37B
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_
0xC1
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_
0xC1
);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDCD5);
//bReturn = Api_CANSendFrame((CAN_message *)&CanMessageID18FEDED5);
...
...
@@ -159,12 +235,18 @@ void App_Can_Proc(void)
if
(
GetCtrlTime
(
CANMsgSend_20ms
)
>=
20
){
ClearCtrlTime
(
CANMsgSend_20ms
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0xC2
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0xC2
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0xC3
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0xC3
);
}
if
(
GetCtrlTime
(
CANMsgSend_50ms
)
>=
50
){
ClearCtrlTime
(
CANMsgSend_50ms
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x122
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x122
);
// bReturn = Api_CANSendFrame((CAN_message *)&CanMsg_341);
...
...
@@ -176,12 +258,50 @@ void App_Can_Proc(void)
if
(
GetCtrlTime
(
CANMsgSend_100ms
)
>=
100
){
ClearCtrlTime
(
CANMsgSend_100ms
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x212
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x212
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x217
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x217
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x218
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x218
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x221
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x221
);
// if(CurValueStr[ BCM_MetricMilesSwitchSet].val == 0 )
// {
// ;
// }
// else
// {
if
(
canover
==
0
)
{
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x21F
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x21F
);
canover_flag_1
=
1
;
canover_flag_2
=
1
;
canover
=
1
;
}
}
if
(
GetCtrlTime
(
CANMsgSend_200ms
)
>=
200
){
ClearCtrlTime
(
CANMsgSend_200ms
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x310
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x310
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x312
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x312
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x321
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x321
);
}
...
...
@@ -196,6 +316,8 @@ void App_Can_Proc(void)
if
(
GetCtrlTime
(
CANMsgSend_1s
)
>=
1000
){
ClearCtrlTime
(
CANMsgSend_1s
);
bReturn
=
Api_CANSendFrame
((
CAN_message
*
)
&
CanMsg_0x353
);
Clear_CAN_Msg
((
CAN_message
*
)
&
CanMsg_0x353
);
}
...
...
@@ -214,24 +336,110 @@ void App_Can_Proc(void)
//CurValueStr[ENUM_VSpeed ].val = 0;
CurValueStr
[
ENUM_RSpeed
].
val
=
0
;
CurValueStr
[
ENUM_WaterTemp
].
val
=
0
;
CurValueStr
[
TCS_Warning_Lamp
].
val
=
0
;
CurValueStr
[
TCS_Work_Mode
].
val
=
0
;
CurValueStr
[
ISG_Power
].
val
=
0
;
CurValueStr
[
ISG_Power_Enable
].
val
=
0
;
CurValueStr
[
ENUM_VSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
ENUM_RSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
ENUM_WaterTemp
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_Warning_Lamp
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_Work_Mode
].
fval
=
Value_Plus
;
CurValueStr
[
ISG_Power
].
fval
=
Value_Plus
;
CurValueStr
[
ISG_Power_Enable
].
fval
=
Value_Plus
;
// CurValueStr[ENUM_RSpeed ].val = 0;
// CurValueStr[ENUM_WaterTemp ].val = 0;
// CurValueStr[TCS_Warning_Lamp ].val = 0;
// CurValueStr[TCS_Work_Mode ].val = 0;
// CurValueStr[ISG_Power ].val = 0;
// CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0
;
CurValueStr
[
ABS_Warning_Lamp
].
val
=
0
;
CurValueStr
[
BCM_PositionLightIndication
].
val
=
0
;
CurValueStr
[
BCM_TurnLeftandRightIndication
].
val
=
0
;
CurValueStr
[
BCM_TurnRightIndication
].
val
=
0
;
CurValueStr
[
BCM_TurnLeftIndication
].
val
=
0
;
CurValueStr
[
BCM_LowBeamIndication
].
val
=
0
;
CurValueStr
[
BCM_HighBeamIndication
].
val
=
0
;
CurValueStr
[
TCS_WarningLamp
].
val
=
0
;
CurValueStr
[
TCS_WorkSt
].
val
=
0
;
CurValueStr
[
TCS_Control
].
val
=
0
;
CurValueStr
[
MCU_GearPosition
].
val
=
0
;
CurValueStr
[
MCU_ReadyStatus
].
val
=
0
;
CurValueStr
[
MCU_CruiseSwitchActive
].
val
=
0
;
CurValueStr
[
MCU_LimpingMode
].
val
=
0
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
0
;
CurValueStr
[
MCU_OperationMode
].
val
=
0
;
CurValueStr
[
MCU_MotorTemperature
].
val
=
0
;
CurValueStr
[
MCU_AutoHoldSta
].
val
=
0
;
CurValueStr
[
MCU_ControllerWorkingState
].
val
=
0
;
CurValueStr
[
MCU_CruiseState
].
val
=
0
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
0
;
CurValueStr
[
BCM_PowerOnStatus
].
val
=
0
;
CurValueStr
[
BMS1_SOH
].
val
=
0
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
0
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
0
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
0
;
CurValueStr
[
MCU_HighestFaultPrompt
].
val
=
0
;
CurValueStr
[
ICU_RemainrvMile
].
val
=
0
;
CurValueStr
[
ICU_Speed
].
val
=
0
;
CurValueStr
[
BMS2_SOH
].
val
=
0
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
0
;
CurValueStr
[
BMS2_PACKInTotalVoltage
].
val
=
0
;
CurValueStr
[
BMS1_HighestFaultPrompt
].
val
=
0
;
CurValueStr
[
BMS2_HighestFaultPrompt
].
val
=
0
;
CurValueStr
[
BMS_ChargerConnectSignal
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Valid
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Second
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Minute
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Hour
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Day
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Month
].
val
=
0
;
CurValueStr
[
BCM_RTCDate_Year
].
val
=
0
;
CurValueStr
[
BCM_MetricMilesSwitchSet
].
val
=
0
;
// CurValueStr[ENUM_VSpeed ].fval = Value_Plus;
// CurValueStr[ENUM_RSpeed ].fval = Value_Plus;
// CurValueStr[ENUM_WaterTemp ].fval = Value_Plus;
// CurValueStr[TCS_Warning_Lamp ].fval = Value_Plus;
// CurValueStr[TCS_Work_Mode ].fval = Value_Plus;
// CurValueStr[ISG_Power ].fval = Value_Plus;
// CurValueStr[ISG_Power_Enable ].fval = Value_Plus;
CurValueStr
[
ABS_VehicleSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
ABS_Warning_Lamp
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_PositionLightIndication
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_TurnLeftandRightIndication
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_TurnRightIndication
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_TurnLeftIndication
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_LowBeamIndication
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_HighBeamIndication
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_WarningLamp
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_WorkSt
].
fval
=
Value_Plus
;
CurValueStr
[
TCS_Control
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_GearPosition
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_ReadyStatus
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_CruiseSwitchActive
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_LimpingMode
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_OperationMode
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_MotorTemperature
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_AutoHoldSta
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_ControllerWorkingState
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_CruiseState
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_MotorSpeed
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_PowerOnStatus
].
fval
=
Value_Plus
;
CurValueStr
[
BMS1_SOH
].
fval
=
Value_Plus
;
CurValueStr
[
BMS1_PACKTotalSOC
].
fval
=
Value_Plus
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
fval
=
Value_Plus
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
fval
=
Value_Plus
;
CurValueStr
[
MCU_HighestFaultPrompt
].
fval
=
Value_Plus
;
CurValueStr
[
ICU_RemainrvMile
].
fval
=
Value_Plus
;
CurValueStr
[
ICU_Speed
].
fval
=
Value_Plus
;
CurValueStr
[
BMS2_SOH
].
fval
=
Value_Plus
;
CurValueStr
[
BMS2_PACKTotalSOC
].
fval
=
Value_Plus
;
CurValueStr
[
BMS2_PACKInTotalVoltage
].
fval
=
Value_Plus
;
CurValueStr
[
BMS1_HighestFaultPrompt
].
fval
=
Value_Plus
;
CurValueStr
[
BMS2_HighestFaultPrompt
].
fval
=
Value_Plus
;
CurValueStr
[
BMS_ChargerConnectSignal
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Valid
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Second
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Minute
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Hour
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Day
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Month
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_RTCDate_Year
].
fval
=
Value_Plus
;
CurValueStr
[
BCM_MetricMilesSwitchSet
].
fval
=
Value_Plus
;
// CurVehSpeed = 0;
...
...
Test_Bench/Api_Sources/APP_Test.c
View file @
575b117c
...
...
@@ -2,7 +2,7 @@
#include "../App_Headers/includes.h"
#include "../Library/TimeCtrl.h"
#define STEP_MAX
34
//
#define STEP_MAX
11
//步数
void
All_Lamp_TurnOn
(
void
);
...
...
@@ -11,25 +11,6 @@ void APP_Test_Init(void){
Key
.
CAN_Step
=
null
;
Key
.
CAN_Step
=
null
;
// CurValueStr[ENUM_BatteryCurrent].val = 0;
//CurValueStr[CoolTemp].val = 0;
//CurValueStr[VehSpeed].val = 0;
//CurValueStr[AD_Blue].val = 0;
// CurValueStr[ENUM_BatteryCurrent].fval = Value_Plus;
//CurValueStr[CoolTemp].fval = Value_Plus;
//CurValueStr[VehSpeed].fval = Value_Plus;
//CurValueStr[AD_Blue].fval = Value_Plus;
//CanMessageID18F00029.Msg[1] = 0x7D;
//LDW Open
//CanMessageID18FE5BE8.Msg[0] |= 0x40;
//FCW Open
// CanMessageID0CF02FA0.Msg[0] |= 0x03;
//AutoLwBm Open
// CanMessageID18FF0B21.Msg[5] |= 0x10;
EOLMode
=
1
;
EOLStep
=
0
;
EOLError
=
0
;
...
...
@@ -37,44 +18,78 @@ void APP_Test_Init(void){
unsigned
int
count_flag_a
=
1
;
unsigned
int
speed_value
=
0
;
void
APP_Button_Proc
(
void
){
/*if(Key.PushTime_1 > T_3s){
Key.StepAuto = 1;
}
if(Key.PushTime_2 > T_3s){
Key.StepAuto = 2;
}*/
if
((
Key
.
PushTime_2
>
T_2s
)
||
(
Key
.
PushTime_1
>
T_2s
)){
Key
.
StepAuto
=
1
;
}
// if(Key.PushTime_1 > T_3s){
// Key.StepAuto = 1;
// }
// if(Key.PushTime_2 > T_1s){
// Key.StepAuto = 2;
// }
// if(Key.PushTime_2 > T_2s){
// Key.StepAuto = 1;
// }
// if((Key.PushTime_2 > T_2s) || (Key.PushTime_1 > T_2s)){
// Key.StepAuto = 1;
// }
if
(
pSB1
==
1
){
if
((
Key
.
PushTime_1
>
T_50ms
)
&&
(
!
Key
.
StepAuto
)){
count_flag_a
=
1
;
// if ((pSB1 == 1) && (pSB2 == 1))
// {
// if ((Key.PushTime_1 > T_50ms) && (Key.PushTime_2 > T_50ms) && (!Key.StepAuto))
// {
// count_flag_a = 1;
// Key.CAN_Step++;
// if(Key.CAN_Step > STEP_MAX){
// if (Key.CAN_Step > STEP_MAX)
// {
// Key.CAN_Step = 0;
// }
// Key.PushTime_1 = null;
// Key.PushTime_2 = null;
// }
// else if (Key.StepAuto)
// {
// count_flag_a = 0;
// Key.PushTime_1 = null;
// Key.PushTime_2 = null;
// }
// }
if
(
pSB2
==
1
)
//左键手动
{
if
((
Key
.
PushTime_2
>
T_50ms
)
&&
(
!
Key
.
StepAuto
))
{
count_flag_a
=
0
;
Key
.
CAN_Step
++
;
if
(
Key
.
CAN_Step
>
STEP_MAX
)
{
Key
.
CAN_Step
=
1
;
}
}
if
(
count_flag_a
==
0
)
{
Key
.
PushTime_2
=
null
;
}
Key
.
PushTime_1
=
null
;
}
if
(
pSB2
==
1
){
if
((
Key
.
PushTime_2
>
T_50ms
)
&&
(
!
Key
.
StepAuto
)){
if
(
pSB1
==
1
)
//右键自动
{
if
((
Key
.
PushTime_1
>
T_50ms
)
&&
(
!
Key
.
StepAuto
))
{
count_flag_a
=
1
;
Key
.
CAN_Step
++
;
if
(
Key
.
CAN_Step
>
STEP_MAX
)
{
Key
.
CAN_Step
=
0
;
}
Key
.
PushTime_1
=
null
;
}
else
if
(
Key
.
StepAuto
)
{
count_flag_a
=
0
;
// if(Key.CAN_Step > 0){
// Key.CAN_Step--;
// }else{
// Key.CAN_Step = STEP_MAX;
// }
Key
.
PushTime_1
=
null
;
}
Key
.
PushTime_2
=
null
;
}
}
#define TirePressure(value) CurValueStr[ENUM_TirePressure_LF].val = value; CurValueStr[ENUM_TirePressure_RF].val = value; CurValueStr[ENUM_TirePressure_LR].val = value; CurValueStr[ENUM_TirePressure_RR].val = value;
#define TireTemp(value) CurValueStr[ENUM_TireTemp_LF ].val = value; CurValueStr[ENUM_TireTemp_RF ].val = value; CurValueStr[ENUM_TireTemp_LR ].val = value; CurValueStr[ENUM_TireTemp_RR ].val = value;
...
...
@@ -83,264 +98,188 @@ unsigned int lost_flag = 0;
unsigned
int
CAN_init_flag
=
0
;
unsigned
int
CAN_lost_flag
=
0
;
unsigned
int
water_value
=
0
;
unsigned
int
mileflag
=
0
;
unsigned
int
switchon
=
0
;
unsigned
int
miletime
=
0
;
unsigned
int
canfinish
=
0
;
unsigned
int
canover
=
0
;
unsigned
int
canover_flag_1
=
0
;
unsigned
int
canover_flag_2
=
0
;
// unsigned int miletime = 0;
void
APP_ICM_Proc
(
void
)
/*zh321*/
/*FS04*/
{
//if(count_flag_a==1)
{
{
CurValueStr
[
ENUM_VSpeed
].
val
=
199
;
//
CurValueStr
[
ENUM_RSpeed
].
val
=
12000
;
//ת
CurValueStr
[
ENUM_WaterTemp
].
val
=
122
;
//ˮ
CurValueStr
[
ISG_Ready
].
val
=
1
;
CurValueStr
[
ISG_Power
].
val
=
1
;
CurValueStr
[
ISG_Power_Enable
].
val
=
1
;
CurValueStr
[
TCS_Warning_Lamp
].
val
=
1
;
CurValueStr
[
TCS_Work_Mode
].
val
=
1
;
#if 0
#if 1
switch
(
Key
.
CAN_Step
)
{
case
1
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 1000;//ת
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
//车速
CurValueStr
[
MCU_MotorSpeed
].
val
=
1130
;
//车速
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
5
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
5
;
//电池电量
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
//能量回收
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
11
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
//功率
CurValueStr
[
BCM_TurnLeftIndication
].
val
=
1
;
//左转
CurValueStr
[
MCU_ReadyStatus
].
val
=
1
;
//Ready
CurValueStr
[
MCU_GearPosition
].
val
=
1
;
break
;
}break;
case
2
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 2000;//ת
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1240
;
//车速
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
16
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
16
;
//电池
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
//能量回收
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
22
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
100
;
//功率
CurValueStr
[
BCM_LowBeamIndication
].
val
=
1
;
//近光
CurValueStr
[
BCM_PositionLightIndication
].
val
=
1
;
//示廓
CurValueStr
[
MCU_OperationMode
].
val
=
1
;
//ECO
break
;
}break;
case
3
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 3000;//ת
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 4:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 4000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1350
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
37
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
37
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
CurValueStr
[
BCM_HighBeamIndication
].
val
=
1
;
CurValueStr
[
BCM_TurnRightIndication
].
val
=
1
;
CurValueStr
[
MCU_OperationMode
].
val
=
2
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
33
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
case
4
:
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1460
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
88
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
88
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
CurValueStr
[
ABS_Warning_Lamp
].
val
=
1
;
CurValueStr
[
MCU_GearPosition
].
val
=
5
;
CurValueStr
[
MCU_OperationMode
].
val
=
3
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
44
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
}break;
case
5
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 5000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1570
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
0
;
CurValueStr
[
MCU_CruiseState
].
val
=
1
;
CurValueStr
[
MCU_GearPosition
].
val
=
2
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
55
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
case
6
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 6000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1690
;
CurValueStr
[
MCU_LimpingMode
].
val
=
1
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
1
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
66
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
CurValueStr
[
MCU_GearPosition
].
val
=
1
;
break
;
case
7
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 7000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
2
;
//能量回收
CurValueStr
[
MCU_HighestFaultPrompt
].
val
=
3
;
//故障
CurValueStr
[
MCU_MotorSpeed
].
val
=
1800
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
77
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
case
8
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 8000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_AutoHoldSta
].
val
=
1
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
1910
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
88
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
}break;
case
9
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 9000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
2020
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
99
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
canover_flag_1
=
0
;
break
;
}break;
case
10
:
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
3
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
2060
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
99
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
CurValueStr
[
MCU_HighestFaultPrompt
].
val
=
3
;
if
(
canover_flag_1
==
0
)
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 10000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
CurValueStr
[
BCM_MetricMilesSwitchSet
].
val
=
1
;
canover
=
0
;
}
}break;
canover_flag_2
=
0
;
break
;
case
11
:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 11000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 2;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
else
{
CurValueStr[ISG_Power ].val = 1;
CurValueStr[ISG_Power_Enable ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
}break;
case 12:
{
CurValueStr[ENUM_VSpeed ].val = speed_value;//
CurValueStr[ENUM_RSpeed ].val = 12000;
CurValueStr[ENUM_WaterTemp ].val = water_value;//ˮ
if(direction_espeed==1)
{
CurValueStr[ISG_Power ].val = 0;
CurValueStr[ISG_Power_Enable ].val = 0;
CurValueStr[TCS_Warning_Lamp ].val = 1;
CurValueStr[TCS_Work_Mode ].val = 0;
}
else
{
CurValueStr[ISG_Ready ].val = 1;
CurValueStr[TCS_Warning_Lamp ].val = 0;
CurValueStr[TCS_Work_Mode ].val = 1;
}
}break;
canover_flag_1
=
0
;
if
(
canover_flag_2
==
0
)
{
CurValueStr
[
BCM_MetricMilesSwitchSet
].
val
=
1
;
canover
=
0
;
}
CurValueStr
[
ABS_VehicleSpeed
].
val
=
0xFFFF
;
CurValueStr
[
MCU_MotorSpeed
].
val
=
2020
;
CurValueStr
[
ABS_Warning_Lamp
].
val
=
1
;
CurValueStr
[
BCM_PositionLightIndication
].
val
=
1
;
CurValueStr
[
BCM_TurnLeftandRightIndication
].
val
=
1
;
CurValueStr
[
BCM_TurnRightIndication
].
val
=
1
;
CurValueStr
[
BCM_TurnLeftIndication
].
val
=
1
;
CurValueStr
[
BCM_LowBeamIndication
].
val
=
1
;
CurValueStr
[
BCM_HighBeamIndication
].
val
=
1
;
CurValueStr
[
TCS_WarningLamp
].
val
=
1
;
CurValueStr
[
TCS_WorkSt
].
val
=
1
;
CurValueStr
[
TCS_Control
].
val
=
1
;
CurValueStr
[
MCU_GearPosition
].
val
=
2
;
CurValueStr
[
MCU_ReadyStatus
].
val
=
1
;
CurValueStr
[
MCU_CruiseSwitchActive
].
val
=
1
;
CurValueStr
[
MCU_LimpingMode
].
val
=
1
;
CurValueStr
[
MCU_OperationMode
].
val
=
3
;
CurValueStr
[
MCU_AutoHoldSta
].
val
=
1
;
CurValueStr
[
MCU_ControllerWorkingState
].
val
=
1
;
CurValueStr
[
MCU_CruiseState
].
val
=
1
;
CurValueStr
[
ICU_RemainrvMile
].
val
=
1
;
CurValueStr
[
BMS1_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
BMS2_PACKTotalSOC
].
val
=
100
;
CurValueStr
[
MCU_EnergyRecIntensitySet
].
val
=
2
;
CurValueStr
[
MCU_HighestFaultPrompt
].
val
=
3
;
CurValueStr
[
BMS1_PACKTotalCurrent
].
val
=
40000
;
CurValueStr
[
BMS1_PACKInTotalVoltage
].
val
=
100
;
break
;
}
#endif
}
...
...
@@ -442,7 +381,7 @@ void Message_FillDatas(CAN_message *Message, unsigned char StartByte, unsigned c
}
INT8U
aaa
;
void
Message_Value_Calculate
(
s_CAN_List
list
)
{
...
...
@@ -455,6 +394,7 @@ void Message_Value_Calculate(s_CAN_List list)
INT8U
Byte_Count
;
INT8U
i
;
CanMessage
=
list
.
canMsg
;
Start_Byte
=
list
.
StartByte
;
Start_Bit
=
list
.
StartBit
;
...
...
@@ -468,6 +408,14 @@ void Message_Value_Calculate(s_CAN_List list)
CurValue
=
list
.
CurValue
->
val
;
Value_Flag
=
list
.
CurValue
->
fval
;
if
(
CanMessage
->
ID
==
0x81
)
{
if
(
Start_Bit
==
0
)
{
aaa
=
1
;
}
}
temp
=
CurValue
;
...
...
@@ -495,7 +443,7 @@ void Message_Value_Calculate(s_CAN_List list)
}
temp
=
temp
*
Factor_1
/
Factor_2
;
//temp = temp << Start_Bit;
//
temp = temp << Start_Bit;
Byte_Count
=
len
/
8
;
if
((
len
%
8
)
!=
0
){
...
...
Test_Bench/App_Headers/APP_Test.h
View file @
575b117c
...
...
@@ -31,49 +31,142 @@ typedef struct{
unsigned
char
SignalLen
;
unsigned
int
Offset
;
unsigned
char
fOffset
;
unsigned
int
Factor_1
;
/*Denominator of Resolution*/
/*���ȵķ�ĸ*/
unsigned
int
Factor_2
;
/*Numerator of Resolution*/
/*���ȵķ���*/
unsigned
int
Factor_1
;
unsigned
int
Factor_2
;
s_CurValue
*
CurValue
;
unsigned
char
fFormat
;
}
s_CAN_List
;
enum
{
ENUM_VSpeed
=
0
,
//����
ENUM_RSpeed
,
//�??�??
ENUM_WaterTemp
,
// 温度
TCS_Warning_Lamp
,
//前轮胎压
TCS_Work_Mode
,
//后轮胎压
ISG_Ready
,
ISG_Power
,
ISG_Power_Enable
,
CAN_List_Num
,
};
ABS_VehicleSpeed
=
0
,
ABS_Warning_Lamp
,
BCM_PositionLightIndication
,
BCM_TurnLeftandRightIndication
,
BCM_TurnRightIndication
,
BCM_TurnLeftIndication
,
BCM_LowBeamIndication
,
BCM_HighBeamIndication
,
TCS_WarningLamp
,
TCS_WorkSt
,
TCS_Control
,
MCU_GearPosition
,
MCU_ReadyStatus
,
MCU_CruiseSwitchActive
,
MCU_LimpingMode
,
MCU_EnergyRecIntensitySet
,
MCU_OperationMode
,
MCU_MotorTemperature
,
MCU_AutoHoldSta
,
MCU_ControllerWorkingState
,
MCU_CruiseState
,
MCU_MotorSpeed
,
BCM_PowerOnStatus
,
BMS1_SOH
,
BMS1_PACKTotalSOC
,
BMS1_PACKTotalCurrent
,
BMS1_PACKInTotalVoltage
,
MCU_HighestFaultPrompt
,
ICU_RemainrvMile
,
ICU_Speed
,
BMS2_SOH
,
BMS2_PACKTotalSOC
,
BMS2_PACKTotalCurrent
,
BMS2_PACKInTotalVoltage
,
BMS1_HighestFaultPrompt
,
BMS2_HighestFaultPrompt
,
BMS_ChargerConnectSignal
,
BCM_RTCDate_Valid
,
BCM_RTCDate_Second
,
BCM_RTCDate_Minute
,
BCM_RTCDate_Hour
,
BCM_RTCDate_Day
,
BCM_RTCDate_Month
,
BCM_RTCDate_Year
,
BCM_MetricMilesSwitchSet
,
CAN_List_Num
,
};
EXTERN_APP_TEST
volatile
s_CurValue
CurValueStr
[
CAN_List_Num
];
static
const
s_CAN_List
CAN_List
[]
=
{
{
&
CanMsg_101
,
2
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ENUM_VSpeed
],
Motorola
},
{
&
CanMsg_101
,
1
,
0
,
16
,
0
,
Offset_Plus
,
100
,
25
,
&
CurValueStr
[
ENUM_RSpeed
],
Motorola
},
{
&
CanMsg_101
,
5
,
0
,
16
,
273
,
Offset_Minus
,
10
,
1
,
&
CurValueStr
[
ENUM_WaterTemp
],
Motorola
},
{
&
CanMsg_
37B
,
3
,
2
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_Warning_Lamp
],
Motorola
},
{
&
CanMsg_
37B
,
3
,
4
,
4
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_Work_Mode
],
Motorola
},
{
&
CanMsg_
0xC2
,
1
,
2
,
14
,
0
,
Offset_Plus
,
128
,
1
,
&
CurValueStr
[
ABS_VehicleSpeed
],
Motorola
},
{
&
CanMsg_
0xC2
,
1
,
0
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ABS_Warning_Lamp
],
Motorola
},
{
&
CanMsg_111
,
4
,
1
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ISG_Ready
],
Motorola
},
{
&
CanMsg_111
,
4
,
2
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ISG_Power
],
Motorola
},
{
&
CanMsg_111
,
4
,
4
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ISG_Power_Enable
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
5
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_PositionLightIndication
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
4
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_TurnLeftandRightIndication
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
3
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_TurnRightIndication
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
2
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_TurnLeftIndication
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
1
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_LowBeamIndication
],
Motorola
},
{
&
CanMsg_0xC3
,
0
,
0
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_HighBeamIndication
],
Motorola
},
};
{
&
CanMsg_0xC1
,
5
,
3
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_WarningLamp
],
Motorola
},
{
&
CanMsg_0xC1
,
5
,
1
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_WorkSt
],
Motorola
},
{
&
CanMsg_0xC1
,
5
,
0
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
TCS_Control
],
Motorola
},
{
&
CanMsg_0x81
,
0
,
5
,
3
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_GearPosition
],
Motorola
},
{
&
CanMsg_0x81
,
0
,
0
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_ReadyStatus
],
Motorola
},
{
&
CanMsg_0x81
,
1
,
1
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_CruiseSwitchActive
],
Motorola
},
{
&
CanMsg_0x82
,
0
,
7
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_LimpingMode
],
Motorola
},
{
&
CanMsg_0x82
,
0
,
2
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_EnergyRecIntensitySet
],
Motorola
},
{
&
CanMsg_0x82
,
0
,
0
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_OperationMode
],
Motorola
},
{
&
CanMsg_0xB2
,
7
,
0
,
8
,
40
,
Offset_Minus
,
1
,
1
,
&
CurValueStr
[
MCU_MotorTemperature
],
Motorola
},
{
&
CanMsg_0xB2
,
1
,
4
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_AutoHoldSta
],
Motorola
},
{
&
CanMsg_0xB2
,
1
,
0
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_ControllerWorkingState
],
Motorola
},
{
&
CanMsg_0xB3
,
6
,
3
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_CruiseState
],
Motorola
},
{
&
CanMsg_0xB3
,
1
,
0
,
16
,
10000
,
Offset_Minus
,
1
,
1
,
&
CurValueStr
[
MCU_MotorSpeed
],
Motorola
},
{
&
CanMsg_0x122
,
0
,
0
,
3
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_PowerOnStatus
],
Motorola
},
{
&
CanMsg_0x212
,
7
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS1_SOH
],
Motorola
},
{
&
CanMsg_0x212
,
4
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS1_PACKTotalSOC
],
Motorola
},
{
&
CanMsg_0x212
,
3
,
0
,
16
,
3000
,
Offset_Minus
,
10
,
1
,
&
CurValueStr
[
BMS1_PACKTotalCurrent
],
Motorola
},
{
&
CanMsg_0x212
,
1
,
0
,
16
,
0
,
Offset_Plus
,
10
,
1
,
&
CurValueStr
[
BMS1_PACKInTotalVoltage
],
Motorola
},
{
&
CanMsg_0x217
,
7
,
6
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
MCU_HighestFaultPrompt
],
Motorola
},
{
&
CanMsg_0x218
,
6
,
0
,
10
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ICU_RemainrvMile
],
Motorola
},
{
&
CanMsg_0x218
,
0
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
ICU_Speed
],
Motorola
},
{
&
CanMsg_0x221
,
7
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS2_SOH
],
Motorola
},
{
&
CanMsg_0x221
,
4
,
0
,
8
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS2_PACKTotalSOC
],
Motorola
},
{
&
CanMsg_0x221
,
3
,
0
,
16
,
3000
,
Offset_Minus
,
1
,
10
,
&
CurValueStr
[
BMS2_PACKTotalCurrent
],
Motorola
},
{
&
CanMsg_0x221
,
1
,
0
,
16
,
0
,
Offset_Plus
,
1
,
10
,
&
CurValueStr
[
BMS2_PACKInTotalVoltage
],
Motorola
},
{
&
CanMsg_0x310
,
7
,
6
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS1_HighestFaultPrompt
],
Motorola
},
{
&
CanMsg_0x312
,
7
,
6
,
2
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS2_HighestFaultPrompt
],
Motorola
},
{
&
CanMsg_0x321
,
0
,
3
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BMS_ChargerConnectSignal
],
Motorola
},
{
&
CanMsg_0x353
,
5
,
6
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Valid
],
Motorola
},
{
&
CanMsg_0x353
,
5
,
0
,
6
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Second
],
Motorola
},
{
&
CanMsg_0x353
,
4
,
0
,
6
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Minute
],
Motorola
},
{
&
CanMsg_0x353
,
3
,
0
,
5
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Hour
],
Motorola
},
{
&
CanMsg_0x353
,
2
,
0
,
5
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Day
],
Motorola
},
{
&
CanMsg_0x353
,
1
,
0
,
4
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Month
],
Motorola
},
{
&
CanMsg_0x353
,
0
,
0
,
5
,
2015
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_RTCDate_Year
],
Motorola
},
{
&
CanMsg_0x21F
,
2
,
6
,
1
,
0
,
Offset_Plus
,
1
,
1
,
&
CurValueStr
[
BCM_MetricMilesSwitchSet
],
Motorola
},
};
extern
unsigned
int
switchon
;
extern
unsigned
int
miletime
;
extern
unsigned
int
lost_flag
;
extern
unsigned
int
mileflag
;
extern
unsigned
int
CAN_init_flag
;
extern
unsigned
int
water_value
;
extern
unsigned
int
count_flag_a
;
extern
unsigned
int
speed_value
;
extern
unsigned
int
canfinish
;
extern
unsigned
int
canover
;
EXTERN_APP_TEST
void
APP_Button_Proc
(
void
);
EXTERN_APP_TEST
void
Message_Value_Calculate
(
s_CAN_List
list
);
...
...
Test_Bench/App_Headers/Globals_Var.h
View file @
575b117c
...
...
@@ -109,16 +109,48 @@
/*zh:*/
/*CS08 test*/
EXTERN_VAR
CAN_message
CanMessageID0CFF7F03
;
EXTERN_VAR
CAN_message
CanMsg_101
;
EXTERN_VAR
CAN_message
CanMsg_111
;
EXTERN_VAR
CAN_message
CanMsg_37B
;
extern
CAN_message
CanMsg_101
;
extern
CAN_message
CanMsg_111
;
extern
CAN_message
CanMsg_37B
;
// EXTERN_VAR CAN_message CanMsg_101;
// EXTERN_VAR CAN_message CanMsg_111;
// EXTERN_VAR CAN_message CanMsg_37B;
EXTERN_VAR
CAN_message
CanMsg_0xC2
;
EXTERN_VAR
CAN_message
CanMsg_0xC3
;
EXTERN_VAR
CAN_message
CanMsg_0xC1
;
EXTERN_VAR
CAN_message
CanMsg_0x81
;
EXTERN_VAR
CAN_message
CanMsg_0x82
;
EXTERN_VAR
CAN_message
CanMsg_0xB2
;
EXTERN_VAR
CAN_message
CanMsg_0xB3
;
EXTERN_VAR
CAN_message
CanMsg_0x122
;
EXTERN_VAR
CAN_message
CanMsg_0x212
;
EXTERN_VAR
CAN_message
CanMsg_0x217
;
EXTERN_VAR
CAN_message
CanMsg_0x218
;
EXTERN_VAR
CAN_message
CanMsg_0x221
;
EXTERN_VAR
CAN_message
CanMsg_0x310
;
EXTERN_VAR
CAN_message
CanMsg_0x312
;
EXTERN_VAR
CAN_message
CanMsg_0x321
;
EXTERN_VAR
CAN_message
CanMsg_0x353
;
EXTERN_VAR
CAN_message
CanMsg_0x21F
;
// extern CAN_message CanMsg_101;
// extern CAN_message CanMsg_111;
// extern CAN_message CanMsg_37B;
extern
CAN_message
CanMsg_0xC2
;
extern
CAN_message
CanMsg_0xC3
;
extern
CAN_message
CanMsg_0xC1
;
extern
CAN_message
CanMsg_0x81
;
extern
CAN_message
CanMsg_0x82
;
extern
CAN_message
CanMsg_0xB2
;
extern
CAN_message
CanMsg_0xB3
;
extern
CAN_message
CanMsg_0x122
;
extern
CAN_message
CanMsg_0x212
;
extern
CAN_message
CanMsg_0x217
;
extern
CAN_message
CanMsg_0x218
;
extern
CAN_message
CanMsg_0x221
;
extern
CAN_message
CanMsg_0x310
;
extern
CAN_message
CanMsg_0x312
;
extern
CAN_message
CanMsg_0x321
;
extern
CAN_message
CanMsg_0x353
;
extern
CAN_message
CanMsg_0x21F
;
/**/
/*:zh*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment