Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
TianYing_ty100
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
TY
TianYing_ty100
Commits
d0c1a409
Commit
d0c1a409
authored
May 05, 2024
by
李俭双
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat:CAN配置,增加矩阵
parent
5b6f47f2
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
446 additions
and
32 deletions
+446
-32
CAN_CH0_CAN_Communication_Matrix.c
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
+303
-18
CAN_CH0_CAN_Communication_Matrix.h
...ce/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.h
+60
-10
Can_User.c
Firmware/Source/Application/CAN_User/Can_User.c
+81
-2
Diag_ID_Def.h
Firmware/Source/UDS/Diag_ID_Def.h
+2
-2
No files found.
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.c
View file @
d0c1a409
This diff is collapsed.
Click to expand it.
Firmware/Source/Application/CAN_APP/CAN_CH0_CAN_Communication_Matrix.h
View file @
d0c1a409
...
...
@@ -3,14 +3,16 @@
#include "Components.h"
#define CAN_CH0 &CAN_CH0_CanMsgOp
extern
st_CanMsgOp
CAN_CH0_CanMsgOp
;
extern
st_CanMsgTxOp
CAN_CH0_CanMsgTxOp
;
typedef
enum
{
CAN_CH0_ID_CAN_0x402_Msg_Count
,
CAN_CH0_ID_CAN_0x341_Msg_Count
,
CAN_CH0_ID_CAN_0x111_Msg_Count
,
CAN_CH0_ID_CAN_0x401_Msg_Count
,
CAN_CH0_ID_CAN_0x120_Msg_Count
,
CAN_CH0_ID_CAN_0x101_Msg_Count
,
CAN_CH0_ID_TOTAL_MAX
,
...
...
@@ -18,28 +20,76 @@ typedef enum
typedef
enum
{
CAN_CH0_ID_CAN_0x500_Msg_Count
,
CAN_CH0_ID_SEND_TOTAL
,
}
CAN_CH0_CAN_MSG_SEND_ID_t
;
extern
const
st_CANMsgAttribute
CAN_CH0_CAN_MSG_CONST_ARRAY
[
CAN_CH0_ID_TOTAL_MAX
]
;
extern
const
st_CAN_SendAttribute
CAN_CH0_CANSendAttr
[
CAN_CH0_ID_SEND_TOTAL
]
;
#define CAN_CH0_ID_CAN_0x500_Msg 0x500ul
#define CAN_CH0_ID_CAN_0x402_Msg 0x402ul
#define CAN_CH0_ID_CAN_0x341_Msg 0x341ul
#define CAN_CH0_ID_CAN_0x111_Msg 0x111ul
#define CAN_CH0_ID_CAN_0x401_Msg 0x401ul
#define CAN_CH0_ID_CAN_0x220_Msg 0x220ul
#define CAN_CH0_ID_CAN_0x120_Msg 0x120ul
#define CAN_CH0_ID_CAN_0x101_Msg 0x101ul
//extern uint8_t Get_CAN_CH0_ID_500_Sig_Key_ISTOP(void);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCL2
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCM2
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCH2
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCAmnt
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCL1
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCM1
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_402_Sig_ECU_DTCH1
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_software_version
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Rear_LearningStatus
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Front_LearningStatus
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Rear_Pressure_Warning
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Front_Pressure_Warning
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Rear_TireTemperature
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Front_TireTemperature
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Rear_Pressure
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_341_Sig_Front_Pressure
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_SideStand_State
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_SideStand
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff_State
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop_State
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_111_Livecounter
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_111_Sig_ISG_111_Checksum
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_401_Sig_ECU_401_Checksum
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_401_Sig_ECU_401_Livecounter
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_401_Sig_ECU_Gear_State
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_401_Sig_ECU_Fuel_Consumption
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_401_Sig_ECU_Environment_Presure
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_220_Sig_CheckSum
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_220_Sig_AliveCounter
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_220_Sig_TCS_Switch
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_TCSStatus
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_RearWheelSpeedValidity
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_120_Sig_RearWheelSpeed
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_Rear_ABS_control_status
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_FrontWheelSpeedValidity
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_120_Sig_FrontWheelSpeed
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_Front_ABS_control_status
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_CheckSum
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_AliveCounter
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_120_Sig_ABS_Warning_lamp
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed_State
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position_State
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature_State
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed_State
(
void
);
extern
uint16_t
Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter
(
void
);
extern
uint8_t
Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum
(
void
);
extern
uint8_t
Co_Can_ConvertSubID_CAN_CH0
(
uint32_t
MsgID
);
void
Can_Set_Buff_500
(
canlib_uint8_t
CopyData
[]);
#endif
Firmware/Source/Application/CAN_User/Can_User.c
View file @
d0c1a409
...
...
@@ -63,6 +63,33 @@ void Can_RX_Apply_Buff(void)
CAN_MessageCache_Init
(
CAN0MSG06
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG06
,
ENABLE
);
CAN_RecvMsg
.
Id
=
0x341
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Standard
;
CAN_RecvMsg
.
CacheType
=
CAN_CacheType_Rx_NoMask
;
CAN_RecvMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
ENABLE
;
CAN_MessageCache_DeInit
(
CAN0MSG05
);
CAN_MessageCache_Init
(
CAN0MSG05
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG05
,
ENABLE
);
CAN_RecvMsg
.
Id
=
0x111
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Standard
;
CAN_RecvMsg
.
CacheType
=
CAN_CacheType_Rx_NoMask
;
CAN_RecvMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
ENABLE
;
CAN_MessageCache_DeInit
(
CAN0MSG07
);
CAN_MessageCache_Init
(
CAN0MSG07
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG07
,
ENABLE
);
CAN_RecvMsg
.
Id
=
0x120
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Standard
;
CAN_RecvMsg
.
CacheType
=
CAN_CacheType_Rx_NoMask
;
CAN_RecvMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
ENABLE
;
CAN_MessageCache_DeInit
(
CAN0MSG11
);
CAN_MessageCache_Init
(
CAN0MSG11
,
&
CAN_RecvMsg
);
CAN_MessageCache_OverWriteConfig
(
CAN0MSG11
,
ENABLE
);
CAN_RecvMsg
.
Id
=
DIAG_ID_Rx_PHY
;
CAN_RecvMsg
.
IDE
=
CAN_Id_Standard
;
CAN_RecvMsg
.
CacheType
=
CAN_CacheType_Rx_NoMask
;
...
...
@@ -90,7 +117,7 @@ void Can_Tx_Apply_Buff(void)
{
CanTxRxMsg
CAN_SendMsg
;
CanTxRxMsg
CAN_SendMsg_Diag_Tx
;
CAN_SendMsg
.
Id
=
0x
500
;
CAN_SendMsg
.
Id
=
0x
6EE
;
CAN_SendMsg
.
IDE
=
CAN_Id_Standard
;
CAN_SendMsg
.
CacheType
=
CAN_CacheType_Tx
;
CAN_SendMsg
.
RTR
=
CAN_RTR_Data
;
...
...
@@ -104,6 +131,49 @@ void Can_Tx_Apply_Buff(void)
CAN_MessageCache_DeInit
(
CAN0MSG08
);
CAN_MessageCache_Init
(
CAN0MSG08
,
&
CAN_SendMsg
);
CAN_SendMsg
.
Id
=
0x6EF
;
CAN_SendMsg
.
IDE
=
CAN_Id_Standard
;
CAN_SendMsg
.
CacheType
=
CAN_CacheType_Tx
;
CAN_SendMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
DISABLE
;
CAN_SendMsg
.
DLC
=
8
;
for
(
uint8_t
i
=
0
;
i
<
CAN_SendMsg
.
DLC
;
i
++
)
{
CAN_SendMsg
.
Data
[
i
]
=
0
;
}
CAN_MessageCache_DeInit
(
CAN0MSG12
);
CAN_MessageCache_Init
(
CAN0MSG12
,
&
CAN_SendMsg
);
CAN_SendMsg
.
Id
=
0x450
;
CAN_SendMsg
.
IDE
=
CAN_Id_Standard
;
CAN_SendMsg
.
CacheType
=
CAN_CacheType_Tx
;
CAN_SendMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
DISABLE
;
CAN_SendMsg
.
DLC
=
8
;
for
(
uint8_t
i
=
0
;
i
<
CAN_SendMsg
.
DLC
;
i
++
)
{
CAN_SendMsg
.
Data
[
i
]
=
0
;
}
CAN_MessageCache_DeInit
(
CAN0MSG13
);
CAN_MessageCache_Init
(
CAN0MSG13
,
&
CAN_SendMsg
);
CAN_SendMsg
.
Id
=
0x220
;
CAN_SendMsg
.
IDE
=
CAN_Id_Standard
;
CAN_SendMsg
.
CacheType
=
CAN_CacheType_Tx
;
CAN_SendMsg
.
RTR
=
CAN_RTR_Data
;
CAN_RecvMsg
.
Interrupt
=
DISABLE
;
CAN_SendMsg
.
DLC
=
8
;
for
(
uint8_t
i
=
0
;
i
<
CAN_SendMsg
.
DLC
;
i
++
)
{
CAN_SendMsg
.
Data
[
i
]
=
0
;
}
CAN_MessageCache_DeInit
(
CAN0MSG10
);
CAN_MessageCache_Init
(
CAN0MSG10
,
&
CAN_SendMsg
);
CAN_SendMsg_Diag_Tx
.
Id
=
DIAG_ID_Tx
;
CAN_SendMsg_Diag_Tx
.
IDE
=
CAN_Id_Standard
;
...
...
@@ -239,9 +309,18 @@ void Can_Write(st_CAN_Msg *Msg)
switch
(
CAN_SendMsg
.
Id
)
{
case
0x
500
:
case
0x
6EE
:
CAN_Transmit
(
CAN0MSG08
,
&
CAN_SendMsg
);
break
;
case
0x6EF
:
CAN_Transmit
(
CAN0MSG12
,
&
CAN_SendMsg
);
break
;
case
0x450
:
CAN_Transmit
(
CAN0MSG13
,
&
CAN_SendMsg
);
break
;
case
0x220
:
CAN_Transmit
(
CAN0MSG10
,
&
CAN_SendMsg
);
break
;
default:
break
;
...
...
Firmware/Source/UDS/Diag_ID_Def.h
View file @
d0c1a409
...
...
@@ -8,8 +8,8 @@
#ifndef _DIAG_ID_DEF_H_
#define _DIAG_ID_DEF_H_
#define DIAG_ID_Tx 0x07
89
u
/*发送ID*/
#define DIAG_ID_Rx_PHY 0x07
81
u
/*接收ID,物理寻址*/
#define DIAG_ID_Tx 0x07
E8
u
/*发送ID*/
#define DIAG_ID_Rx_PHY 0x07
E0
u
/*接收ID,物理寻址*/
#define DIAG_ID_Rx_FUN 0x07DFu
/*接收ID,功能寻址*/
#endif
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