]> rtime.felk.cvut.cz Git - arc.git/blob - system/EcuM/EcuM_Callout_Stubs.c
5356f576b9c3f044728d3466f1a4b032e5f6c611
[arc.git] / system / EcuM / EcuM_Callout_Stubs.c
1 /*\r
2 * Configuration of module: EcuM (EcuM_Callout_Stubs.c)\r
3 *\r
4 * Created by:              \r
5 * Copyright:               \r
6 *\r
7 * Configured for (MCU):    MPC5567\r
8 *\r
9 * Module vendor:           ArcCore\r
10 * Generator version:       2.0.2\r
11 *\r
12 * Generated by Arctic Studio (http://arccore.com) \r
13 */\r
14 \r
15 \r
16 #include "EcuM.h"\r
17 #include "EcuM_Generated_Types.h"\r
18 #include "Det.h"\r
19 #if defined(USE_DEM)\r
20 #include "Dem.h"\r
21 #endif\r
22 #if defined(USE_MCU)\r
23 #include "Mcu.h"\r
24 #endif\r
25 #if defined(USE_GPT)\r
26 #include "Gpt.h"\r
27 #endif\r
28 #if defined(USE_CAN)\r
29 #include "Can.h"\r
30 #endif\r
31 #if defined(USE_CANIF)\r
32 #include "CanIf.h"\r
33 #endif\r
34 #if defined(USE_PDUR)\r
35 #include "PduR.h"\r
36 #endif\r
37 #if defined(USE_COM)\r
38 #include "Com.h"\r
39 #endif\r
40 #if defined(USE_CANTP)\r
41 #include "CanTp.h"\r
42 #endif\r
43 #if defined(USE_J1939TP)\r
44 #include "J1939Tp.h"\r
45 #endif\r
46 #if defined(USE_DCM)\r
47 #include "Dcm.h"\r
48 #endif\r
49 #if defined(USE_PWM)\r
50 #include "Pwm.h"\r
51 #endif\r
52 #if defined(USE_IOHWAB)\r
53 #include "IoHwAb.h"\r
54 #endif\r
55 #if defined(USE_FLS)\r
56 #include "Fls.h"\r
57 #endif\r
58 #if defined(USE_EEP)\r
59 #include "Eep.h"\r
60 #endif\r
61 #if defined(USE_FEE)\r
62 #include "Fee.h"\r
63 #endif\r
64 #if defined(USE_EA)\r
65 #include "Ea.h"\r
66 #endif\r
67 #if defined(USE_NVM)\r
68 #include "NvM.h"\r
69 #endif\r
70 #if defined(USE_COMM)\r
71 #include "ComM.h"\r
72 #endif\r
73 #if defined(USE_NM)\r
74 #include "Nm.h"\r
75 #endif\r
76 #if defined(USE_CANNM)\r
77 #include "CanNm.h"\r
78 #endif\r
79 #if defined(USE_CANSM)\r
80 #include "CanSM.h"\r
81 #endif\r
82 #if defined(USE_UDPNM)\r
83 #include "UdpNm.h"\r
84 #endif\r
85 #if defined(USE_LINSM)\r
86 #include "LinSM.h"\r
87 #endif\r
88 #if defined(USE_SPI)\r
89 #include "Spi.h"\r
90 #endif\r
91 #if defined(USE_WDG)\r
92 #include "Wdg.h"\r
93 #endif\r
94 #if defined(USE_WDGM)\r
95 #include "WdgM.h"\r
96 #endif\r
97 \r
98 #define VALIDATE_STATE(_state) \\r
99         do { \\r
100                 EcuM_StateType ecuMState;  \\r
101                 EcuM_GetState(&ecuMState); \\r
102                 assert(ecuMState == (_state) ); \\r
103         } while(0)\r
104 \r
105 \r
106 void EcuM_AL_DriverInitZero(void)\r
107 {\r
108         Det_Init();/** @req EcuM2783 */\r
109     Det_Start();/** @req EcuM2634 */\r
110 }\r
111 \r
112 extern EcuM_ConfigType EcuMConfig;\r
113 \r
114 EcuM_ConfigType* EcuM_DeterminePbConfiguration(void)\r
115 {\r
116         return &EcuMConfig;\r
117 }\r
118 \r
119 void EcuM_AL_DriverInitOne(const EcuM_ConfigType *ConfigPtr)\r
120 {\r
121         (void)ConfigPtr;\r
122   //lint --e{715}       PC-Lint (715) - ConfigPtr usage depends on configuration of modules\r
123 \r
124 #if defined(USE_MCU)\r
125         Mcu_Init(ConfigPtr->McuConfig);\r
126 \r
127         /* Set up default clock (Mcu_InitClock requires initRun==1) */\r
128         /* Ignoring return value */\r
129         (void) Mcu_InitClock( ConfigPtr->McuConfig->McuDefaultClockSettings );\r
130 \r
131         // Wait for PLL to sync.\r
132         while (Mcu_GetPllStatus() != MCU_PLL_LOCKED)\r
133         {\r
134           ;\r
135         }\r
136 #endif\r
137 \r
138 #if defined(USE_DEM)\r
139         // Preinitialize DEM\r
140         Dem_PreInit();\r
141 #endif\r
142 \r
143 #if defined(USE_PORT)\r
144         // Setup Port\r
145         Port_Init(ConfigPtr->PortConfig);\r
146 #endif\r
147 \r
148 \r
149 #if defined(USE_GPT)\r
150         // Setup the GPT\r
151         Gpt_Init(ConfigPtr->GptConfig);\r
152 #endif\r
153 \r
154         // Setup watchdog\r
155 #if defined(USE_WDG)\r
156         Wdg_Init(ConfigPtr->WdgConfig);\r
157 #endif\r
158 #if defined(USE_WDGM)\r
159         WdgM_Init(ConfigPtr->WdgMConfig);\r
160 #endif\r
161 \r
162 #if defined(USE_DMA)\r
163         // Setup DMA\r
164         Dma_Init(ConfigPtr->DmaConfig);\r
165 #endif\r
166 \r
167 #if defined(USE_ADC)\r
168         // Setup ADC\r
169         Adc_Init(ConfigPtr->AdcConfig);\r
170 #endif\r
171 \r
172         // Setup ICU\r
173         // TODO\r
174 \r
175         // Setup PWM\r
176 #if defined(USE_PWM)\r
177         // Setup PWM\r
178         Pwm_Init(ConfigPtr->PwmConfig);\r
179 #endif\r
180 }\r
181 \r
182 void EcuM_AL_DriverInitTwo(const EcuM_ConfigType* ConfigPtr)\r
183 {\r
184         (void)ConfigPtr;\r
185   //lint --e{715}       PC-Lint (715) - ConfigPtr usage depends on configuration of modules\r
186 \r
187 #if defined(USE_SPI)\r
188         // Setup SPI\r
189         Spi_Init(ConfigPtr->SpiConfig);\r
190 #endif\r
191 \r
192 #if defined(USE_EEP)\r
193         // Setup EEP\r
194         Eep_Init(ConfigPtr->EepConfig);\r
195 #endif\r
196 \r
197 #if defined(USE_FLS)\r
198         // Setup Flash\r
199         Fls_Init(ConfigPtr->FlashConfig);\r
200 #endif\r
201 \r
202 #if defined(USE_FEE)\r
203         // Setup FEE\r
204         Fee_Init();\r
205 #endif\r
206 \r
207 #if defined(USE_EA)\r
208         // Setup EA\r
209         Ea_Init();\r
210 #endif\r
211 \r
212 #if defined(USE_NVM)\r
213         // Setup NVRAM Manager and start the read all job\r
214         NvM_Init();\r
215         NvM_ReadAll();\r
216 #endif\r
217 \r
218         // Setup CAN tranceiver\r
219         // TODO\r
220 \r
221 #if defined(USE_CAN)\r
222         // Setup Can driver\r
223         Can_Init(ConfigPtr->CanConfig);\r
224 #endif\r
225 \r
226 #if defined(USE_CANIF)\r
227         // Setup CanIf\r
228         CanIf_Init(ConfigPtr->CanIfConfig);\r
229 #endif\r
230 \r
231 #if defined(USE_CANTP)\r
232         // Setup CAN TP\r
233         CanTp_Init();\r
234 #endif\r
235 \r
236 #if defined(USE_CANSM)\r
237         CanSM_Init(ConfigPtr->CanSMConfig);\r
238 #endif\r
239 \r
240 #if defined(USE_J1939TP)\r
241         // Setup J1939Tp\r
242         J1939Tp_Init(ConfigPtr->J1939TpConfig);\r
243 #endif\r
244 \r
245 \r
246         // Setup LIN\r
247         // TODO\r
248 \r
249 #if defined(USE_PDUR)\r
250         // Setup PDU Router\r
251         PduR_Init(ConfigPtr->PduRConfig);\r
252 #endif\r
253 \r
254 #if defined(USE_CANNM)\r
255         // Setup Can Network Manager\r
256         CanNm_Init(ConfigPtr->CanNmConfig);\r
257 #endif\r
258 \r
259 #if defined(USE_UDPNM)\r
260         // Setup Udp Network Manager\r
261         UdpNm_Init(ConfigPtr->UdpNmConfig);\r
262 #endif\r
263 \r
264 #if defined(USE_NM)\r
265         // Setup Network Management Interface\r
266         Nm_Init(ConfigPtr->NmConfig);\r
267 #endif\r
268 \r
269 #if defined(USE_COM)\r
270         // Setup COM layer\r
271         Com_Init(ConfigPtr->ComConfig);\r
272 #endif\r
273 \r
274 #if defined(USE_DCM)\r
275         // Setup DCM\r
276         Dcm_Init();\r
277 #endif\r
278 \r
279 #if defined(USE_IOHWAB)\r
280         // Setup IO hardware abstraction layer\r
281         IoHwAb_Init();\r
282 #endif\r
283 \r
284 }\r
285 \r
286 void EcuM_AL_DriverInitThree(const EcuM_ConfigType* ConfigPtr)\r
287 {\r
288         (void)ConfigPtr;\r
289   //lint --e{715}       PC-Lint (715) - ConfigPtr usage depends on configuration of modules\r
290 \r
291 #if defined(USE_DEM)\r
292         // Setup DEM\r
293         Dem_Init();\r
294 #endif\r
295 \r
296 #if defined(USE_COMM)\r
297         // Setup Communication Manager\r
298         ComM_Init(ConfigPtr->ComMConfig);\r
299 #endif\r
300 }\r
301 \r
302 void EcuM_OnEnterRun(void)\r
303 {\r
304 \r
305 }\r
306 \r
307 void EcuM_OnExitRun(void)\r
308 {\r
309 \r
310 }\r
311 \r
312 void EcuM_OnExitPostRun(void)\r
313 {\r
314 \r
315 }\r
316 \r
317 void EcuM_OnPrepShutdown(void)\r
318 {\r
319 \r
320 }\r
321 \r
322 void EcuM_OnGoSleep(void)\r
323 {\r
324 \r
325 }\r
326 \r
327 void EcuM_OnGoOffOne(void)\r
328 {\r
329 \r
330 }\r
331 \r
332 void EcuM_OnGoOffTwo(void)\r
333 {\r
334 \r
335 }\r
336 \r
337 void EcuM_AL_SwitchOff(void)\r
338 {\r
339 \r
340 }\r
341 \r
342 void EcuM_CheckWakeup(EcuM_WakeupSourceType source) {\r
343 }\r
344 \r
345 void EcuM_EnableWakeupSources( EcuM_WakeupSourceType source ) {\r
346 }\r
347 \r
348 void EcuM_DisableWakeupSources(EcuM_WakeupSourceType wakeupSource) {\r
349 }\r
350 \r
351 \r
352 /**\r
353  *\r
354  *\r
355  *\r
356  * @param wakeupSource\r
357  */\r
358 void EcuM_StartWakeupSources(EcuM_WakeupSourceType wakeupSource) {\r
359         VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );\r
360 \r
361 }\r
362 \r
363 void EcuM_CheckValidation(EcuM_WakeupSourceType wakeupSource) {\r
364 \r
365         VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION);\r
366 \r
367         (void) wakeupSource;\r
368 }\r
369 \r
370 /**\r
371  * Restart drivers..\r
372  */\r
373 void EcuM_AL_DriverRestart( void ) {\r
374 \r
375         VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );\r
376 \r
377 }\r
378 \r
379 \r
380 /**\r
381  *\r
382  * @param wact\r
383  * @return\r
384  */\r
385 EcuM_WakeupReactionType EcuM_OnWakeupReaction( EcuM_WakeupReactionType wact ) {\r
386 \r
387         VALIDATE_STATE( ECUM_STATE_WAKEUP_REACTION );\r
388 \r
389         return wact;\r
390 }\r
391 \r
392 /**\r
393  * Generate RAM hash.\r
394  * We are in ECUM_STATE_SLEEP here.\r
395  *\r
396  */\r
397 void EcuM_GenerateRamHash( void ) {\r
398         VALIDATE_STATE( ECUM_STATE_SLEEP );\r
399 }\r
400 \r
401 /**\r
402  * Check RAM hash.\r
403  * We are still in ECUM_STATE_SLEEP here.\r
404  *\r
405  * @return\r
406  */\r
407 uint8 EcuM_CheckRamHash( void ) {\r
408         VALIDATE_STATE( ECUM_STATE_SLEEP );\r
409 \r
410         return 0;\r
411 }\r
412 \r
413 \r
414 \r