Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
VC66_7C
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
ISUZU
VC66_7C
Commits
b3aa1672
Commit
b3aa1672
authored
Mar 21, 2022
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整诊断收发
parent
c4e8fc54
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
260 additions
and
483 deletions
+260
-483
RTE_CAN.c
source/Application/RTE/RTE_CAN.c
+33
-84
RTE_CAN.h
source/Application/RTE/RTE_CAN.h
+1
-0
EOL_Para.c
source/Application/UDS/APP/Common/EOL_Para.c
+12
-10
UDS_Common.c
source/Application/UDS/APP/Common/UDS_Common.c
+152
-325
UDS_Common.h
source/Application/UDS/APP/Common/UDS_Common.h
+10
-11
UDS_DTC.c
source/Application/UDS/APP/Common/UDS_DTC.c
+2
-2
UDS_11Service_Filter.c
.../Application/UDS/APP/UDS_11Service/UDS_11Service_Filter.c
+1
-1
UDS_22Service_Main.c
...ce/Application/UDS/APP/UDS_22Service/UDS_22Service_Main.c
+7
-18
UDS_27Service_Main.c
...ce/Application/UDS/APP/UDS_27Service/UDS_27Service_Main.c
+4
-4
UDS_2EService_Main.c
...ce/Application/UDS/APP/UDS_2EService/UDS_2EService_Main.c
+7
-16
UDS_2FService_Filter.c
.../Application/UDS/APP/UDS_2FService/UDS_2FService_Filter.c
+1
-1
UDS_2FService_Main.c
...ce/Application/UDS/APP/UDS_2FService/UDS_2FService_Main.c
+2
-2
UDS_31Service_Filter.c
.../Application/UDS/APP/UDS_31Service/UDS_31Service_Filter.c
+2
-4
UDS_31Service_Internal.c
...pplication/UDS/APP/UDS_31Service/UDS_31Service_Internal.c
+5
-0
UDS_31Service_Internal.h
...pplication/UDS/APP/UDS_31Service/UDS_31Service_Internal.h
+1
-0
UDS_31Service_Main.c
...ce/Application/UDS/APP/UDS_31Service/UDS_31Service_Main.c
+2
-0
Diag_ID_Def.h
source/Application/UDS/TP/Diag_ID_Def.h
+3
-3
DoCAN_ISO15765.c
source/Application/UDS/TP/DoCAN_ISO15765.c
+13
-2
RSCAN_Table.c
source/Driver/CAN/RSCAN_Table.c
+2
-0
No files found.
source/Application/RTE/RTE_CAN.c
View file @
b3aa1672
...
@@ -56,7 +56,7 @@ void Can_Init(void)
...
@@ -56,7 +56,7 @@ void Can_Init(void)
CANLLCCh0Filter
.
stRSCANCh2
.
u32RSCANChRuleSize
=
CANFD0_CH2_RX_RULE_SIZE
;
/*通道接收规则条数*/
CANLLCCh0Filter
.
stRSCANCh2
.
u32RSCANChRuleSize
=
CANFD0_CH2_RX_RULE_SIZE
;
/*通道接收规则条数*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANConfirmCallBack
=
0u
;
/*发送确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANConfirmCallBack
=
0u
;
/*发送确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANAbortConfirmCallBack
=
0u
;
/*发送中止确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANAbortConfirmCallBack
=
0u
;
/*发送中止确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANReadMsgCallBack
=
0u
;
/*接收完成*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANReadMsgCallBack
=
Can_Read_Msg2
;
/*接收完成*/
CANSTB_OUT
=
1U
;
//CANSTB_OUT
CANSTB_OUT
=
1U
;
//CANSTB_OUT
CANSTB2_OUT
=
1U
;
//CANSTB2_OUT
CANSTB2_OUT
=
1U
;
//CANSTB2_OUT
...
@@ -73,99 +73,36 @@ void Can_DeInit(void)
...
@@ -73,99 +73,36 @@ void Can_DeInit(void)
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
)
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
)
{
{
uint8_t
i
=
0u
;
CAN_Frame_st_t
CANFrame
;
CAN_Frame_st_t
CANFrame
;
CANFrame
.
unCANData
.
u8CANData
[
0
]
=
Msg
->
Msg
[
0
];
for
(
i
=
0
;
i
<
8u
;
i
++
)
CANFrame
.
unCANData
.
u8CANData
[
1
]
=
Msg
->
Msg
[
1
];
{
CANFrame
.
unCANData
.
u8CANData
[
2
]
=
Msg
->
Msg
[
2
];
CANFrame
.
unCANData
.
u8CANData
[
i
]
=
Msg
->
Msg
[
i
];
CANFrame
.
unCANData
.
u8CANData
[
3
]
=
Msg
->
Msg
[
3
];
}
CANFrame
.
unCANData
.
u8CANData
[
4
]
=
Msg
->
Msg
[
4
];
CANFrame
.
unCANData
.
u8CANData
[
5
]
=
Msg
->
Msg
[
5
];
CANFrame
.
unCANData
.
u8CANData
[
6
]
=
Msg
->
Msg
[
6
];
CANFrame
.
unCANData
.
u8CANData
[
7
]
=
Msg
->
Msg
[
7
];
CANFrame
.
u32CANID
=
Msg
->
MsgID
;
CANFrame
.
u32CANID
=
Msg
->
MsgID
;
CANFrame
.
u8CANLEN
=
Msg
->
MsgDLC
;
CANFrame
.
u8CANLEN
=
Msg
->
MsgDLC
;
CANFrame
.
u8CANFrameIDE
=
1u
;
CANFrame
.
u8CANFrameIDE
=
Msg
->
MsgStd
;
switch
(
Msg
->
MsgPro
)
{
case
0x00u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_0
,
&
CANFrame
);
break
;
case
0x01u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_1
,
&
CANFrame
);
break
;
case
0x02u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_2
,
&
CANFrame
);
break
;
case
0x03u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_3
,
&
CANFrame
);
break
;
case
0x04u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_4
,
&
CANFrame
);
break
;
case
0x05u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_5
,
&
CANFrame
);
break
;
case
0x06u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_6
,
&
CANFrame
);
break
;
case
0x07u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_7
,
&
CANFrame
);
break
;
case
0x08u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_8
,
&
CANFrame
);
break
;
case
0x09u
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_9
,
&
CANFrame
);
break
;
case
0x0Au
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_10
,
&
CANFrame
);
break
;
case
0x0Bu
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_11
,
&
CANFrame
);
break
;
case
0x0Cu
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_12
,
&
CANFrame
);
break
;
case
0x0Du
:
RSCAN0_CH0_Set_TXBUF_Data
(
RSCAN_CHANNEL_BUF_13
,
&
CANFrame
);
break
;
default:
break
;
if
(
Msg
->
MsgPro
<
RSCAN_CHANNEL_BUF_2
)
{
RSCAN0_CH2_Set_TXBUF_Data
(
Msg
->
MsgPro
,
&
CANFrame
);
}
}
else
if
(
Msg
->
MsgPro
<
RSCAN_CHANNEL_BUF_MAX
)
/*
{
switch (Msg->MsgPro)
RSCAN0_CH0_Set_TXBUF_Data
(
Msg
->
MsgPro
,
&
CANFrame
);
}
else
if
((
Msg
->
MsgPro
>=
25u
)
&&
(
Msg
->
MsgPro
<=
27u
))
{
RSCAN0_CH2_Set_FIFO0_Data
(
&
CANFrame
);
}
else
{
{
case 0:
RSCAN0_CH0_Set_FIFO0_Data
(
&
CANFrame
);
RSCAN0_SendCH0_TxBuf0(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 1:
RSCAN0_SendCH0_TxBuf1(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 2:
RSCAN0_SendCH0_TxBuf2(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 3:
RSCAN0_SendCH0_TxBuf3(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 4:
RSCAN0_SendCH0_TxBuf4(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 5:
RSCAN0_SendCH0_TxBuf5(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 6:
RSCAN0_SendCH0_TxBuf6(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 7:
RSCAN0_SendCH0_TxBuf7(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 8:
RSCAN0_SendCH0_TxBuf8(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 9:
RSCAN0_SendCH0_TxBuf9(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 10:
RSCAN0_SendCH0_TxBuf10(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 11:
RSCAN0_SendCH0_TxBuf11(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 12:
RSCAN0_SendCH0_TxBuf12(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 13:
RSCAN0_SendCH0_TxBuf13(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 14:
RSCAN0_SendCH0_TxBuf14(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 15:
RSCAN0_SendCH0_TxBuf15(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
default:
CAN_CH0_Data_Request(Msg->MsgID, Msg->MsgStd, Msg->MsgRTR, Msg->MsgDLC, Msg->Msg);
break;
}
}
*/
return
0
;
return
0
;
}
}
...
@@ -200,6 +137,18 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[])
...
@@ -200,6 +137,18 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[])
Co_Can_Buff_Set
(
Co_Can_ConvertSubID
(
m_id
),
m_dlc
,
m_Msg
);
Co_Can_Buff_Set
(
Co_Can_ConvertSubID
(
m_id
),
m_dlc
,
m_Msg
);
//if ((m_id == DIAG_ID_Rx_FUN) || (m_id == DIAG_ID_Rx_PHY))
//{
// DoCAN_L_Data_Indication(m_id, m_dlc, m_Msg);
//}
}
void
Can_Read_Msg2
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[])
{
ReceivedMsg
(
m_id
,
m_dlc
);
//Co_Can_Buff_Set(Co_Can_ConvertSubID(m_id), m_dlc, m_Msg);
if
((
m_id
==
DIAG_ID_Rx_FUN
)
||
(
m_id
==
DIAG_ID_Rx_PHY
))
if
((
m_id
==
DIAG_ID_Rx_FUN
)
||
(
m_id
==
DIAG_ID_Rx_PHY
))
{
{
DoCAN_L_Data_Indication
(
m_id
,
m_dlc
,
m_Msg
);
DoCAN_L_Data_Indication
(
m_id
,
m_dlc
,
m_Msg
);
...
...
source/Application/RTE/RTE_CAN.h
View file @
b3aa1672
...
@@ -46,6 +46,7 @@ void Can_Init(void);
...
@@ -46,6 +46,7 @@ void Can_Init(void);
void
Can_DeInit
(
void
);
void
Can_DeInit
(
void
);
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
);
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
);
void
Can_Read_Msg
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[]);
void
Can_Read_Msg
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[]);
void
Can_Read_Msg2
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[]);
void
Can_Abort_Confirm
(
uint32_t
Identifier
,
uint8_t
TransferStatus
);
void
Can_Abort_Confirm
(
uint32_t
Identifier
,
uint8_t
TransferStatus
);
void
Can_Sleep_Fun
(
void
);
void
Can_Sleep_Fun
(
void
);
void
Can_SleepController_Fun
(
void
);
void
Can_SleepController_Fun
(
void
);
...
...
source/Application/UDS/APP/Common/EOL_Para.c
View file @
b3aa1672
...
@@ -86,7 +86,7 @@ uint8_t Val_EOL_6060_Weigh(void)
...
@@ -86,7 +86,7 @@ uint8_t Val_EOL_6060_Weigh(void)
/* 车速里程表 K 值*/
/* 车速里程表 K 值*/
uint16_t
Val_EOL_6062_KValue
(
void
)
uint16_t
Val_EOL_6062_KValue
(
void
)
{
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_6062
[
0u
]
<<
8u
);
Res
=
Res
|
(
EOL_Data_Type
.
DID_6062
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_6062
[
1u
];
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_6062
[
1u
];
...
@@ -136,7 +136,7 @@ uint8_t Val_EOL_606E_Shift(void)
...
@@ -136,7 +136,7 @@ uint8_t Val_EOL_606E_Shift(void)
/* 油箱容量设置*/
/* 油箱容量设置*/
uint16_t
Val_EOL_606F_FuelTank
(
void
)
uint16_t
Val_EOL_606F_FuelTank
(
void
)
{
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_606F
[
0u
]
<<
8u
);
Res
=
Res
|
(
EOL_Data_Type
.
DID_606F
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_606F
[
1u
];
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_606F
[
1u
];
...
@@ -194,11 +194,13 @@ uint8_t Val_EOL_6075_SpeedAlarm(void)
...
@@ -194,11 +194,13 @@ uint8_t Val_EOL_6075_SpeedAlarm(void)
/* 油箱容量设置*/
/* 油箱容量设置*/
uint32_t
Val_EOL_6076_FuelTank
(
void
)
uint32_t
Val_EOL_6076_FuelTank
(
void
)
{
{
uint8_t
Res
;
uint32_t
Res
=
0u
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_606F
[
0u
]
<<
8u
);
Res
=
(
uint8_t
)(
EOL_Data_Type
.
DID_6076
[
0u
]
&
0xFFU
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_606F
[
1u
];
Res
=
((
Res
<<
8
)
&
0XFF00u
);
Res
=
((
Res
&
0x00FFFFu
)
<<
8
)
|
EOL_Data_Type
.
DID_606F
[
2u
];
Res
=
((
Res
|
EOL_Data_Type
.
DID_6076
[
1u
])
&
0x00FFFFu
);
Res
=
((
Res
<<
8u
)
&
0xFFFF00u
);
Res
=
((
Res
|
EOL_Data_Type
.
DID_6076
[
2u
])
&
0xFFFFFFu
);
return
Res
;
return
Res
;
}
}
...
@@ -213,7 +215,7 @@ uint8_t Val_EOL_60C9_Urea(void)
...
@@ -213,7 +215,7 @@ uint8_t Val_EOL_60C9_Urea(void)
/* 主油箱容积*/
/* 主油箱容积*/
uint16_t
Val_EOL_60CA_MainFuelTank
(
void
)
uint16_t
Val_EOL_60CA_MainFuelTank
(
void
)
{
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CA
[
0u
]
<<
8u
);
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CA
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CA
[
1u
];
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CA
[
1u
];
...
@@ -223,7 +225,7 @@ uint16_t Val_EOL_60CA_MainFuelTank(void)
...
@@ -223,7 +225,7 @@ uint16_t Val_EOL_60CA_MainFuelTank(void)
/* 副油箱容积*/
/* 副油箱容积*/
uint16_t
Val_EOL_60CB_AuxiliaryTank
(
void
)
uint16_t
Val_EOL_60CB_AuxiliaryTank
(
void
)
{
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0
;
Res
=
0
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CB
[
0u
]
<<
8u
);
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CB
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CB
[
1u
];
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CB
[
1u
];
...
@@ -241,7 +243,7 @@ uint8_t Val_EOL_60CC_FuelTankType(void)
...
@@ -241,7 +243,7 @@ uint8_t Val_EOL_60CC_FuelTankType(void)
/* 发动机类型*/
/* 发动机类型*/
uint16_t
Val_EOL_60CD_EngineType
(
void
)
uint16_t
Val_EOL_60CD_EngineType
(
void
)
{
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0
;
Res
=
0
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CD
[
0u
]
<<
8u
);
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CD
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CD
[
1u
];
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CD
[
1u
];
...
...
source/Application/UDS/APP/Common/UDS_Common.c
View file @
b3aa1672
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/Common/UDS_Common.h
View file @
b3aa1672
...
@@ -31,6 +31,8 @@
...
@@ -31,6 +31,8 @@
#include "RTE_ADC.h"
#include "RTE_ADC.h"
#include "rh850_macros.h"
#include "rh850_macros.h"
#include "Telltales_user.h"
/**
/**
*正负反馈
*正负反馈
...
@@ -342,12 +344,6 @@ typedef struct
...
@@ -342,12 +344,6 @@ typedef struct
uint8_t
DID_F180
[
7
];
uint8_t
DID_F180
[
7
];
uint8_t
DID_F181
[
7
];
uint8_t
DID_F181
[
7
];
uint8_t
DID_F182
[
7
];
uint8_t
DID_F182
[
7
];
uint8_t
DID_F187
[
13
];
uint8_t
DID_F18A
[
8
];
uint8_t
DID_F18B
[
4
];
uint8_t
DID_F18C
[
20
];
uint8_t
DID_F193
[
6
];
uint8_t
DID_F195
[
6
];
uint8_t
DID_6000
;
uint8_t
DID_6000
;
uint8_t
DID_6001
;
uint8_t
DID_6001
;
uint8_t
DID_6078
;
uint8_t
DID_6078
;
...
@@ -395,9 +391,7 @@ typedef struct
...
@@ -395,9 +391,7 @@ typedef struct
uint8_t
DID_6065
;
uint8_t
DID_6065
;
uint8_t
DID_6066
;
uint8_t
DID_6066
;
uint8_t
DID_6069
;
uint8_t
DID_6069
;
uint8_t
DID_6077
;
uint8_t
DID_6077
;
}
BootToDFlashInfoUnion
;
}
BootToDFlashInfoUnion
;
typedef
struct
typedef
struct
...
@@ -409,7 +403,12 @@ typedef struct
...
@@ -409,7 +403,12 @@ typedef struct
uint8_t
DID_F190
[
17
];
uint8_t
DID_F190
[
17
];
uint8_t
DID_F1F0
[
6
];
uint8_t
DID_F1F0
[
6
];
uint8_t
DID_F1F1
[
6
];
uint8_t
DID_F1F1
[
6
];
uint8_t
fill
;
uint8_t
DID_F187
[
13
];
uint8_t
DID_F18A
[
8
];
uint8_t
DID_F18B
[
4
];
uint8_t
DID_F18C
[
20
];
uint8_t
DID_F193
[
6
];
uint8_t
DID_F195
[
6
];
}
Ser2EToDFlashInfoUnion
;
}
Ser2EToDFlashInfoUnion
;
/*typedef struct
/*typedef struct
...
@@ -502,5 +501,5 @@ void BootToDFlashInfoInit(void);
...
@@ -502,5 +501,5 @@ void BootToDFlashInfoInit(void);
void
Ser2EToDFlashInfoInit
(
void
);
void
Ser2EToDFlashInfoInit
(
void
);
void
DTCToDFlashInfoInit
(
void
);
void
DTCToDFlashInfoInit
(
void
);
void
DTCConfigurationInit
(
void
);
void
DTCConfigurationInit
(
void
);
void
BootReadFlahInit
(
void
);
#endif
#endif
source/Application/UDS/APP/Common/UDS_DTC.c
View file @
b3aa1672
...
@@ -99,7 +99,7 @@ void TestDTC(uint16_t timer)
...
@@ -99,7 +99,7 @@ void TestDTC(uint16_t timer)
*/
*/
void
TestDTC_U100700
(
void
)
void
TestDTC_U100700
(
void
)
{
{
if
(
DTCList
[
U100700
][
1u
])
if
(
DTCList
[
cn
U100700
][
1u
])
{
{
if
(
getBUS_OFF_FLAG
())
if
(
getBUS_OFF_FLAG
())
{
{
...
@@ -483,7 +483,7 @@ uint8_t getBusoffStatus(void)
...
@@ -483,7 +483,7 @@ uint8_t getBusoffStatus(void)
setDTCEnableTimer
(
BusOffDTCEnableTimer
);
setDTCEnableTimer
(
BusOffDTCEnableTimer
);
}
}
return
getBUS_OFF_Status
();
return
getBUS_OFF_Status
();
return
0
;
//
return 0;
}
}
/**
/**
...
...
source/Application/UDS/APP/UDS_11Service/UDS_11Service_Filter.c
View file @
b3aa1672
...
@@ -100,7 +100,7 @@ uint8_t UDS_11Service_NRC13_TotalLengthCheck(void)
...
@@ -100,7 +100,7 @@ uint8_t UDS_11Service_NRC13_TotalLengthCheck(void)
uint8_t
UDS_11Service_NRC22
(
void
)
uint8_t
UDS_11Service_NRC22
(
void
)
{
{
uint8_t
NRC
=
positiveResponse
;
uint8_t
NRC
=
positiveResponse
;
if
(
getSpeed
()
>
=
0u
)
if
(
getSpeed
()
>
0u
)
{
{
NRC
=
conditionsNotCorrect
;
NRC
=
conditionsNotCorrect
;
UDS_Service_Response
(
0x11u
,
NEGATIVE_RSP
,
DIAG_ID_Tx
,
1u
,
(
uint8_t
*
)
&
NRC
);
UDS_Service_Response
(
0x11u
,
NEGATIVE_RSP
,
DIAG_ID_Tx
,
1u
,
(
uint8_t
*
)
&
NRC
);
...
...
source/Application/UDS/APP/UDS_22Service/UDS_22Service_Main.c
View file @
b3aa1672
...
@@ -42,18 +42,7 @@ void UDS_Service_22_Indication(uint32_t A_TA_type, uint16_t A_Length, uint8_t A_
...
@@ -42,18 +42,7 @@ void UDS_Service_22_Indication(uint32_t A_TA_type, uint16_t A_Length, uint8_t A_
clearDiagMSG
();
/*清除诊断信息*/
clearDiagMSG
();
/*清除诊断信息*/
}
}
const
uint8_t
Ser22_DID_F113
[
4
]
=
{
0x04
,
0x04
,
0x04
,
0x04
};
/*诊断协议版本*/
const
uint8_t
Ser22_DID_F182
[]
=
""
;
/*标定版本号*/
const
uint8_t
Ser22_DID_F18A
[
6
]
=
{
'4'
,
'5'
,
'1'
,
'0'
,
'0'
,
'3'
};
/*供应商识别号*/
const
uint8_t
Ser22_DID_F18B
[
4
]
=
{
0x20
,
0x21
,
0x01
,
0x19
};
/*ECU制造日期*/
const
uint8_t
Ser22_DID_F18C
[]
=
"0000"
;
/*ECU序列号*/
const
uint8_t
Ser22_DID_F195
[]
=
"114"
;
/*供应商ECU软件版本号*/
const
uint8_t
Ser22_DID_F1AA
[
8
];
/*ECU核心总成零部件号*/
const
uint8_t
Ser22_DID_F1AE
[]
=
""
;
/*ECU软件零件号*/
const
uint8_t
Ser22_DID_6209
[
16
]
=
""
;
/*第二软件版本号*/
const
uint8_t
Ser22_DID_6983
[
3
]
=
""
;
/*抬头显示屏控制器软件版本*/
const
uint8_t
Ser22_DID_6984
[
2
]
=
""
;
/*抬头显示屏控制器硬件版本*/
const
uint8_t
Ser22_DID_6985
[
3
]
=
""
;
/*抬头显示屏控制器 EEPROM数据版本*/
/**
/**
*22服务子功能
*22服务子功能
...
@@ -412,7 +401,7 @@ void UDS_22Service_DID_F185(void)
...
@@ -412,7 +401,7 @@ void UDS_22Service_DID_F185(void)
*/
*/
void
UDS_22Service_DID_F187
(
void
)
void
UDS_22Service_DID_F187
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F187
,
sizeof
(
Boot
ToDFlashInfo
.
DID_F187
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F187
,
sizeof
(
Ser2E
ToDFlashInfo
.
DID_F187
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
13u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
13u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -422,7 +411,7 @@ void UDS_22Service_DID_F187(void)
...
@@ -422,7 +411,7 @@ void UDS_22Service_DID_F187(void)
*/
*/
void
UDS_22Service_DID_F18A
(
void
)
void
UDS_22Service_DID_F18A
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F18A
,
sizeof
(
Boot
ToDFlashInfo
.
DID_F18A
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F18A
,
sizeof
(
Ser2E
ToDFlashInfo
.
DID_F18A
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
8u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
8u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -432,7 +421,7 @@ void UDS_22Service_DID_F18A(void)
...
@@ -432,7 +421,7 @@ void UDS_22Service_DID_F18A(void)
*/
*/
void
UDS_22Service_DID_F18B
(
void
)
void
UDS_22Service_DID_F18B
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F18B
,
sizeof
(
Boot
ToDFlashInfo
.
DID_F18B
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F18B
,
sizeof
(
Ser2E
ToDFlashInfo
.
DID_F18B
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
4u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
4u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -442,7 +431,7 @@ void UDS_22Service_DID_F18B(void)
...
@@ -442,7 +431,7 @@ void UDS_22Service_DID_F18B(void)
*/
*/
void
UDS_22Service_DID_F18C
(
void
)
void
UDS_22Service_DID_F18C
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F18C
,
sizeof
(
Boot
ToDFlashInfo
.
DID_F18C
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F18C
,
sizeof
(
Ser2E
ToDFlashInfo
.
DID_F18C
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
20u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
20u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -462,7 +451,7 @@ void UDS_22Service_DID_F190(void)
...
@@ -462,7 +451,7 @@ void UDS_22Service_DID_F190(void)
*/
*/
void
UDS_22Service_DID_F193
(
void
)
void
UDS_22Service_DID_F193
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F193
,
sizeof
(
BootToDFlashInfo
.
DID_F180
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F193
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F193
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
6u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
6u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -472,7 +461,7 @@ void UDS_22Service_DID_F193(void)
...
@@ -472,7 +461,7 @@ void UDS_22Service_DID_F193(void)
*/
*/
void
UDS_22Service_DID_F195
(
void
)
void
UDS_22Service_DID_F195
(
void
)
{
{
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
BootToDFlashInfo
.
DID_F195
,
sizeof
(
BootToDFlashInfo
.
DID_F180
));
memcpy
(
DiagMSG
.
msgData
.
DidDetail
.
Data
,
Ser2EToDFlashInfo
.
DID_F195
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F195
));
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
6u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x22u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
+
6u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
...
source/Application/UDS/APP/UDS_27Service/UDS_27Service_Main.c
View file @
b3aa1672
...
@@ -119,8 +119,8 @@ void UDS_27Service_Sub01(void)
...
@@ -119,8 +119,8 @@ void UDS_27Service_Sub01(void)
Ser27_CreateRandomSeed
();
Ser27_CreateRandomSeed
();
Ser27_FlowCtrl
.
LV1Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV1Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV1Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV1Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV1Seed
[
0
]
=
0x49u
;
//
Ser27_FlowCtrl.LV1Seed[0] = 0x49u;
Ser27_FlowCtrl
.
LV1Seed
[
1
]
=
0xB4u
;
//
Ser27_FlowCtrl.LV1Seed[1] = 0xB4u;
}
}
else
else
{
{
...
@@ -174,8 +174,8 @@ void UDS_27Service_Sub03(void)
...
@@ -174,8 +174,8 @@ void UDS_27Service_Sub03(void)
Ser27_CreateRandomSeed
();
Ser27_CreateRandomSeed
();
Ser27_FlowCtrl
.
LV3Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV3Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV3Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV3Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV3Seed
[
0
]
=
0x49u
;
//
Ser27_FlowCtrl.LV3Seed[0] = 0x49u;
Ser27_FlowCtrl
.
LV3Seed
[
1
]
=
0xB4u
;
//
Ser27_FlowCtrl.LV3Seed[1] = 0xB4u;
}
}
else
else
...
...
source/Application/UDS/APP/UDS_2EService/UDS_2EService_Main.c
View file @
b3aa1672
...
@@ -174,7 +174,7 @@ void UDS_2EService_DID_F183(void)
...
@@ -174,7 +174,7 @@ void UDS_2EService_DID_F183(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F183
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F183
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F183
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F183
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -185,7 +185,7 @@ void UDS_2EService_DID_F184(void)
...
@@ -185,7 +185,7 @@ void UDS_2EService_DID_F184(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F184
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F184
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -196,7 +196,7 @@ void UDS_2EService_DID_F185(void)
...
@@ -196,7 +196,7 @@ void UDS_2EService_DID_F185(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F185
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F185
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -207,7 +207,7 @@ void UDS_2EService_DID_F190(void)
...
@@ -207,7 +207,7 @@ void UDS_2EService_DID_F190(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F190
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F190
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F190
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F190
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -218,7 +218,7 @@ void UDS_2EService_DID_F1F0(void)
...
@@ -218,7 +218,7 @@ void UDS_2EService_DID_F1F0(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F0
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F0
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F0
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F0
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -229,7 +229,7 @@ void UDS_2EService_DID_F1F1(void)
...
@@ -229,7 +229,7 @@ void UDS_2EService_DID_F1F1(void)
{
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F1
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F1
));
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F1
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F1
));
write2EData
(
Write2EData
);
write2EData
(
Write2EData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
@@ -240,15 +240,6 @@ void UDS_2EService_DID_605C(void)
...
@@ -240,15 +240,6 @@ void UDS_2EService_DID_605C(void)
{
{
uint8_t
i
;
uint8_t
i
;
memcpy
(
&
EOL_Data_Type
.
DID_605C
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
1u
);
memcpy
(
&
EOL_Data_Type
.
DID_605C
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
1u
);
memset
(
&
EOL_Data_Type
.
DID_605C
,
2
,(
sizeof
(
EOL_Data_Type
)
-
4
));
//memset(&Ser2EToDFlashInfo.DID_F183,3,sizeof(Ser2EToDFlashInfo) - 4);
//memset(&Ser27_FlowCtrlCnt.RandNum,1,sizeof(Ser27_FlowCtrlCnt) - 4);
//memset(&DiagFlag.JumpToBootFlag,1,sizeof(DiagFlag) - 4);
//write2EData(Write2EData);
//WriteDFlashData(EEPROM_BLOCK_UDS_S27, (uint32_t *)&Ser27_FlowCtrlCnt.Flag, sizeof(Ser27_FlowCtrlCnt) / 4u, NeedWait);
//WriteDFlashData(EEPROM_BLOCK_UDS_FLAG, (uint32_t *)&DiagFlag.Flag, sizeof(DiagFlag) / 4u, NeedWait);/**/
write2EData
(
WriteEOLData
);
write2EData
(
WriteEOLData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
,
DiagMSG
.
msgData
.
Data
);
}
}
...
@@ -430,7 +421,7 @@ void UDS_2EService_DID_6074(void)
...
@@ -430,7 +421,7 @@ void UDS_2EService_DID_6074(void)
{
{
memcpy
(
&
EOL_Data_Type
.
DID_6074
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
1u
);
memcpy
(
&
EOL_Data_Type
.
DID_6074
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
1u
);
write2EData
(
WriteEOLData
);
write2EData
(
WriteEOLData
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
3
u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2
u
,
DiagMSG
.
msgData
.
Data
);
}
}
/**
/**
...
...
source/Application/UDS/APP/UDS_2FService/UDS_2FService_Filter.c
View file @
b3aa1672
...
@@ -119,7 +119,7 @@ uint8_t UDS_2FService_SubParameter_NRC31(void)
...
@@ -119,7 +119,7 @@ uint8_t UDS_2FService_SubParameter_NRC31(void)
}
}
if
(
DiagMSG
.
msgData
.
DidDetail
.
Data
[
0
]
==
3u
)
if
(
DiagMSG
.
msgData
.
DidDetail
.
Data
[
0
]
==
3u
)
{
{
if
((
DiagMSG
.
msgData
.
DidDetail
.
Data
[
1
]
==
0x00u
)
||
(
DiagMSG
.
msgData
.
DidDetail
.
Data
[
1
]
==
0x
FF
u
))
if
((
DiagMSG
.
msgData
.
DidDetail
.
Data
[
1
]
==
0x00u
)
||
(
DiagMSG
.
msgData
.
DidDetail
.
Data
[
1
]
==
0x
01
u
))
{
{
NRC
=
positiveResponse
;
NRC
=
positiveResponse
;
}
}
...
...
source/Application/UDS/APP/UDS_2FService/UDS_2FService_Main.c
View file @
b3aa1672
...
@@ -60,7 +60,7 @@ void UDS_2FService_DID(void)
...
@@ -60,7 +60,7 @@ void UDS_2FService_DID(void)
UDS_2FService_DID_6048
();
UDS_2FService_DID_6048
();
break
;
break
;
case
0x6091u
:
case
0x6091u
:
UDS_2FService_DID_60
48
();
UDS_2FService_DID_60
91
();
break
;
break
;
case
0x6046u
:
case
0x6046u
:
UDS_2FService_DID_6046
();
UDS_2FService_DID_6046
();
...
@@ -136,7 +136,7 @@ void UDS_2FService_DID(void)
...
@@ -136,7 +136,7 @@ void UDS_2FService_DID(void)
// case 0x6092u:
// case 0x6092u:
// break;
// break;
// case 0x6093u:
// case 0x6093u:
break
;
//
break;
case
0x6022u
:
case
0x6022u
:
UDS_2FService_DID_6022
();
UDS_2FService_DID_6022
();
break
;
break
;
...
...
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Filter.c
View file @
b3aa1672
...
@@ -117,7 +117,7 @@ uint8_t UDS_31Service_NRC31(void)
...
@@ -117,7 +117,7 @@ uint8_t UDS_31Service_NRC31(void)
uint8_t
i
;
uint8_t
i
;
uint8_t
NRC
=
requestOutOfRange
;
uint8_t
NRC
=
requestOutOfRange
;
uint16_t
temp
=
0u
;
uint16_t
temp
=
0u
;
uint8_t
count
=
0u
;
uint8_t
count
=
sizeof
(
S31DID
)
/
sizeof
(
S31DID
[
0
])
;
for
(
i
=
0u
;
i
<
count
;
++
i
)
for
(
i
=
0u
;
i
<
count
;
++
i
)
{
{
...
@@ -262,9 +262,7 @@ uint8_t UDS_31Service_Sub_NRC7E(void)
...
@@ -262,9 +262,7 @@ uint8_t UDS_31Service_Sub_NRC7E(void)
uint8_t
UDS_31Service_Sub_NRC31
(
void
)
uint8_t
UDS_31Service_Sub_NRC31
(
void
)
{
{
uint8_t
i
;
uint8_t
i
;
uint8_t
NRC
=
requestOutOfRange
;
uint8_t
NRC
=
positiveResponse
;
uint16_t
temp
=
0u
;
uint8_t
count
=
0u
;
if
((
DiagMSG
.
msgData
.
S31Detail
.
SubID
==
stopRoutine
)
&&
(
getDID
(
DiagMSG
.
msgData
.
S31Detail
.
DID_H
,
DiagMSG
.
msgData
.
S31Detail
.
DID_L
)
==
ActiveIC
)){
if
((
DiagMSG
.
msgData
.
S31Detail
.
SubID
==
stopRoutine
)
&&
(
getDID
(
DiagMSG
.
msgData
.
S31Detail
.
DID_H
,
DiagMSG
.
msgData
.
S31Detail
.
DID_L
)
==
ActiveIC
)){
NRC
=
requestOutOfRange
;
NRC
=
requestOutOfRange
;
}
}
...
...
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Internal.c
View file @
b3aa1672
#include "UDS_31Service_Internal.h"
#include "UDS_31Service_Internal.h"
#include "Telltales_user.h"
void
IndicatorTurnOn
(
uint8_t
ST
)
{
}
\ No newline at end of file
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Internal.h
View file @
b3aa1672
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
#include "TYW_stdint.h"
#include "TYW_stdint.h"
#include "UDS_Common.h"
#include "UDS_Common.h"
void
IndicatorTurnOn
(
uint8_t
ST
);
#endif
#endif
\ No newline at end of file
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Main.c
View file @
b3aa1672
...
@@ -177,6 +177,7 @@ void UDS_31Service_Sub03(void)
...
@@ -177,6 +177,7 @@ void UDS_31Service_Sub03(void)
/*87607-16*/
/*87607-16*/
void
UDS_31Service_Sub01_DID_C004
(
void
)
void
UDS_31Service_Sub01_DID_C004
(
void
)
{
{
IndicatorTurnOn
(
0x01u
);
S31DIDC004RequestStatus
=
1
;
S31DIDC004RequestStatus
=
1
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
...
@@ -212,6 +213,7 @@ void UDS_31Service_Sub01_DID_C014(void)
...
@@ -212,6 +213,7 @@ void UDS_31Service_Sub01_DID_C014(void)
/*87607-16*/
/*87607-16*/
void
UDS_31Service_Sub02_DID_C004
(
void
)
void
UDS_31Service_Sub02_DID_C004
(
void
)
{
{
IndicatorTurnOn
(
0x02u
);
S31DIDC004RequestStatus
=
0
;
S31DIDC004RequestStatus
=
0
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
...
...
source/Application/UDS/TP/Diag_ID_Def.h
View file @
b3aa1672
...
@@ -8,8 +8,8 @@
...
@@ -8,8 +8,8 @@
#ifndef _DIAG_ID_DEF_H_
#ifndef _DIAG_ID_DEF_H_
#define _DIAG_ID_DEF_H_
#define _DIAG_ID_DEF_H_
#define DIAG_ID_Tx 0x
18DAFA17u
/*发送ID*/
#define DIAG_ID_Tx 0x
07E0
/*发送ID*/
#define DIAG_ID_Rx_PHY 0x
18DA17FAu
/*接收ID,物理寻址*/
#define DIAG_ID_Rx_PHY 0x
07E8
/*接收ID,物理寻址*/
#define DIAG_ID_Rx_FUN 0x
18DBFFFAu
/*接收ID,功能寻址*/
#define DIAG_ID_Rx_FUN 0x
0111
/*接收ID,功能寻址*/
#endif
#endif
\ No newline at end of file
source/Application/UDS/TP/DoCAN_ISO15765.c
View file @
b3aa1672
...
@@ -160,8 +160,7 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
...
@@ -160,8 +160,7 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
/*TpCtrl.TxReq = 1u;*/
/*TpCtrl.TxReq = 1u;*/
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
TpCtrl
.
Process
=
TP_TX_INIT
;
/*数据帧已发出,等待发送完成*/
TpCtrl
.
Process
=
TP_TX_INIT
;
/*数据帧已发出,等待发送完成*/
DoCAN_L_Data_Request
(
id
,
dlc
,
data
);
//DoCAN_L_Data_Request(id, dlc, data);
}
}
}
}
}
}
...
@@ -240,6 +239,8 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
...
@@ -240,6 +239,8 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
{
{
uint8_t
i
;
uint8_t
i
;
uint8_t
temp
;
uint8_t
temp
;
_CAN_Msg
canMag
;
LinkTxCtrl
.
Identifier
=
Identifier
;
LinkTxCtrl
.
Identifier
=
Identifier
;
for
(
i
=
0u
;
i
<
dlc
;
i
++
)
for
(
i
=
0u
;
i
<
dlc
;
i
++
)
{
{
...
@@ -252,9 +253,19 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
...
@@ -252,9 +253,19 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
{
{
LinkTxCtrl
.
Data
[
i
]
=
FILLER_BYTE
;
LinkTxCtrl
.
Data
[
i
]
=
FILLER_BYTE
;
}
}
canMag
.
MsgID
=
LinkTxCtrl
.
Identifier
;
canMag
.
MsgDLC
=
8u
;
canMag
.
MsgPro
=
0u
;
canMag
.
MsgStd
=
0u
;
for
(
i
=
0
;
i
<
8u
;
i
++
)
{
canMag
.
Msg
[
i
]
=
LinkTxCtrl
.
Data
[
i
];
}
Can_Write
(
&
canMag
);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#else
#else
Can_Write
(
&
canMag
);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#endif
#endif
LinkTxCtrl
.
Busy
=
1u
;
LinkTxCtrl
.
Busy
=
1u
;
...
...
source/Driver/CAN/RSCAN_Table.c
View file @
b3aa1672
...
@@ -40,4 +40,6 @@ const RSCANFD_Filter_st_t CANFD_RX_RULE_TABLE_LIST[CANFD0_RX_RULE_SIZE] =
...
@@ -40,4 +40,6 @@ const RSCANFD_Filter_st_t CANFD_RX_RULE_TABLE_LIST[CANFD0_RX_RULE_SIZE] =
{
0x98DA17FAul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH0_RX_SELECT
},
/*23*/
{
0x98DA17FAul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH0_RX_SELECT
},
/*23*/
{
0x98DBFFFAul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH0_RX_SELECT
},
/*24*/
{
0x98DBFFFAul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH0_RX_SELECT
},
/*24*/
{
0x000007E8ul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH2_RX_SELECT
},
/* 1*/
{
0x00000111ul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH2_RX_SELECT
},
/* 2*/
};
};
\ No newline at end of file
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