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
afb7e4ad
Commit
afb7e4ad
authored
Jan 13, 2022
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整上一版本CAN移植BUG
parent
2ee99087
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
188 additions
and
197 deletions
+188
-197
Driver.gpj
ghs/group/Driver.gpj
+1
-1
RTE_CAN.c
source/Application/RTE/RTE_CAN.c
+187
-196
No files found.
ghs/group/Driver.gpj
View file @
afb7e4ad
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
.\Analog_Signals\Analog_Circuits.c
.\Analog_Signals\Analog_Circuits.c
.\Analog_Signals\Analog_Signals.c
.\Analog_Signals\Analog_Signals.c
.\CAN\RSCAN.c
.\CAN\RSCAN.c
.\CAN\RSCAN_Table.
h
.\CAN\RSCAN_Table.
c
.\Clock\Clock.c
.\Clock\Clock.c
.\Clock\RTC.c
.\Clock\RTC.c
.\Common\debugger.c
.\Common\debugger.c
...
...
source/Application/RTE/RTE_CAN.c
View file @
afb7e4ad
#include "Rscan.h"
#include "Rscan.h"
#include "GPIO.h"
#include "GPIO.h"
#include "dr7f701441.dvf.h"
#include "dr7f701441.dvf.h"
#include "RTE_CAN.h"
#include "RTE_CAN.h"
#include "CAN_Communication_Matrix.h"
#include "CAN_Communication_Matrix.h"
#include "CAN_Lib.h"
#include "CAN_Lib.h"
//#include "CAN_Signal_Tx.h"
//#include "CAN_Signal_Tx.h"
#include "AlarmGeneralFilie.h"
#include "AlarmGeneralFilie.h"
#include "Diag_ID_Def.h"
#include "Diag_ID_Def.h"
#include "DoCAN_ISO15765.h"
#include "DoCAN_ISO15765.h"
#include "PowerManagement.h"
#include "PowerManagement.h"
#include "UDS_Common.h"
#include "UDS_Common.h"
#include "Watchdog.h"
#include "Watchdog.h"
static
uint16_t
Can_Init_Lock
=
0U
;
static
uint16_t
Can_Init_Lock
=
0U
;
void
Can_Lock_Clr
(
void
)
void
Can_Lock_Clr
(
void
)
{
{
Can_Init_Lock
=
0u
;
Can_Init_Lock
=
0u
;
}
}
/***Middle***/
/***Middle***/
void
Can_Init
(
void
)
void
Can_Init
(
void
)
{
{
/* filter 变量声明 */
/* filter 变量声明 */
uint32_t
IDFilterNum
;
uint32_t
IDFilterNum
;
uint8_t
CH0_IDFilterNum
;
uint8_t
CH0_IDFilterNum
;
uint32_t
CANLLCCh0NMIDRange
[
2
];
uint32_t
CANLLCCh0NMIDRange
[
2
];
uint32_t
CANLLCCh0MsgIDList
[
ID_TOTAL_MAX
+
2u
];
uint32_t
CANLLCCh0MsgIDList
[
ID_TOTAL_MAX
+
2u
];
uint32_t
CANLLCCh0OwnIDList
[
4
];
uint32_t
CANLLCCh0OwnIDList
[
4
];
uint32_t
i
;
uint32_t
i
;
CANFD_Filter_Init_st_t
CANLLCCh0Filter
;
CANFD_Filter_Init_st_t
CANLLCCh0Filter
;
if
(
Can_Init_Lock
!=
0x55AAu
)
if
(
Can_Init_Lock
!=
0x55AAu
)
{
{
/* Sys_Startup_Init */
/* Sys_Startup_Init */
/*50304*/
/*50304*/
/* Channel0 Filter Data */
/* Channel0 Filter Data */
CANLLCCh0NMIDRange
[
0
]
=
0x680UL
;
CANLLCCh0NMIDRange
[
1
]
=
0x6FFUL
;
for
(
i
=
2u
;
i
<
(
ID_TOTAL_MAX
+
2u
);
i
++
)
{
CANLLCCh0MsgIDList
[
0
]
=
DIAG_ID_Rx_PHY
;
CANLLCCh0MsgIDList
[
i
]
=
CAN_MSG_CONST_ARRAY
[
i
-
2
].
MSG_Identifier
;
CANLLCCh0MsgIDList
[
1
]
=
DIAG_ID_Rx_FUN
;
}
for
(
i
=
2u
;
i
<
(
ID_TOTAL_MAX
+
2u
);
i
++
)
/* Channel0 Filter Data configeration */
{
CANLLCCh0MsgIDList
[
i
]
=
CAN_MSG_CONST_ARRAY
[
i
-
2
].
MSG_Identifier
;
}
CH0_IDFilterNum
=
24
;
CANLLCCh0OwnIDList
[
0
]
=
0x26DUL
;
IDFilterNum
=
(
uint32_t
)(
CH0_IDFilterNum
&
0xFFUL
);
CANLLCCh0OwnIDList
[
1
]
=
0x330UL
;
IDFilterNum
|=
(
uint32_t
)((
0
&
0xFFUL
)
<<
8U
);
CANLLCCh0OwnIDList
[
2
]
=
0x331UL
;
IDFilterNum
|=
(
uint32_t
)((
0
&
0xFFUL
)
<<
16U
);
CANLLCCh0OwnIDList
[
3
]
=
0x332UL
;
CANLLCCh0Filter
.
pfCAN0DataIndCb
=
Can_Read_Msg
;
/* Channel0 Filter Data configeration */
CANLLCCh0Filter
.
pfCAN0DataConfirmCb
=
Can_Confirm
;
CANLLCCh0Filter
.
NM0StdFilter
.
CfgType
=
CANFD_FILTER_ID_RANGE
;
CANLLCCh0Filter
.
NM0StdFilter
.
IDNum
=
(
DIM
(
CANLLCCh0NMIDRange
)
/
2U
);
CANLLCCh0Filter
.
pfCAN1DataIndCb
=
(
void
*
)
0
;
CANLLCCh0Filter
.
NM0StdFilter
.
pIDs
=
CANLLCCh0NMIDRange
;
CANLLCCh0Filter
.
pfCAN1DataConfirmCb
=
(
void
*
)
0
;
CANLLCCh0Filter
.
NM0ExtFilter
.
CfgType
=
CANFD_FILTER_N_A
;
CANLLCCh0Filter
.
pfCAN2DataIndCb
=
(
void
*
)
0
;
CANLLCCh0Filter
.
Msg0StdFilter
.
CfgType
=
CANFD_FILTER_ID_LIST
;
CANLLCCh0Filter
.
pfCAN2DataConfirmCb
=
(
void
*
)
0
;
CANLLCCh0Filter
.
Msg0StdFilter
.
IDNum
=
ID_TOTAL_MAX
+
2u
;
CANLLCCh0Filter
.
Msg0StdFilter
.
pIDs
=
CANLLCCh0MsgIDList
;
CANLLCCh0Filter
.
CH0_Enable
=
1u
;
CANLLCCh0Filter
.
Msg0ExtFilter
.
CfgType
=
CANFD_FILTER_N_A
;
CANLLCCh0Filter
.
CH1_Enable
=
0u
;
CANLLCCh0Filter
.
CH2_Enable
=
0u
;
CANLLCCh0Filter
.
Diag0StdFilter
.
CfgType
=
CANFD_FILTER_ID_LIST
;
CANLLCCh0Filter
.
Diag0StdFilter
.
IDNum
=
DIM
(
CANLLCCh0OwnIDList
);
CANLLCCh0Filter
.
CH0_Std_Ext
=
0u
;
CANLLCCh0Filter
.
Diag0StdFilter
.
pIDs
=
CANLLCCh0OwnIDList
;
CANLLCCh0Filter
.
CH1_Std_Ext
=
0u
;
CANLLCCh0Filter
.
Diag0ExtFilter
.
CfgType
=
CANFD_FILTER_N_A
;
CANLLCCh0Filter
.
CH2_Std_Ext
=
0u
;
CH0_IDFilterNum
=
CANLLCCh0Filter
.
NM0StdFilter
.
IDNum
;
GPIO_OUT_PORT00_PIN00
=
0U
;
//RSCAN0_CH0_STB
CH0_IDFilterNum
=
CH0_IDFilterNum
+
CANLLCCh0Filter
.
Msg0StdFilter
.
IDNum
;
RSCAN0_CH_Init
(
&
CANLLCCh0Filter
,
IDFilterNum
);
CH0_IDFilterNum
=
CH0_IDFilterNum
+
CANLLCCh0Filter
.
Diag0StdFilter
.
IDNum
;
Can_Init_Lock
=
0x55AAu
;
}
IDFilterNum
=
(
uint32_t
)(
CH0_IDFilterNum
&
0xFFUL
);
GPIO_OUT_PORT00_PIN00
=
0U
;
//RSCAN0_CH0_STB
IDFilterNum
|=
(
uint32_t
)((
0
&
0xFFUL
)
<<
8U
);
}
IDFilterNum
|=
(
uint32_t
)((
0
&
0xFFUL
)
<<
16U
);
void
Can_DeInit
(
void
)
CANLLCCh0Filter
.
pfCAN0DataIndCb
=
Can_Read_Msg
;
{
}
RSCAN0_CH_Init
(
&
CANLLCCh0Filter
,
IDFilterNum
);
Can_Init_Lock
=
0x55AAu
;
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
)
}
{
GPIO_OUT_PORT00_PIN00
=
0U
;
//RSCAN0_CH0_STB
switch
(
Msg
->
MsgPro
)
}
{
case
0
:
void
Can_DeInit
(
void
)
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
);
uint8_t
Can_Write
(
_CAN_Msg
*
Msg
)
break
;
{
case
2
:
switch
(
Msg
->
MsgPro
)
RSCAN0_SendCH0_TxBuf2
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
{
break
;
case
0
:
case
3
:
RSCAN0_SendCH0_TxBuf0
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf3
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
1
:
case
4
:
RSCAN0_SendCH0_TxBuf1
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf4
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
2
:
case
5
:
RSCAN0_SendCH0_TxBuf2
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf5
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
3
:
case
6
:
RSCAN0_SendCH0_TxBuf3
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf6
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
4
:
case
7
:
RSCAN0_SendCH0_TxBuf4
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf7
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
5
:
case
8
:
RSCAN0_SendCH0_TxBuf5
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf8
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
6
:
case
9
:
RSCAN0_SendCH0_TxBuf6
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf9
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
7
:
case
10
:
RSCAN0_SendCH0_TxBuf7
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf10
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
8
:
case
11
:
RSCAN0_SendCH0_TxBuf8
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf11
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
9
:
case
12
:
RSCAN0_SendCH0_TxBuf9
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf12
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
10
:
case
13
:
RSCAN0_SendCH0_TxBuf10
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf13
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
11
:
case
14
:
RSCAN0_SendCH0_TxBuf11
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf14
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
12
:
case
15
:
RSCAN0_SendCH0_TxBuf12
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
RSCAN0_SendCH0_TxBuf15
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
break
;
break
;
case
13
:
default:
RSCAN0_SendCH0_TxBuf13
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
CAN_CH0_Data_Request
(
Msg
->
MsgID
,
Msg
->
MsgStd
,
Msg
->
MsgRTR
,
Msg
->
MsgDLC
,
Msg
->
Msg
);
break
;
break
;
case
14
:
}
RSCAN0_SendCH0_TxBuf14
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
return
0
;
break
;
}
case
15
:
RSCAN0_SendCH0_TxBuf15
(
Msg
->
MsgID
,
Msg
->
MsgDLC
,
Msg
->
MsgStd
,
Msg
->
Msg
);
void
Can_Sleep_Fun
(
void
)
break
;
{
default:
}
CAN_CH0_Data_Request
(
Msg
->
MsgID
,
Msg
->
MsgStd
,
Msg
->
MsgRTR
,
Msg
->
MsgDLC
,
Msg
->
Msg
);
break
;
void
Can_SleepController_Fun
(
void
)
}
{
return
0
;
}
}
void
Can_Wakeup_Fun
(
void
)
void
Can_Sleep_Fun
(
void
)
{
{
}
}
void
Can_Uds_Abort
(
void
)
void
Can_SleepController_Fun
(
void
)
{
{
CANFD_SetTX_Abort
();
}
}
void
Can_Wakeup_Fun
(
void
)
void
Can_Abort_All
(
void
)
{
{
}
}
void
Can_Uds_Abort
(
void
)
/*****Lower*******/
{
void
Can_Read_Msg
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[])
CANFD_SetTX_Abort
();
{
}
ReceivedMsg
(
m_id
,
m_dlc
);
void
Can_Abort_All
(
void
)
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
))
{
/*****Lower*******/
DoCAN_L_Data_Indication
(
m_id
,
m_dlc
,
m_Msg
);
void
Can_Read_Msg
(
uint32_t
m_id
,
uint8_t
m_dlc
,
uint8_t
m_Msg
[])
}
{
}
ReceivedMsg
(
m_id
,
m_dlc
);
void
Can_Confirm
(
uint32_t
Identifier
,
uint8_t
TransferStatus
)
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_BUSOFF_Recover
(
void
)
}
{
}
CH0_BusOff_Recovery
();
}
void
Can_Confirm
(
uint32_t
Identifier
,
uint8_t
TransferStatus
)
{
}
void
CAN_BUSOFF_Recover
(
void
)
{
CH0_BusOff_Recovery
();
}
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