]> rtime.felk.cvut.cz Git - arc.git/blob - boards/stm32_stm3210c/examples/com_simple/config/CanIf_Cfg.c
659d6c7e69a5aba9ce2becd2b46ec976a6146dac
[arc.git] / boards / stm32_stm3210c / examples / com_simple / config / CanIf_Cfg.c
1 /*\r
2 * Configuration of module: CanIf (CanIf_Cfg.c)\r
3 *\r
4 * Created by:              \r
5 * Copyright:               \r
6 *\r
7 * Configured for (MCU):    STM32_F107\r
8 *\r
9 * Module vendor:           ArcCore\r
10 * Generator version:       2.0.5\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com) \r
13 *           on Wed Jul 06 13:54:32 CEST 2011\r
14 */\r
15 \r
16 \r
17  \r
18 #include "CanIf.h"\r
19 #if defined(USE_CANTP)\r
20 #include "CanTp.h"\r
21 #include "CanTp_Cbk.h"\r
22 #endif\r
23 #if defined(USE_PDUR)\r
24 #include "PduR.h"\r
25 #endif\r
26 #if defined(USE_CANNM)\r
27 #include "CanNm_Cbk.h"\r
28 #endif\r
29 #include <stdlib.h>\r
30 \r
31 \r
32 // Imported structs from Can_Lcfg.c\r
33 extern const Can_ControllerConfigType CanControllerConfigData[];\r
34 extern const Can_ConfigSetType CanConfigSetData;\r
35 \r
36 \r
37 \r
38 \r
39 // Contains the mapping from CanIf-specific Channels to Can Controllers\r
40 const CanControllerIdType CanIf_Arc_ChannelToControllerMap[CANIF_CHANNEL_CNT] = {\r
41         CAN_CTRL_1, // Controller_A\r
42 };\r
43 \r
44 const uint8 CanIf_Arc_ChannelDefaultConfIndex[CANIF_CHANNEL_CNT] = {\r
45         CANIF_Controller_A_CONFIG_0,\r
46 };\r
47 \r
48 // Container that gets slamed into CanIf_InitController()\r
49 // Inits ALL controllers\r
50 // Multiplicity 1..*\r
51 const CanIf_ControllerConfigType CanIfControllerConfig[] = {\r
52         // This is the ConfigurationIndex in CanIf_InitController()\r
53         \r
54         \r
55         { \r
56                 .WakeupSupport = CANIF_WAKEUP_SUPPORT_NO_WAKEUP,\r
57                 .CanIfControllerIdRef = CANIF_Controller_A,\r
58                 .CanIfDriverNameRef = "FLEXCAN",  // Not used\r
59                 .CanIfInitControllerRef = &CanControllerConfigData[0],\r
60         },\r
61         \r
62 };\r
63 \r
64 // Function callbacks for higher layers\r
65 const CanIf_DispatchConfigType CanIfDispatchConfig =\r
66 {\r
67   .CanIfBusOffNotification = NULL,\r
68   .CanIfWakeUpNotification = NULL,        // Not used\r
69   .CanIfWakeupValidNotification = NULL,   // Not used\r
70   .CanIfErrorNotificaton = NULL,\r
71 };\r
72 \r
73 \r
74 // Data for init configuration CanIfInitConfiguration\r
75 \r
76                 \r
77 \r
78 const CanIf_HthConfigType CanIfHthConfigData_Hoh[] =\r
79 {\r
80                 \r
81   { \r
82     .CanIfHthType = CAN_ARC_HANDLE_TYPE_BASIC,\r
83     .CanIfCanControllerIdRef = CANIF_Controller_A,\r
84     .CanIfHthIdSymRef = HWObj_2,\r
85     .CanIf_Arc_EOL = 1,\r
86   },\r
87 };\r
88 \r
89 const CanIf_HrhConfigType CanIfHrhConfigData_Hoh[] =\r
90 {\r
91                 \r
92   {\r
93     .CanIfHrhType = CAN_ARC_HANDLE_TYPE_BASIC,\r
94     .CanIfSoftwareFilterHrh = TRUE,\r
95     .CanIfCanControllerHrhIdRef = CANIF_Controller_A,\r
96     .CanIfHrhIdSymRef = HWObj_1,\r
97     .CanIf_Arc_EOL = 1,\r
98   },\r
99 };\r
100 \r
101 \r
102 const CanIf_InitHohConfigType CanIfHohConfigData[] = { \r
103                 \r
104         {\r
105                 .CanConfigSet = &CanConfigSetData,\r
106                 .CanIfHrhConfig = CanIfHrhConfigData_Hoh,\r
107             .CanIfHthConfig = CanIfHthConfigData_Hoh,\r
108         .CanIf_Arc_EOL = 1,\r
109         },\r
110 };\r
111           \r
112 const CanIf_TxPduConfigType CanIfTxPduConfigData[] = {  \r
113   {\r
114     .CanIfTxPduId = PDUR_REVERSE_PDU_ID_CanDB_Message_2,\r
115     .CanIfCanTxPduIdCanId = 512,\r
116     .CanIfCanTxPduIdDlc = 8,\r
117     .CanIfCanTxPduType = CANIF_PDU_TYPE_STATIC,\r
118 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )\r
119     .CanIfReadTxPduNotifyStatus = false, \r
120 #endif\r
121     .CanIfTxPduIdCanIdType = CANIF_CAN_ID_TYPE_11,\r
122     .CanIfUserTxConfirmation = PduR_CanIfTxConfirmation,\r
123     .CanIfCanTxPduHthRef = &CanIfHthConfigData_Hoh[0],\r
124     .PduIdRef = NULL,\r
125   },  \r
126 };\r
127 \r
128 const CanIf_RxPduConfigType CanIfRxPduConfigData[] = {          \r
129   {\r
130     .CanIfCanRxPduId = PDUR_PDU_ID_CanDB_Message_1,\r
131     .CanIfCanRxPduCanId = 256,\r
132     .CanIfCanRxPduDlc = 8,\r
133 #if ( CANIF_CANPDUID_READDATA_API == STD_ON )    \r
134     .CanIfReadRxPduData = false,\r
135 #endif    \r
136 #if ( CANIF_READTXPDU_NOTIFY_STATUS_API == STD_ON )\r
137     .CanIfReadRxPduNotifyStatus = false, \r
138 #endif\r
139         .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_11,\r
140         .CanIfRxUserType = CANIF_USER_TYPE_CAN_PDUR,\r
141     .CanIfCanRxPduHrhRef = &CanIfHrhConfigData_Hoh[0],\r
142     .CanIfRxPduIdCanIdType = CANIF_CAN_ID_TYPE_11,\r
143     .CanIfUserRxIndication = NULL,\r
144     .CanIfSoftwareFilterType = CANIF_SOFTFILTER_TYPE_MASK,\r
145     .CanIfCanRxPduCanIdMask = 0xFFF,\r
146     .PduIdRef = NULL,\r
147   },  \r
148 };\r
149 \r
150 // This container contains the init parameters of the CAN\r
151 // Multiplicity 1..*\r
152 const CanIf_InitConfigType CanIfInitConfig =\r
153 {\r
154   .CanIfConfigSet = 0, // Not used  \r
155   .CanIfNumberOfCanRxPduIds = 1,\r
156   .CanIfNumberOfCanTXPduIds = 1,\r
157   .CanIfNumberOfDynamicCanTXPduIds = 0, // Not used\r
158 \r
159   // Containers\r
160   .CanIfHohConfigPtr = CanIfHohConfigData,\r
161   .CanIfRxPduConfigPtr = CanIfRxPduConfigData,\r
162   .CanIfTxPduConfigPtr = CanIfTxPduConfigData,\r
163 };\r
164 \r
165         // This container includes all necessary configuration sub-containers\r
166 // according the CAN Interface configuration structure.\r
167 CanIf_ConfigType CanIf_Config =\r
168 {\r
169   .ControllerConfig = CanIfControllerConfig,\r
170   .DispatchConfig = &CanIfDispatchConfig,\r
171   .InitConfig = &CanIfInitConfig,\r
172   .TransceiverConfig = NULL, // Not used\r
173   .Arc_ChannelToControllerMap = CanIf_Arc_ChannelToControllerMap,  \r
174   .Arc_ChannelDefaultConfIndex = CanIf_Arc_ChannelDefaultConfIndex,\r
175 };\r
176 \r