2 * Configuration of module: CanIf (CanIf_Cfg.c)
\r
4 * Created by: ArcCore
\r
7 * Configured for (MCU): TMS570
\r
9 * Module vendor: ArcCore
\r
10 * Generator version: 2.0.6
\r
12 * Generated by Arctic Studio (http://arccore.com)
\r
18 #if defined(USE_CANTP)
\r
20 #include "CanTp_Cbk.h"
\r
22 #if defined(USE_J1939TP)
\r
23 #include "J1939Tp.h"
\r
24 #include "J1939Tp_Cbk.h"
\r
26 #if defined(USE_PDUR)
\r
29 #if defined(USE_CANNM)
\r
30 #include "CanNm_Cbk.h"
\r
35 // Imported structs from Can_Lcfg.c
\r
36 extern const Can_ControllerConfigType CanControllerConfigData[];
\r
37 extern const Can_ConfigSetType CanConfigSetData;
\r
39 // Contains the mapping from CanIf-specific Channels to Can Controllers
\r
40 const CanControllerIdType CanIf_Arc_ChannelToControllerMap[CANIF_CHANNEL_CNT] = {
\r
45 const uint8 CanIf_Arc_ChannelDefaultConfIndex[CANIF_CHANNEL_CNT] = {
\r
46 CANIF_Channel_1_CONFIG_0,
\r
47 CANIF_Channel_2_CONFIG_0
\r
50 // Container that gets slammed into CanIf_InitController()
\r
51 // Initialization of all controllers
\r
52 // Multiplicity 1..*
\r
53 const CanIf_ControllerConfigType CanIfControllerConfig[] = {
\r
54 // This is the ConfigurationIndex in CanIf_InitController()
\r
56 .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
\r
57 .CanIfControllerIdRef = CANIF_Channel_1,
\r
58 .CanIfDriverNameRef = "DCAN1",
\r
59 .CanIfInitControllerRef = &CanControllerConfigData[0],
\r
62 .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,
\r
63 .CanIfControllerIdRef = CANIF_Channel_2,
\r
64 .CanIfDriverNameRef = "DCAN2",
\r
65 .CanIfInitControllerRef = &CanControllerConfigData[1],
\r
69 // Function callbacks for higher layers
\r
70 const CanIf_DispatchConfigType CanIfDispatchConfig =
\r
72 .CanIfBusOffNotification = NULL,
\r
73 .CanIfWakeUpNotification = NULL, // Not used
\r
74 .CanIfWakeupValidNotification = NULL, // Not used
\r
75 .CanIfErrorNotificaton = NULL,
\r
79 // Data for init configuration CanIfInitConfiguration
\r
81 const CanIf_HthConfigType CanIfHthConfigData_Hoh[] =
\r
84 .CanIfHthType = CAN_ARC_HANDLE_TYPE_BASIC,
\r
85 .CanIfCanControllerIdRef = CANIF_Channel_2, // Transmit to DCAN2
\r
86 .CanIfHthIdSymRef = TxHwObject,
\r
91 const CanIf_HrhConfigType CanIfHrhConfigData_Hoh[] =
\r
94 .CanIfHrhType = CAN_ARC_HANDLE_TYPE_BASIC,
\r
95 .CanIfSoftwareFilterHrh = TRUE,
\r
96 .CanIfCanControllerHrhIdRef = CANIF_Channel_1, // Receive to DCAN1
\r
97 .CanIfHrhIdSymRef = RxHwObject,
\r
103 const CanIf_InitHohConfigType CanIfHohConfigData[] = {
\r
106 .CanConfigSet = &CanConfigSetData,
\r
107 .CanIfHrhConfig = CanIfHrhConfigData_Hoh,
\r
108 .CanIfHthConfig = CanIfHthConfigData_Hoh,
\r
109 .CanIf_Arc_EOL = 1,
\r
113 const CanIf_TxPduConfigType CanIfTxPduConfigData[] = {
\r
115 .CanIfTxPduId = PDUR_REVERSE_PDU_ID_TX_PDU, // Transmit I-PDU; Reverse = PDUR -----> CANIF
\r
116 .CanIfCanTxPduIdCanId = 2, // 1
\r
117 .CanIfCanTxPduIdDlc = 8,
\r
118 .CanIfCanTxPduType = CANIF_PDU_TYPE_STATIC,
\r
119 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
\r
120 .CanIfReadTxPduNotifyStatus = false,
\r
122 .CanIfTxPduIdCanIdType = CANIF_CAN_ID_TYPE_29, // 11 == BASIC CAN, 29 == EXTENDED CAN
\r
123 .CanIfUserTxConfirmation = PduR_CanIfTxConfirmation,
\r
124 .CanIfCanTxPduHthRef = &CanIfHthConfigData_Hoh[0],
\r
128 .CanIfTxPduId = PDUR_REVERSE_PDU_ID_FreqInd,
\r
129 .CanIfCanTxPduIdCanId = 258, // 256
\r
130 .CanIfCanTxPduIdDlc = 8,
\r
131 .CanIfCanTxPduType = CANIF_PDU_TYPE_STATIC,
\r
132 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
\r
133 .CanIfReadTxPduNotifyStatus = false,
\r
135 .CanIfTxPduIdCanIdType = CANIF_CAN_ID_TYPE_29,
\r
136 .CanIfUserTxConfirmation = PduR_CanIfTxConfirmation,
\r
137 .CanIfCanTxPduHthRef = &CanIfHthConfigData_Hoh[0],
\r
142 const CanIf_RxPduConfigType CanIfRxPduConfigData[] = {
\r
144 .CanIfCanRxPduId = PDUR_PDU_ID_RX_PDU, // Receive I-PDU; CANIF -----> PDUR
\r
145 .CanIfCanRxPduCanId = 1, // 2
\r
146 .CanIfCanRxPduDlc = 8,
\r
147 #if ( CANIF_CANPDUID_READDATA_API == STD_ON )
\r
148 .CanIfReadRxPduData = false,
\r
150 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
\r
151 .CanIfReadRxPduNotifyStatus = false,
\r
153 .CanIfRxUserType = CANIF_USER_TYPE_CAN_PDUR, // upper layer
\r
154 .CanIfCanRxPduHrhRef = &CanIfHrhConfigData_Hoh[1], // [0] ??
\r
155 .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_29, // CANIF_CAN_ID_TYPE_11
\r
156 .CanIfUserRxIndication = NULL,
\r
157 .CanIfSoftwareFilterType = CANIF_SOFTFILTER_TYPE_MASK,
\r
158 .CanIfCanRxPduCanIdMask = 0xFFF,
\r
162 .CanIfCanRxPduId = PDUR_PDU_ID_FreqReq,
\r
163 .CanIfCanRxPduCanId = 256, // 258
\r
164 .CanIfCanRxPduDlc = 8,
\r
165 #if ( CANIF_CANPDUID_READDATA_API == STD_ON )
\r
166 .CanIfReadRxPduData = false,
\r
168 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )
\r
169 .CanIfReadRxPduNotifyStatus = false,
\r
171 .CanIfRxUserType = CANIF_USER_TYPE_CAN_PDUR,
\r
172 .CanIfCanRxPduHrhRef = &CanIfHrhConfigData_Hoh[1], // [0] ??
\r
173 .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_29, // CANIF_CAN_ID_TYPE_11
\r
174 .CanIfUserRxIndication = NULL,
\r
175 .CanIfSoftwareFilterType = CANIF_SOFTFILTER_TYPE_MASK,
\r
176 .CanIfCanRxPduCanIdMask = 0xFFF,
\r
181 // This container contains the init parameters of the CAN
\r
182 // Multiplicity 1..*
\r
183 const CanIf_InitConfigType CanIfInitConfig =
\r
185 .CanIfConfigSet = 0, // Not used
\r
186 .CanIfNumberOfCanRxPduIds = 1, // 2
\r
187 .CanIfNumberOfCanTXPduIds = 1, // 2
\r
188 .CanIfNumberOfDynamicCanTXPduIds = 0, // Not used
\r
191 .CanIfHohConfigPtr = CanIfHohConfigData,
\r
192 .CanIfRxPduConfigPtr = CanIfRxPduConfigData,
\r
193 .CanIfTxPduConfigPtr = CanIfTxPduConfigData,
\r
196 // This container includes all necessary configuration sub-containers
\r
197 // according the CAN Interface configuration structure.
\r
198 CanIf_ConfigType CanIf_Config =
\r
200 .ControllerConfig = CanIfControllerConfig,
\r
201 .DispatchConfig = &CanIfDispatchConfig,
\r
202 .InitConfig = &CanIfInitConfig,
\r
203 .TransceiverConfig = NULL, // Not used
\r
204 .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,
\r
205 .Arc_ChannelDefaultConfIndex = CanIf_Arc_ChannelDefaultConfIndex,
\r