Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RT_RMR42E
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
时昊
RT_RMR42E
Commits
4725c32f
Commit
4725c32f
authored
Jul 09, 2024
by
郑萍
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐞
fix:掉线后显示要求:掉线后,保持原有显示。
parent
ece790c7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
537 additions
and
366 deletions
+537
-366
CAN_CH0_CAN_Communication_Matrix.c
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
+406
-199
CAN_CH0_CAN_Communication_Matrix.h
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.h
+32
-1
GUI_Display.c
Firmware/Source/Application/GUI_Display/GUI_Display.c
+78
-146
Telltales_user.c
Firmware/Source/Component/Telltales/Telltales_user.c
+20
-20
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
View file @
4725c32f
#include
"CAN_CH0_CAN_Communication_Matrix.h"
#include "CAN_CH0_CAN_Communication_Matrix.h"
#include "Components.h"
#include "Application.h"
/* 2024/06/16 14:48:34 */
...
...
@@ -6,136 +6,343 @@ st_CanMsgOp CAN_CH0_CanMsgOp;
st_CanMsgTxOp
CAN_CH0_CanMsgTxOp
;
#define CAN_CH0 &CAN_CH0_CanMsgOp
const
st_CAN_SendAttribute
CAN_CH0_CANSendAttr
[
CAN_CH0_ID_SEND_TOTAL
]
=
{
{
0x3A2ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_3A2
,
(
void
*
)
0
},
{
0x3A7ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_3A7
,
(
void
*
)
0
},
{
0x393ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_393
,
(
void
*
)
0
},
const
st_CAN_SendAttribute
CAN_CH0_CANSendAttr
[
CAN_CH0_ID_SEND_TOTAL
]
=
{
{
0x3A2ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_3A2
,
(
void
*
)
0
},
{
0x3A7ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_3A7
,
(
void
*
)
0
},
{
0x393ul
,
200ul
*
100ul
,
0ul
,
0u
,
MSG_STD
,
1u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_393
,
(
void
*
)
0
},
};
uint8_t
System_Indicator_CANFlag
=
0
;
const
st_CANMsgAttribute
CAN_CH0_CAN_MSG_CONST_ARRAY
[
CAN_CH0_ID_TOTAL_MAX
]
=
{
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
3000ul
,
0x398ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
3000ul
,
0x398ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
3000ul
,
0x39Dul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x157ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2000ul
,
0x38Eul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18200A20ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
1000ul
,
0x18202922ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18203020ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18203220ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x125ul
,
((
void
*
)
0
),
(
System_Indicator_ON_callback
),
(
System_Indicator_OFF_callback
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
20000ul
,
0x339ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18200A21ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x134ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
};
static
uint8_t
BMCU_ErrorGrage
=
0
;
static
uint8_t
BMCU_BladeSpeedGear
=
0
;
static
uint8_t
BMCU_PTOSwicthState
=
0
;
static
uint8_t
BMCU_Moto2_Locked_RotorFault
=
0
;
static
uint8_t
BMCU_Moto1_Locked_RotorFault
=
0
;
static
uint8_t
MBMS_Soc
=
0
;
static
uint8_t
MBMS_TOTALWorkState
=
0
;
static
uint8_t
MBMS_TOTALSigOn
=
0
;
static
uint8_t
MBMS_TOTALSigAcc
=
0
;
static
uint8_t
MBMS_TOTALSigCharge
=
0
;
static
uint8_t
MBMS_StatSoc
=
0
;
static
uint8_t
MBMS_StatBattChargeState
=
0
;
static
uint8_t
MBMS_StatBattWorkState
=
0
;
static
uint8_t
MMCU_ErrorGrage
=
0
;
static
uint8_t
MMCU_ChgProtectState
=
0
;
static
uint8_t
MMCU_DCDCEnableState
=
0
;
static
uint8_t
MMCU_ParkingGearState
=
0
;
static
uint8_t
MMCU_SeatDetectState
=
0
;
static
uint8_t
MMCU_LockMotoState
=
0
;
static
uint8_t
MMCU_EBSState
=
0
;
static
uint8_t
MMCU_TravelSpeedGear
=
0
;
static
uint8_t
MMCU_PowerMode
=
0
;
static
uint8_t
MMCU_WorkState
=
0
;
static
uint16_t
MMCU_AccumulatedWorkHours
=
0
;
static
uint8_t
MMCU_SingleWorkingHours
=
0
;
static
uint8_t
SBMS_Soc
=
0
;
static
uint8_t
SMCU_ErrorGrage
=
0
;
void
Set_CAN_ALL_Signal
(
void
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x157_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
3000ul
,
0x39Dul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
BMCU_ErrorGrage
=
Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage
();
BMCU_BladeSpeedGear
=
Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear
();
BMCU_PTOSwicthState
=
Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x38E_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x157ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
BMCU_Moto1_Locked_RotorFault
=
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault
();
BMCU_Moto2_Locked_RotorFault
=
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A20_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2000ul
,
0x38Eul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MBMS_Soc
=
Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18202922_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18200A20ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MBMS_TOTALWorkState
=
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState
();
MBMS_TOTALSigOn
=
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn
();
MBMS_TOTALSigAcc
=
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc
();
MBMS_TOTALSigCharge
=
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18203020_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
1000ul
,
0x18202922ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MBMS_StatSoc
=
Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18203220_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18203020ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MBMS_StatBattChargeState
=
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState
();
MBMS_StatBattWorkState
=
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x125_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18203220ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MMCU_ErrorGrage
=
Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage
();
MMCU_ChgProtectState
=
Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState
();
MMCU_DCDCEnableState
=
Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState
();
MMCU_ParkingGearState
=
Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState
();
MMCU_SeatDetectState
=
Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState
();
// 掉线需要做处理
MMCU_LockMotoState
=
Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState
();
MMCU_EBSState
=
Get_CAN_CH0_ID_125_Sig_MMCU_EBSState
();
MMCU_TravelSpeedGear
=
Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear
();
MMCU_PowerMode
=
Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode
();
MMCU_WorkState
=
Get_CAN_CH0_ID_125_Sig_MMCU_WorkState
();
}
else
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x125ul
,
((
void
*
)
0
),
(
System_Indicator_ON_callback
),
(
System_Indicator_OFF_callback
),
},
MMCU_SeatDetectState
=
Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState
();
// 掉线需要做处理
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
20000ul
,
0x339ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
MMCU_AccumulatedWorkHours
=
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
();
MMCU_SingleWorkingHours
=
Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A21_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
2500ul
,
0x18200A21ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
SBMS_Soc
=
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
();
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A21_Msg
))
==
CAN_ERR_OK
)
{
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
{
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
,
0x00u
},
200ul
,
0x134ul
,
((
void
*
)
0
),
((
void
*
)
0
),
((
void
*
)
0
),
},
};
SMCU_ErrorGrage
=
Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage
();
}
}
uint8_t
Get_CAN_Num_BMCU_ErrorGrage
(
void
)
{
return
BMCU_ErrorGrage
;
}
uint8_t
Get_CAN_Num_BMCU_BladeSpeedGear
(
void
)
{
return
BMCU_BladeSpeedGear
;
}
uint8_t
Get_CAN_Num_BMCU_PTOSwicthState
(
void
)
{
return
BMCU_PTOSwicthState
;
}
uint8_t
Get_CAN_Num_BMCU_Moto2_Locked_RotorFault
(
void
)
{
return
BMCU_Moto2_Locked_RotorFault
;
}
uint8_t
Get_CAN_Num_BMCU_Moto1_Locked_RotorFault
(
void
)
{
return
BMCU_Moto1_Locked_RotorFault
;
}
uint8_t
Get_CAN_Num_MBMS_Soc
(
void
)
{
return
MBMS_Soc
;
}
uint8_t
Get_CAN_Num_MBMS_TOTALWorkState
(
void
)
{
return
MBMS_TOTALWorkState
;
}
uint8_t
Get_CAN_Num_MBMS_TOTALSigOn
(
void
)
{
return
MBMS_TOTALSigOn
;
}
uint8_t
Get_CAN_Num_MBMS_TOTALSigAcc
(
void
)
{
return
MBMS_TOTALSigAcc
;
}
uint8_t
Get_CAN_Num_MBMS_TOTALSigCharge
(
void
)
{
return
MBMS_TOTALSigCharge
;
}
uint8_t
Get_CAN_Num_MBMS_StatSoc
(
void
)
{
return
MBMS_StatSoc
;
}
uint8_t
Get_CAN_Num_MBMS_StatBattChargeState
(
void
)
{
return
MBMS_StatBattChargeState
;
}
uint8_t
Get_CAN_Num_MBMS_StatBattWorkState
(
void
)
{
return
MBMS_StatBattWorkState
;
}
uint8_t
Get_CAN_Num_MMCU_ErrorGrage
(
void
)
{
return
MMCU_ErrorGrage
;
}
uint8_t
Get_CAN_Num_MMCU_ChgProtectState
(
void
)
{
return
MMCU_ChgProtectState
;
}
uint8_t
Get_CAN_Num_MMCU_DCDCEnableState
(
void
)
{
return
MMCU_DCDCEnableState
;
}
uint8_t
Get_CAN_Num_MMCU_ParkingGearState
(
void
)
{
return
MMCU_ParkingGearState
;
}
uint8_t
Get_CAN_Num_MMCU_SeatDetectState
(
void
)
{
return
MMCU_SeatDetectState
;
}
uint8_t
Get_CAN_Num_MMCU_LockMotoState
(
void
)
{
return
MMCU_LockMotoState
;
}
uint8_t
Get_CAN_Num_MMCU_EBSState
(
void
)
{
return
MMCU_EBSState
;
}
uint8_t
Get_CAN_Num_MMCU_TravelSpeedGear
(
void
)
{
return
MMCU_TravelSpeedGear
;
}
uint8_t
Get_CAN_Num_MMCU_PowerMode
(
void
)
{
return
MMCU_PowerMode
;
}
uint8_t
Get_CAN_Num_MMCU_WorkState
(
void
)
{
return
MMCU_WorkState
;
}
uint16_t
Get_CAN_Num_MMCU_AccumulatedWorkHours
(
void
)
{
return
MMCU_AccumulatedWorkHours
;
}
uint8_t
Get_CAN_Num_MMCU_SingleWorkingHours
(
void
)
{
return
MMCU_SingleWorkingHours
;
}
uint8_t
Get_CAN_Num_SBMS_Soc
(
void
)
{
return
SBMS_Soc
;
}
uint8_t
Get_CAN_Num_SMCU_ErrorGrage
(
void
)
{
return
SMCU_ErrorGrage
;
}
void
System_Indicator_ON_callback
(
void
)
{
System_Indicator_CANFlag
=
0
;
...
...
@@ -144,11 +351,12 @@ void System_Indicator_OFF_callback(void)
{
System_Indicator_CANFlag
=
1
;
}
uint8_t
Get_CAN_Power_State
(
void
)
{
uint8_t
state
=
0
;
uint8_t
Signal1
=
Get_CAN_CH0_ID_125_Sig
_MMCU_PowerMode
();
switch
(
Signal1
)
uint8_t
Power_State
=
Get_CAN_Num
_MMCU_PowerMode
();
switch
(
Power_State
)
{
case
0x0
:
state
=
KEY_OFF
;
...
...
@@ -177,205 +385,205 @@ uint8_t Get_CAN_Power_State(void)
return
state
;
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN0
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN0
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN1
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN1
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN2
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN2
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN3
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN3
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN4
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN4
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN5
(
void
)
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN5
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
0u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x398_Msg_Count
,
0u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductDay
(
void
)
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductDay
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductMon
(
void
)
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductMon
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
6u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
6u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductYear
(
void
)
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductYear
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_CustomerCode
(
void
)
uint8_t
Get_CAN_CH0_ID_39D_Sig_ICU_CustomerCode
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint16_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductCode
(
void
)
{
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
\
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
2u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
3u
)
>>
0u
)
&
0xFFu
));
}
uint16_t
Get_CAN_CH0_ID_39D_Sig_ICU_ProductName
(
void
)
{
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
0u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
\
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
0u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x39D_Msg_Count
,
1u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage
(
void
)
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_ErrorGrage
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
4u
)
>>
0u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
4u
)
>>
0u
)
&
0x07u
));
}
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear
(
void
)
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_BladeSpeedGear
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
0u
)
>>
4u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
0u
)
>>
4u
)
&
0x07u
));
}
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState
(
void
)
uint8_t
Get_CAN_CH0_ID_157_Sig_BMCU_PTOSwicthState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
0u
)
>>
3u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x157_Msg_Count
,
0u
)
>>
3u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault
(
void
)
uint8_t
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto2_Locked_RotorFault
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x38E_Msg_Count
,
1u
)
>>
1u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x38E_Msg_Count
,
1u
)
>>
1u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault
(
void
)
uint8_t
Get_CAN_CH0_ID_38E_Sig_BMCU_Moto1_Locked_RotorFault
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x38E_Msg_Count
,
1u
)
>>
0u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x38E_Msg_Count
,
1u
)
>>
0u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc
(
void
)
uint8_t
Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18200A20_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18200A20_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState
(
void
)
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALWorkState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
1u
)
>>
0u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
1u
)
>>
0u
)
&
0x07u
));
}
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn
(
void
)
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigOn
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
2u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
2u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc
(
void
)
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigAcc
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
1u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
1u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge
(
void
)
uint8_t
Get_CAN_CH0_ID_18202922_Sig_MBMS_TOTALSigCharge
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
0u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18202922_Msg_Count
,
0u
)
>>
0u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc
(
void
)
uint8_t
Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203020_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203020_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState
(
void
)
uint8_t
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattChargeState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203220_Msg_Count
,
1u
)
>>
0u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203220_Msg_Count
,
1u
)
>>
0u
)
&
0x07u
));
}
uint8_t
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState
(
void
)
uint8_t
Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203220_Msg_Count
,
0u
)
>>
0u
)
&
0x0Fu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18203220_Msg_Count
,
0u
)
>>
0u
)
&
0x0Fu
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ErrorGrage
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
6u
)
>>
0u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
6u
)
>>
0u
)
&
0x07u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ChgProtectState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
3u
)
>>
2u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
3u
)
>>
2u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_DCDCEnableState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
3u
)
>>
1u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
3u
)
>>
1u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_ParkingGearState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
7u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
7u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_SeatDetectState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
1u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
1u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_LockMotoState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
0u
)
&
0x01u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
2u
)
>>
0u
)
&
0x01u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_EBSState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_EBSState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
1u
)
>>
6u
)
&
0x03u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
1u
)
>>
6u
)
&
0x03u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_TravelSpeedGear
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
1u
)
>>
0u
)
&
0x03u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
1u
)
>>
0u
)
&
0x03u
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
0u
)
>>
2u
)
&
0x0Fu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
0u
)
>>
2u
)
&
0x0Fu
));
}
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_WorkState
(
void
)
uint8_t
Get_CAN_CH0_ID_125_Sig_MMCU_WorkState
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
0u
)
>>
0u
)
&
0x03u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x125_Msg_Count
,
0u
)
>>
0u
)
&
0x03u
));
}
uint16_t
Get_CAN_CH0_ID_339_Sig_MMCU_AccumulatedWorkHours
(
void
)
{
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
6u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
\
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
return
(((
uint16_t
)((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
6u
)
>>
0u
)
&
0xFFu
)
<<
8u
)
+
((
uint16_t
)((
uint16_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
7u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours
(
void
)
uint8_t
Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x339_Msg_Count
,
5u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
(
void
)
uint8_t
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18200A21_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x18200A21_Msg_Count
,
4u
)
>>
0u
)
&
0xFFu
));
}
uint8_t
Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage
(
void
)
uint8_t
Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage
(
void
)
{
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x134_Msg_Count
,
2u
)
>>
0u
)
&
0x07u
));
return
(((
uint8_t
)((
uint8_t
)
CAN_MSG_Read
(
CAN_CH0
,
CAN_CH0_ID_CAN_0x134_Msg_Count
,
2u
)
>>
0u
)
&
0x07u
));
}
uint8_t
Co_Can_ConvertSubID_CAN_CH0
(
uint32_t
MsgID
)
uint8_t
Co_Can_ConvertSubID_CAN_CH0
(
uint32_t
MsgID
)
{
uint8_t
u8Result
=
CAN_CH0_ID_TOTAL_MAX
;
switch
(
MsgID
)
...
...
@@ -416,10 +624,9 @@ uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
case
CAN_CH0_ID_CAN_0x134_Msg
:
u8Result
=
CAN_CH0_ID_CAN_0x134_Msg_Count
;
break
;
default
:
default:
u8Result
=
CAN_CH0_ID_TOTAL_MAX
;
break
;
}
return
u8Result
;
}
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.h
View file @
4725c32f
...
...
@@ -36,7 +36,6 @@ typedef enum
CHRG_PLUGIN
,
CHRGING
,
CHRGEND
,
}
POWER_CHECK_STATE_t
;
typedef
enum
...
...
@@ -64,6 +63,8 @@ extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL]
#define CAN_CH0_ID_CAN_0x18200A21_Msg 0x18200A21ul
#define CAN_CH0_ID_CAN_0x134_Msg 0x134ul
extern
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN0
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN1
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_398_Sig_ICU_SN2
(
void
);
...
...
@@ -104,8 +105,38 @@ extern uint8_t Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours(void);
extern
uint8_t
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_134_Sig_SMCU_ErrorGrage
(
void
);
extern
uint8_t
Get_CAN_Num_BMCU_ErrorGrage
(
void
);
extern
uint8_t
Get_CAN_Num_BMCU_BladeSpeedGear
(
void
);
extern
uint8_t
Get_CAN_Num_BMCU_PTOSwicthState
(
void
);
extern
uint8_t
Get_CAN_Num_BMCU_Moto2_Locked_RotorFault
(
void
);
extern
uint8_t
Get_CAN_Num_BMCU_Moto1_Locked_RotorFault
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_Soc
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_TOTALWorkState
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_TOTALSigOn
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_TOTALSigAcc
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_TOTALSigCharge
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_StatSoc
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_StatBattChargeState
(
void
);
extern
uint8_t
Get_CAN_Num_MBMS_StatBattWorkState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_ErrorGrage
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_ChgProtectState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_DCDCEnableState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_ParkingGearState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_SeatDetectState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_LockMotoState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_EBSState
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_TravelSpeedGear
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_PowerMode
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_WorkState
(
void
);
extern
uint16_t
Get_CAN_Num_MMCU_AccumulatedWorkHours
(
void
);
extern
uint8_t
Get_CAN_Num_MMCU_SingleWorkingHours
(
void
);
extern
uint8_t
Get_CAN_Num_SBMS_Soc
(
void
);
extern
uint8_t
Get_CAN_Num_SMCU_ErrorGrage
(
void
);
extern
uint8_t
Co_Can_ConvertSubID_CAN_CH0
(
uint32_t
MsgID
);
extern
uint8_t
System_Indicator_CANFlag
;
extern
void
Set_CAN_ALL_Signal
(
void
);
void
System_Indicator_ON_callback
(
void
);
void
System_Indicator_OFF_callback
(
void
);
extern
uint8_t
Get_CAN_Power_State
(
void
);
...
...
Firmware/Source/Application/GUI_Display/GUI_Display.c
View file @
4725c32f
...
...
@@ -8,44 +8,15 @@ uint8_t SOC_Count_Time = 0;
uint8_t
BUZZER_ON
=
0
;
uint8_t
Charge_OFF_Flag
=
0
;
// void Gauge_Gear_Display(void)
// {
// // uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
// if (Common_Get_IG_Sts() == COMMON_POWER_ON)
// {
// SEG_SET_GEAR(1,);
// }
// else
// {
// }
// }
void
Gauge_Power_SOC_pull_Display
(
void
)
{
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A20_Msg
))
==
CAN_ERR_OK
)
{
uint8_t
SOC_1_Count
=
Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc
();
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
}
else
{
SEG_SET_EleDial_1SOC
(
0
,
0
);
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A21_Msg
))
==
CAN_ERR_OK
)
{
uint8_t
SOC_2_Count
=
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
();
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
}
else
{
SEG_SET_EleDial_2SOC
(
0
,
0
);
}
uint8_t
SOC_1_Count
=
Get_CAN_Num_MBMS_Soc
();
uint8_t
SOC_2_Count
=
Get_CAN_Num_SBMS_Soc
();
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
}
else
{
...
...
@@ -56,12 +27,11 @@ void Gauge_Power_SOC_pull_Display(void)
void
Gauge_Cutterhead_Gear_Display
(
void
)
{
uint8_t
Signal1
=
Get_CAN_
CH0_ID_157_Sig
_BMCU_BladeSpeedGear
();
uint8_t
Signal2
=
Get_CAN_
CH0_ID_157_Sig
_BMCU_ErrorGrage
();
uint8_t
Signal1
=
Get_CAN_
Num
_BMCU_BladeSpeedGear
();
uint8_t
Signal2
=
Get_CAN_
Num
_BMCU_ErrorGrage
();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
&&
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x157_Msg
))
==
CAN_ERR_OK
)
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
if
(
Signal2
==
0x1
||
Signal2
==
0x2
||
Signal2
==
0x3
||
Signal2
==
0x4
)
{
if
(
FLASH_SYNC_1Hz
)
...
...
@@ -86,8 +56,8 @@ void Gauge_Cutterhead_Gear_Display(void)
void
Gauge_Gears_Display
(
void
)
{
uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_TravelSpeedGear
();
uint8_t
Signal2
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_ParkingGearState
();
uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_TravelSpeedGear
();
uint8_t
Signal2
=
Get_CAN_
Num
_MMCU_ParkingGearState
();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
...
...
@@ -112,117 +82,97 @@ uint8_t SOC1_Count = 0;
uint8_t
SOC2_Count
=
0
;
void
Gauge_Power_SOC_CHAGING_Display
(
void
)
{
uint8_t
MBMS_TOTALSigAcc
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigAcc
();
uint8_t
MBMS_TOTALSigCharge
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigCharge
();
uint8_t
MBMS_StatBattWorkState
=
Get_CAN_
CH0_ID_18203220_Sig
_MBMS_StatBattWorkState
();
uint8_t
MBMS_TOTALSigAcc
=
Get_CAN_
Num
_MBMS_TOTALSigAcc
();
uint8_t
MBMS_TOTALSigCharge
=
Get_CAN_
Num
_MBMS_TOTALSigCharge
();
uint8_t
MBMS_StatBattWorkState
=
Get_CAN_
Num
_MBMS_StatBattWorkState
();
// uint8_t MBMS_StatBattWorkState = Get_CAN_CH0_ID_18203220_Sig_MBMS_StatBattWorkState();
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A20_Msg
))
==
CAN_ERR_OK
||
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A21_Msg
))
==
CAN_ERR_OK
)
uint8_t
SOC_1_Count
=
Get_CAN_Num_MBMS_Soc
();
uint8_t
SOC_2_Count
=
Get_CAN_Num_SBMS_Soc
();
if
((
MBMS_TOTALSigAcc
==
0x1
&&
MBMS_TOTALSigCharge
==
0x1
)
||
(
MBMS_TOTALSigAcc
==
0x0
&&
MBMS_TOTALSigCharge
==
0x1
))
// 上电充电
{
uint8_t
SOC_1_Count
=
Get_CAN_CH0_ID_18200A20_Sig_MBMS_Soc
();
uint8_t
SOC_2_Count
=
Get_CAN_CH0_ID_18200A21_Sig_SBMS_Soc
();
if
((
MBMS_TOTALSigAcc
==
0x1
&&
MBMS_TOTALSigCharge
==
0x1
)
||
(
MBMS_TOTALSigAcc
==
0x0
&&
MBMS_TOTALSigCharge
==
0x1
))
// 上电充电
if
(
MBMS_StatBattWorkState
==
0x1
)
// 主电池
{
if
(
MBMS_StatBattWorkState
==
0x1
)
// 主电池
if
(
++
SOC_Count_Time
>
10
)
{
if
(
++
SOC_Count_Time
>
10
)
{
SOC_Count_Time
=
0
;
SOC_Count_Time
=
0
;
SEG_SET_EleDial_1SOC
(
1
,
SOC1_Count
);
SOC1_Count
++
;
if
(
SOC1_Count
>
SOC_1_Count
)
{
SOC1_Count
=
0
;
}
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A21_Msg
)))
SEG_SET_EleDial_1SOC
(
1
,
SOC1_Count
);
SOC1_Count
++
;
if
(
SOC1_Count
>
SOC_1_Count
)
{
SEG_SET_EleDial_2SOC
(
0
,
0
);
}
else
{
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
SOC1_Count
=
0
;
}
}
else
if
(
MBMS_StatBattWorkState
==
0x4
)
// 副电池
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
}
else
if
(
MBMS_StatBattWorkState
==
0x4
)
// 副电池
{
if
(
++
SOC_Count_Time
>
10
)
{
if
(
++
SOC_Count_Time
>
10
)
{
SOC_Count_Time
=
0
;
SOC_Count_Time
=
0
;
SEG_SET_EleDial_2SOC
(
1
,
SOC2_Count
);
SOC2_Count
++
;
if
(
SOC2_Count
>
SOC_2_Count
)
{
SOC2_Count
=
0
;
}
}
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18200A20_Msg
)))
SEG_SET_EleDial_2SOC
(
1
,
SOC2_Count
);
SOC2_Count
++
;
if
(
SOC2_Count
>
SOC_2_Count
)
{
SEG_SET_EleDial_1SOC
(
0
,
0
);
}
else
{
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
SOC2_Count
=
0
;
}
}
else
if
(
MBMS_StatBattWorkState
==
0x7
)
// 主副电池
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
}
else
if
(
MBMS_StatBattWorkState
==
0x7
)
// 主副电池
{
if
(
++
SOC_Count_Time
>
10
)
{
if
(
++
SOC_Count_Time
>
10
)
{
SOC_Count_Time
=
0
;
SOC_Count_Time
=
0
;
SEG_SET_EleDial_1SOC
(
1
,
SOC1_Count
);
SEG_SET_EleDial_2SOC
(
1
,
SOC2_Count
);
SOC1_Count
++
;
SOC2_Count
++
;
if
(
SOC_1_Count
>
SOC_2_Count
)
SEG_SET_EleDial_1SOC
(
1
,
SOC1_Count
);
SEG_SET_EleDial_2SOC
(
1
,
SOC2_Count
);
SOC1_Count
++
;
SOC2_Count
++
;
if
(
SOC_1_Count
>
SOC_2_Count
)
{
if
(
SOC2_Count
>
SOC_2_Count
)
{
if
(
SOC2_Count
>
SOC_2_Count
)
SOC2_Count
--
;
if
(
SOC1_Count
>
SOC_1_Count
)
{
SOC2_Count
--
;
if
(
SOC1_Count
>
SOC_1_Count
)
{
SOC1_Count
=
0
;
SOC2_Count
=
0
;
}
SOC1_Count
=
0
;
SOC2_Count
=
0
;
}
}
else
}
else
{
if
(
SOC1_Count
>
SOC_1_Count
)
{
if
(
SOC1_Count
>
SOC_1_Count
)
SOC1_Count
--
;
if
(
SOC2_Count
>
SOC_2_Count
)
{
SOC1_Count
--
;
if
(
SOC2_Count
>
SOC_2_Count
)
{
SOC1_Count
=
0
;
SOC2_Count
=
0
;
}
SOC1_Count
=
0
;
SOC2_Count
=
0
;
}
}
}
}
else
{
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
}
}
if
(
MBMS_TOTALSigAcc
==
0x0
&&
MBMS_TOTALSigCharge
==
0x1
)
// 下电充电
{
poweroff_time
++
;
}
else
{
poweroff_time
=
0
;
SEG_SET_EleDial_1SOC
(
1
,
SOC_1_Count
);
SEG_SET_EleDial_2SOC
(
1
,
SOC_2_Count
);
}
}
if
(
MBMS_TOTALSigAcc
==
0x0
&&
MBMS_TOTALSigCharge
==
0x1
)
// 下电充电
{
poweroff_time
++
;
}
else
{
SEG_SET_EleDial_1SOC
(
0
,
0
);
SEG_SET_EleDial_2SOC
(
0
,
0
);
poweroff_time
=
0
;
}
}
else
...
...
@@ -237,15 +187,8 @@ void Gauge_EleDial_AllSOC_Display(void)
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x18203020_Msg
))
==
CAN_ERR_OK
)
{
AllSOC_DIS
=
Get_CAN_CH0_ID_18203020_Sig_MBMS_StatSoc
();
SEG_SET_EleDial_AllSOC
(
1
,
AllSOC_DIS
);
}
else
{
SEG_SET_EleDial_AllSOC
(
0
,
0
);
}
AllSOC_DIS
=
Get_CAN_Num_MBMS_StatSoc
();
SEG_SET_EleDial_AllSOC
(
1
,
AllSOC_DIS
);
}
else
{
...
...
@@ -267,25 +210,16 @@ uint8_t Get_EleDial_AllSOC_lenth(void)
return
num
;
}
uint8_t
Clockonetime_flag
=
0
;
uint8_t
Clock_seconds
=
0
;
uint8_t
Clock_hours
=
0
;
void
Gauge_Clock_Display
(
void
)
{
uint32_t
Clock_all
=
0
;
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
if
(
CAN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_ERR_OK
)
{
Clock_all
=
Get_CAN_CH0_ID_339_Sig_MMCU_SingleWorkingHours
();
Clock_hours
=
Clock_all
/
60
;
Clock_seconds
=
Clock_all
%
60
;
SEG_SET_Clock
(
Clock_hours
,
Clock_seconds
,
FLASH_SYNC_1Hz
,
1
,
1
);
Clockonetime_flag
=
1
;
}
else
{
SEG_SET_Clock
(
Clock_hours
,
Clock_seconds
,
0
,
0
,
0
);
}
Clock_all
=
Get_CAN_Num_MMCU_SingleWorkingHours
();
uint8_t
Clock_hours
=
Clock_all
/
60
;
uint8_t
Clock_seconds
=
Clock_all
%
60
;
SEG_SET_Clock
(
Clock_hours
,
Clock_seconds
,
FLASH_SYNC_1Hz
,
1
,
1
);
Clockonetime_flag
=
1
;
}
else
{
...
...
@@ -304,10 +238,10 @@ void Data_CumulativeWorkHours_EEPROM_Write(void)
{
uint32_t
u32Data
[
1
]
=
{
0
};
uint32_t
eeprom_back
[
1
]
=
{
0
};
if
(
C
AN_MSG_Status
(
&
CAN_CH0_CanMsgOp
,
Co_Can_ConvertSubID_CAN_CH0
(
CAN_CH0_ID_CAN_0x339_Msg
))
==
CAN_ERR_OK
)
if
(
C
ommon_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
u32Data
[
0
]
=
Get_CAN_
CH0_ID_339_Sig
_MMCU_AccumulatedWorkHours
();
if
(
u32Data
[
0
]
>
0XFFFA
&&
EEPROM_Cumulativee_clean
==
0
)
u32Data
[
0
]
=
Get_CAN_
Num
_MMCU_AccumulatedWorkHours
();
if
(
u32Data
[
0
]
>
0XFFFA
&&
EEPROM_Cumulativee_clean
==
0
)
{
EEPROM_Cumulativee_clean
=
1
;
eeprom_WriteRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
eeprom_back
,
4
);
...
...
@@ -334,7 +268,6 @@ void Data_CumulativeWorkHours_EEPROM_Write(void)
uint32_t
u32Data_read
[
1
]
=
{
0
};
void
Gauge_Clock_All_Display
(
void
)
{
eeprom_ReadRecord
(
EEPROM_BLOCK_00
,
(
uint8_t
*
)
u32Data_read
,
4
);
if
(
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
&&
Charge_OFF_Flag
==
0
)
{
...
...
@@ -438,7 +371,6 @@ void Gauge_Service(void)
if
(
Buzzer_time
<
0xFFFF
)
{
Buzzer_time
++
;
}
}
}
...
...
@@ -501,8 +433,8 @@ void Gauge_CAN_setup_Service(void)
else
{
Charge_OFF_Flag
=
2
;
uint8_t
MBMS_TOTALSigAcc
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigAcc
();
uint8_t
MBMS_TOTALSigCharge
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigCharge
();
uint8_t
MBMS_TOTALSigAcc
=
Get_CAN_
Num
_MBMS_TOTALSigAcc
();
uint8_t
MBMS_TOTALSigCharge
=
Get_CAN_
Num
_MBMS_TOTALSigCharge
();
SEG_SET_EleDial_AllSOC
(
0
,
0
);
SEG_SET_EleDial_1SOC
(
0
,
0
);
SEG_SET_EleDial_2SOC
(
0
,
0
);
...
...
Firmware/Source/Component/Telltales/Telltales_user.c
View file @
4725c32f
...
...
@@ -252,8 +252,8 @@ static void LED_Grass_Full_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_OVERLOAD_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_38E_Sig
_BMCU_Moto1_Locked_RotorFault
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_38E_Sig
_BMCU_Moto2_Locked_RotorFault
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_BMCU_Moto1_Locked_RotorFault
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_BMCU_Moto2_Locked_RotorFault
();
if
((
Signal1
==
0x1
||
Signal2
==
0x1
)
&&
openLED_flag
)
{
LED_STATE
=
1
;
...
...
@@ -307,7 +307,7 @@ static void LED_READY_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Seat_Detection_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_SeatDetectState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_SeatDetectState
();
if
(
Signal1
==
0x1
&&
openLED_flag
)
{
LED_STATE
=
1
;
...
...
@@ -343,7 +343,7 @@ static void LED_Seat_Detection_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Key_Access_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigAcc
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MBMS_TOTALSigAcc
();
if
(
Signal1
==
0x1
&&
openLED_flag
)
{
LED_STATE
=
1
;
...
...
@@ -370,8 +370,8 @@ static void LED_Key_Access_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Battery_Charging_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigAcc
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigCharge
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MBMS_TOTALSigAcc
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_MBMS_TOTALSigCharge
();
Tellib_uint8_t
Signal3
=
Get_CAN_Power_State
();
if
(
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
>=
9000
&&
ADC_Read_Signal
(
ADC_CH_KL30_VOLTAGE
)
<=
16000
&&
(
Get_CAN_Power_State
()
!=
PKEY_ON
&&
Get_CAN_Power_State
()
!=
KEY_OFF
&&
Charge_OFF_Flag
!=
2
))
{
...
...
@@ -423,8 +423,8 @@ static void LED_Battery_Charging_Execution(Tellib_uint16_t led_status
// static Tellib_uint16_t LED_Battery_Charging_POWEROFF_Judgement(void)
// {
// Tellib_uint16_t LED_STATE = 0u;
// Tellib_uint8_t Signal1 = Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigAcc();
// Tellib_uint8_t Signal2 = Get_CAN_
CH0_ID_18202922_Sig
_MBMS_TOTALSigCharge();
// Tellib_uint8_t Signal1 = Get_CAN_
Num
_MBMS_TOTALSigAcc();
// Tellib_uint8_t Signal2 = Get_CAN_
Num
_MBMS_TOTALSigCharge();
// Tellib_uint8_t Signal3 = Get_CAN_CH0_ID_125_Sig_MMCU_PowerMode();
// if(ADC_Read_Signal(ADC_CH_KL30_VOLTAGE) >= 9 && ADC_Read_Signal(ADC_CH_KL30_VOLTAGE) <= 16)
// {
...
...
@@ -449,7 +449,7 @@ static void LED_Battery_Charging_Execution(Tellib_uint16_t led_status
static
Tellib_uint16_t
LED_Cutterhead_Switch_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_157_Sig
_BMCU_PTOSwicthState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_BMCU_PTOSwicthState
();
if
(
Signal1
==
0x1
&&
openLED_flag
)
{
LED_STATE
=
1
;
...
...
@@ -476,8 +476,8 @@ static void LED_Cutterhead_Switch_Execution(Tellib_uint16_t led_statu
static
Tellib_uint16_t
LED_GEAR_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_TravelSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_ParkingGearState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_TravelSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_MMCU_ParkingGearState
();
if
(
Signal2
!=
0x1
&&
Charge_OFF_Flag
==
0
)
{
if
(
Signal1
==
0x1
||
Signal1
==
0x2
)
...
...
@@ -693,8 +693,8 @@ static void LED_Tire_pressure_R_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Gears_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_TravelSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_ParkingGearState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_TravelSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_MMCU_ParkingGearState
();
if
(
Signal2
!=
0x1
&&
openLED_flag
)
{
if
(
Signal1
==
0x1
||
Signal1
==
0x2
)
...
...
@@ -728,8 +728,8 @@ static void LED_Gears_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Cutterhead_Gear_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_157_Sig
_BMCU_BladeSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_157_Sig
_BMCU_ErrorGrage
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_BMCU_BladeSpeedGear
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_BMCU_ErrorGrage
();
if
((
Signal2
==
0x1
||
Signal2
==
0x2
||
Signal2
==
0x3
||
Signal2
==
0x4
)
&&
openLED_flag
)
{
if
(
Signal1
==
0x1
||
Signal1
==
0x2
||
Signal1
==
0x3
)
...
...
@@ -832,8 +832,8 @@ static void LED_Fault_Codes_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_SystIndicator_R_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_ErrorGrage
();
Tellib_uint8_t
Signal2
=
Get_CAN_
CH0_ID_134_Sig
_SMCU_ErrorGrage
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_ErrorGrage
();
Tellib_uint8_t
Signal2
=
Get_CAN_
Num
_SMCU_ErrorGrage
();
Tellib_uint8_t
Signal3
=
System_Indicator_CANFlag
;
if
((
Signal1
==
0x4
||
Signal1
==
0x5
||
Signal2
==
0x4
||
Signal2
==
0x5
||
Signal3
==
1
)
&&
openLED_flag
)
{
...
...
@@ -862,7 +862,7 @@ static void LED_SystIndicator_R_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_P_GEAR_G_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_125_Sig
_MMCU_ParkingGearState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MMCU_ParkingGearState
();
Tellib_uint8_t
Signal2
=
Get_CAN_Power_State
();
if
(
Signal1
==
0x1
&&
openLED_flag
&&
checkself_seg_Flag
==
0
)
{
...
...
@@ -931,7 +931,7 @@ static void LED_Fuel_Alarm_W_Execution(Tellib_uint16_t led_status)
static
Tellib_uint16_t
LED_Charging_Connection_R_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
Tellib_uint8_t
Signal1
=
Get_CAN_
CH0_ID_18203220_Sig
_MBMS_StatBattChargeState
();
Tellib_uint8_t
Signal1
=
Get_CAN_
Num
_MBMS_StatBattChargeState
();
if
((
Signal1
==
0x1
||
Signal1
==
0x2
||
Signal1
==
0x3
)
&&
(
Get_CAN_Power_State
()
!=
PKEY_ON
&&
Get_CAN_Power_State
()
!=
KEY_OFF
))
{
LED_STATE
=
1
;
...
...
@@ -959,7 +959,7 @@ static void LED_Charging_Connection_R_Execution(Tellib_uint16_t led_s
static
Tellib_uint16_t
LED_Power_Battery_Failure_R_Judgement
(
void
)
{
Tellib_uint16_t
LED_STATE
=
0u
;
// Tellib_uint8_t Signal1 = Get_CAN_
CH0_ID_18203220_Sig
_MBMS_StatBattChargeState();
// Tellib_uint8_t Signal1 = Get_CAN_
Num
_MBMS_StatBattChargeState();
// if (Signal1 == 0x1 || Signal1 == 0x2 ||Signal1 == 0x3)
// {
// LED_STATE = 1;
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
4725c32f
...
...
@@ -44,6 +44,7 @@ void Sys_50ms_Tasks(void)
BU98R10_Update_Request
();
LED_Driver_Scan_Refresh
();
Telltales_Management
();
Set_CAN_ALL_Signal
();
Gauge_Service
();
}
...
...
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