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
3 years ago
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)
CANLLCCh0Filter
.
stRSCANCh2
.
u32RSCANChRuleSize
=
CANFD0_CH2_RX_RULE_SIZE
;
/*通道接收规则条数*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANConfirmCallBack
=
0u
;
/*发送确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANAbortConfirmCallBack
=
0u
;
/*发送中止确认*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANReadMsgCallBack
=
0u
;
/*接收完成*/
CANLLCCh0Filter
.
stRSCANCh2
.
pfnRSCANReadMsgCallBack
=
Can_Read_Msg2
;
/*接收完成*/
CANSTB_OUT
=
1U
;
//CANSTB_OUT
CANSTB2_OUT
=
1U
;
//CANSTB2_OUT
...
...
@@ -73,99 +73,36 @@ void Can_DeInit(void)
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
)
{
uint8_t
i
=
0u
;
CAN_Frame_st_t
CANFrame
;
CANFrame
.
unCANData
.
u8CANData
[
0
]
=
Msg
->
Msg
[
0
];
CANFrame
.
unCANData
.
u8CANData
[
1
]
=
Msg
->
Msg
[
1
];
CANFrame
.
unCANData
.
u8CANData
[
2
]
=
Msg
->
Msg
[
2
];
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
];
for
(
i
=
0
;
i
<
8u
;
i
++
)
{
CANFrame
.
unCANData
.
u8CANData
[
i
]
=
Msg
->
Msg
[
i
];
}
CANFrame
.
u32CANID
=
Msg
->
MsgID
;
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
);
}
/*
switch (Msg->MsgPro)
else
if
(
Msg
->
MsgPro
<
RSCAN_CHANNEL_BUF_MAX
)
{
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_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;
RSCAN0_CH0_Set_FIFO0_Data
(
&
CANFrame
);
}
*/
return
0
;
}
...
...
@@ -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
);
//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
))
{
DoCAN_L_Data_Indication
(
m_id
,
m_dlc
,
m_Msg
);
...
...
This diff is collapsed.
Click to expand it.
source/Application/RTE/RTE_CAN.h
View file @
b3aa1672
...
...
@@ -46,6 +46,7 @@ void Can_Init(void);
void
Can_DeInit
(
void
);
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_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_Sleep_Fun
(
void
);
void
Can_SleepController_Fun
(
void
);
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/Common/EOL_Para.c
View file @
b3aa1672
...
...
@@ -86,7 +86,7 @@ uint8_t Val_EOL_6060_Weigh(void)
/* 车速里程表 K 值*/
uint16_t
Val_EOL_6062_KValue
(
void
)
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_6062
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_6062
[
1u
];
...
...
@@ -136,7 +136,7 @@ uint8_t Val_EOL_606E_Shift(void)
/* 油箱容量设置*/
uint16_t
Val_EOL_606F_FuelTank
(
void
)
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_606F
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_606F
[
1u
];
...
...
@@ -194,11 +194,13 @@ uint8_t Val_EOL_6075_SpeedAlarm(void)
/* 油箱容量设置*/
uint32_t
Val_EOL_6076_FuelTank
(
void
)
{
uint8_t
Res
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_606F
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_606F
[
1u
];
Res
=
((
Res
&
0x00FFFFu
)
<<
8
)
|
EOL_Data_Type
.
DID_606F
[
2u
];
uint32_t
Res
=
0u
;
Res
=
(
uint8_t
)(
EOL_Data_Type
.
DID_6076
[
0u
]
&
0xFFU
);
Res
=
((
Res
<<
8
)
&
0XFF00u
);
Res
=
((
Res
|
EOL_Data_Type
.
DID_6076
[
1u
])
&
0x00FFFFu
);
Res
=
((
Res
<<
8u
)
&
0xFFFF00u
);
Res
=
((
Res
|
EOL_Data_Type
.
DID_6076
[
2u
])
&
0xFFFFFFu
);
return
Res
;
}
...
...
@@ -213,7 +215,7 @@ uint8_t Val_EOL_60C9_Urea(void)
/* 主油箱容积*/
uint16_t
Val_EOL_60CA_MainFuelTank
(
void
)
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0u
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CA
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CA
[
1u
];
...
...
@@ -223,7 +225,7 @@ uint16_t Val_EOL_60CA_MainFuelTank(void)
/* 副油箱容积*/
uint16_t
Val_EOL_60CB_AuxiliaryTank
(
void
)
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CB
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CB
[
1u
];
...
...
@@ -241,7 +243,7 @@ uint8_t Val_EOL_60CC_FuelTankType(void)
/* 发动机类型*/
uint16_t
Val_EOL_60CD_EngineType
(
void
)
{
uint
8
_t
Res
;
uint
16
_t
Res
;
Res
=
0
;
Res
=
Res
|
(
EOL_Data_Type
.
DID_60CD
[
0u
]
<<
8u
);
Res
=
(
Res
&
0xFF00u
)
|
EOL_Data_Type
.
DID_60CD
[
1u
];
...
...
This diff is collapsed.
Click to expand it.
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 @@
#include "RTE_ADC.h"
#include "rh850_macros.h"
#include "Telltales_user.h"
/**
*正负反馈
...
...
@@ -342,12 +344,6 @@ typedef struct
uint8_t
DID_F180
[
7
];
uint8_t
DID_F181
[
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_6001
;
uint8_t
DID_6078
;
...
...
@@ -395,9 +391,7 @@ typedef struct
uint8_t
DID_6065
;
uint8_t
DID_6066
;
uint8_t
DID_6069
;
uint8_t
DID_6077
;
uint8_t
DID_6077
;
}
BootToDFlashInfoUnion
;
typedef
struct
...
...
@@ -409,7 +403,12 @@ typedef struct
uint8_t
DID_F190
[
17
];
uint8_t
DID_F1F0
[
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
;
/*typedef struct
...
...
@@ -502,5 +501,5 @@ void BootToDFlashInfoInit(void);
void
Ser2EToDFlashInfoInit
(
void
);
void
DTCToDFlashInfoInit
(
void
);
void
DTCConfigurationInit
(
void
);
void
BootReadFlahInit
(
void
);
#endif
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/Common/UDS_DTC.c
View file @
b3aa1672
...
...
@@ -99,7 +99,7 @@ void TestDTC(uint16_t timer)
*/
void
TestDTC_U100700
(
void
)
{
if
(
DTCList
[
U100700
][
1u
])
if
(
DTCList
[
cn
U100700
][
1u
])
{
if
(
getBUS_OFF_FLAG
())
{
...
...
@@ -483,7 +483,7 @@ uint8_t getBusoffStatus(void)
setDTCEnableTimer
(
BusOffDTCEnableTimer
);
}
return
getBUS_OFF_Status
();
return
0
;
//
return 0;
}
/**
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_11Service/UDS_11Service_Filter.c
View file @
b3aa1672
...
...
@@ -100,7 +100,7 @@ uint8_t UDS_11Service_NRC13_TotalLengthCheck(void)
uint8_t
UDS_11Service_NRC22
(
void
)
{
uint8_t
NRC
=
positiveResponse
;
if
(
getSpeed
()
>
=
0u
)
if
(
getSpeed
()
>
0u
)
{
NRC
=
conditionsNotCorrect
;
UDS_Service_Response
(
0x11u
,
NEGATIVE_RSP
,
DIAG_ID_Tx
,
1u
,
(
uint8_t
*
)
&
NRC
);
...
...
This diff is collapsed.
Click to expand it.
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_
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服务子功能
...
...
@@ -412,7 +401,7 @@ void UDS_22Service_DID_F185(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
);
}
...
...
@@ -422,7 +411,7 @@ void UDS_22Service_DID_F187(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
);
}
...
...
@@ -432,7 +421,7 @@ void UDS_22Service_DID_F18A(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
);
}
...
...
@@ -442,7 +431,7 @@ void UDS_22Service_DID_F18B(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
);
}
...
...
@@ -462,7 +451,7 @@ void UDS_22Service_DID_F190(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
);
}
...
...
@@ -472,7 +461,7 @@ void UDS_22Service_DID_F193(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
);
}
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_27Service/UDS_27Service_Main.c
View file @
b3aa1672
...
...
@@ -119,8 +119,8 @@ void UDS_27Service_Sub01(void)
Ser27_CreateRandomSeed
();
Ser27_FlowCtrl
.
LV1Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV1Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV1Seed
[
0
]
=
0x49u
;
Ser27_FlowCtrl
.
LV1Seed
[
1
]
=
0xB4u
;
//
Ser27_FlowCtrl.LV1Seed[0] = 0x49u;
//
Ser27_FlowCtrl.LV1Seed[1] = 0xB4u;
}
else
{
...
...
@@ -174,8 +174,8 @@ void UDS_27Service_Sub03(void)
Ser27_CreateRandomSeed
();
Ser27_FlowCtrl
.
LV3Seed
[
0
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
)
^
0x31u
)
+
16u
;
Ser27_FlowCtrl
.
LV3Seed
[
1
]
=
((
uint8_t
)(
Ser27_SeedRandomNumber
>>
8
)
^
0x56u
)
+
9u
;
Ser27_FlowCtrl
.
LV3Seed
[
0
]
=
0x49u
;
Ser27_FlowCtrl
.
LV3Seed
[
1
]
=
0xB4u
;
//
Ser27_FlowCtrl.LV3Seed[0] = 0x49u;
//
Ser27_FlowCtrl.LV3Seed[1] = 0xB4u;
}
else
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_2EService/UDS_2EService_Main.c
View file @
b3aa1672
...
...
@@ -174,7 +174,7 @@ void UDS_2EService_DID_F183(void)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F183
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F183
));
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)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F184
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
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)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F185
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F184
));
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)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F190
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F190
));
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)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F0
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F0
));
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)
{
memcpy
(
Ser2EToDFlashInfo
.
DID_F1F1
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
sizeof
(
Ser2EToDFlashInfo
.
DID_F1F1
));
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)
{
uint8_t
i
;
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
);
UDS_Service_Response
(
0x2Eu
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
2u
,
DiagMSG
.
msgData
.
Data
);
}
...
...
@@ -430,7 +421,7 @@ void UDS_2EService_DID_6074(void)
{
memcpy
(
&
EOL_Data_Type
.
DID_6074
,
DiagMSG
.
msgData
.
DidDetail
.
Data
,
1u
);
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
);
}
/**
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_2FService/UDS_2FService_Filter.c
View file @
b3aa1672
...
...
@@ -119,7 +119,7 @@ uint8_t UDS_2FService_SubParameter_NRC31(void)
}
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
;
}
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_2FService/UDS_2FService_Main.c
View file @
b3aa1672
...
...
@@ -60,7 +60,7 @@ void UDS_2FService_DID(void)
UDS_2FService_DID_6048
();
break
;
case
0x6091u
:
UDS_2FService_DID_60
48
();
UDS_2FService_DID_60
91
();
break
;
case
0x6046u
:
UDS_2FService_DID_6046
();
...
...
@@ -136,7 +136,7 @@ void UDS_2FService_DID(void)
// case 0x6092u:
// break;
// case 0x6093u:
break
;
//
break;
case
0x6022u
:
UDS_2FService_DID_6022
();
break
;
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Filter.c
View file @
b3aa1672
...
...
@@ -117,7 +117,7 @@ uint8_t UDS_31Service_NRC31(void)
uint8_t
i
;
uint8_t
NRC
=
requestOutOfRange
;
uint16_t
temp
=
0u
;
uint8_t
count
=
0u
;
uint8_t
count
=
sizeof
(
S31DID
)
/
sizeof
(
S31DID
[
0
])
;
for
(
i
=
0u
;
i
<
count
;
++
i
)
{
...
...
@@ -262,9 +262,7 @@ uint8_t UDS_31Service_Sub_NRC7E(void)
uint8_t
UDS_31Service_Sub_NRC31
(
void
)
{
uint8_t
i
;
uint8_t
NRC
=
requestOutOfRange
;
uint16_t
temp
=
0u
;
uint8_t
count
=
0u
;
uint8_t
NRC
=
positiveResponse
;
if
((
DiagMSG
.
msgData
.
S31Detail
.
SubID
==
stopRoutine
)
&&
(
getDID
(
DiagMSG
.
msgData
.
S31Detail
.
DID_H
,
DiagMSG
.
msgData
.
S31Detail
.
DID_L
)
==
ActiveIC
)){
NRC
=
requestOutOfRange
;
}
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Internal.c
View file @
b3aa1672
#include "UDS_31Service_Internal.h"
#include "Telltales_user.h"
void
IndicatorTurnOn
(
uint8_t
ST
)
{
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Internal.h
View file @
b3aa1672
...
...
@@ -4,6 +4,7 @@
#include "TYW_stdint.h"
#include "UDS_Common.h"
void
IndicatorTurnOn
(
uint8_t
ST
);
#endif
\ No newline at end of file
This diff is collapsed.
Click to expand it.
source/Application/UDS/APP/UDS_31Service/UDS_31Service_Main.c
View file @
b3aa1672
...
...
@@ -177,6 +177,7 @@ void UDS_31Service_Sub03(void)
/*87607-16*/
void
UDS_31Service_Sub01_DID_C004
(
void
)
{
IndicatorTurnOn
(
0x01u
);
S31DIDC004RequestStatus
=
1
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
...
...
@@ -212,6 +213,7 @@ void UDS_31Service_Sub01_DID_C014(void)
/*87607-16*/
void
UDS_31Service_Sub02_DID_C004
(
void
)
{
IndicatorTurnOn
(
0x02u
);
S31DIDC004RequestStatus
=
0
;
DiagMSG
.
msgData
.
S31Detail
.
Data
[
0
]
=
0x04u
;
UDS_Service_Response
(
0x31u
,
POSITIVE_RSP
,
DIAG_ID_Tx
,
4u
,
DiagMSG
.
msgData
.
Data
);
...
...
This diff is collapsed.
Click to expand it.
source/Application/UDS/TP/Diag_ID_Def.h
View file @
b3aa1672
...
...
@@ -8,8 +8,8 @@
#ifndef _DIAG_ID_DEF_H_
#define _DIAG_ID_DEF_H_
#define DIAG_ID_Tx 0x
18DAFA17u
/*发送ID*/
#define DIAG_ID_Rx_PHY 0x
18DA17FAu
/*接收ID,物理寻址*/
#define DIAG_ID_Rx_FUN 0x
18DBFFFAu
/*接收ID,功能寻址*/
#define DIAG_ID_Tx 0x
07E0
/*发送ID*/
#define DIAG_ID_Rx_PHY 0x
07E8
/*接收ID,物理寻址*/
#define DIAG_ID_Rx_FUN 0x
0111
/*接收ID,功能寻址*/
#endif
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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
/*TpCtrl.TxReq = 1u;*/
DoCAN_Start_Timer
(
TIMING_PARA_N_As
);
/*启动N_As计时*/
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[] )
{
uint8_t
i
;
uint8_t
temp
;
_CAN_Msg
canMag
;
LinkTxCtrl
.
Identifier
=
Identifier
;
for
(
i
=
0u
;
i
<
dlc
;
i
++
)
{
...
...
@@ -252,9 +253,19 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
{
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);
#else
Can_Write
(
&
canMag
);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#endif
LinkTxCtrl
.
Busy
=
1u
;
...
...
This diff is collapsed.
Click to expand it.
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] =
{
0x98DA17FAul
,
0xDFFFFFFFUL
,
0x80000000ul
,
CANFD0_CH0_RX_SELECT
},
/*23*/
{
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
This diff is collapsed.
Click to expand it.
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