2 * Configuration of module: EcuM (EcuM_Callout_Stubs.c)
\r
7 * Configured for (MCU): MPC5567
\r
9 * Module vendor: ArcCore
\r
10 * Generator version: 2.0.2
\r
12 * Generated by Arctic Studio (http://arccore.com)
\r
17 #include "EcuM_Generated_Types.h"
\r
19 #if defined(USE_DEM)
\r
22 #if defined(USE_MCU)
\r
25 #if defined(USE_GPT)
\r
28 #if defined(USE_CAN)
\r
31 #if defined(USE_CANIF)
\r
34 #if defined(USE_PDUR)
\r
37 #if defined(USE_COM)
\r
40 #if defined(USE_CANTP)
\r
43 #if defined(USE_J1939TP)
\r
44 #include "J1939Tp.h"
\r
46 #if defined(USE_DCM)
\r
49 #if defined(USE_PWM)
\r
52 #if defined(USE_IOHWAB)
\r
55 #if defined(USE_FLS)
\r
58 #if defined(USE_EEP)
\r
61 #if defined(USE_FEE)
\r
67 #if defined(USE_NVM)
\r
70 #if defined(USE_COMM)
\r
76 #if defined(USE_CANNM)
\r
79 #if defined(USE_CANSM)
\r
82 #if defined(USE_UDPNM)
\r
85 #if defined(USE_LINSM)
\r
88 #if defined(USE_SPI)
\r
91 #if defined(USE_WDG)
\r
94 #if defined(USE_WDGM)
\r
98 #define VALIDATE_STATE(_state) \
\r
100 EcuM_StateType ecuMState; \
\r
101 EcuM_GetState(&ecuMState); \
\r
102 assert(ecuMState == (_state) ); \
\r
106 void EcuM_AL_DriverInitZero(void)
\r
108 Det_Init();/** @req EcuM2783 */
\r
109 Det_Start();/** @req EcuM2634 */
\r
112 extern EcuM_ConfigType EcuMConfig;
\r
114 EcuM_ConfigType* EcuM_DeterminePbConfiguration(void)
\r
116 return &EcuMConfig;
\r
119 void EcuM_AL_DriverInitOne(const EcuM_ConfigType *ConfigPtr)
\r
122 //lint --e{715} PC-Lint (715) - ConfigPtr usage depends on configuration of modules
\r
124 #if defined(USE_MCU)
\r
125 Mcu_Init(ConfigPtr->McuConfig);
\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
131 // Wait for PLL to sync.
\r
132 while (Mcu_GetPllStatus() != MCU_PLL_LOCKED)
\r
138 #if defined(USE_DEM)
\r
139 // Preinitialize DEM
\r
143 #if defined(USE_PORT)
\r
145 Port_Init(ConfigPtr->PortConfig);
\r
149 #if defined(USE_GPT)
\r
151 Gpt_Init(ConfigPtr->GptConfig);
\r
155 #if defined(USE_WDG)
\r
156 Wdg_Init(ConfigPtr->WdgConfig);
\r
158 #if defined(USE_WDGM)
\r
159 WdgM_Init(ConfigPtr->WdgMConfig);
\r
162 #if defined(USE_DMA)
\r
164 Dma_Init(ConfigPtr->DmaConfig);
\r
167 #if defined(USE_ADC)
\r
169 Adc_Init(ConfigPtr->AdcConfig);
\r
176 #if defined(USE_PWM)
\r
178 Pwm_Init(ConfigPtr->PwmConfig);
\r
182 void EcuM_AL_DriverInitTwo(const EcuM_ConfigType* ConfigPtr)
\r
185 //lint --e{715} PC-Lint (715) - ConfigPtr usage depends on configuration of modules
\r
187 #if defined(USE_SPI)
\r
189 Spi_Init(ConfigPtr->SpiConfig);
\r
192 #if defined(USE_EEP)
\r
194 Eep_Init(ConfigPtr->EepConfig);
\r
197 #if defined(USE_FLS)
\r
199 Fls_Init(ConfigPtr->FlashConfig);
\r
202 #if defined(USE_FEE)
\r
207 #if defined(USE_EA)
\r
212 #if defined(USE_NVM)
\r
213 // Setup NVRAM Manager and start the read all job
\r
218 // Setup CAN tranceiver
\r
221 #if defined(USE_CAN)
\r
222 // Setup Can driver
\r
223 Can_Init(ConfigPtr->CanConfig);
\r
226 #if defined(USE_CANIF)
\r
228 CanIf_Init(ConfigPtr->CanIfConfig);
\r
231 #if defined(USE_CANTP)
\r
236 #if defined(USE_CANSM)
\r
237 CanSM_Init(ConfigPtr->CanSMConfig);
\r
240 #if defined(USE_J1939TP)
\r
242 J1939Tp_Init(ConfigPtr->J1939TpConfig);
\r
249 #if defined(USE_PDUR)
\r
250 // Setup PDU Router
\r
251 PduR_Init(ConfigPtr->PduRConfig);
\r
254 #if defined(USE_CANNM)
\r
255 // Setup Can Network Manager
\r
256 CanNm_Init(ConfigPtr->CanNmConfig);
\r
259 #if defined(USE_UDPNM)
\r
260 // Setup Udp Network Manager
\r
261 UdpNm_Init(ConfigPtr->UdpNmConfig);
\r
264 #if defined(USE_NM)
\r
265 // Setup Network Management Interface
\r
266 Nm_Init(ConfigPtr->NmConfig);
\r
269 #if defined(USE_COM)
\r
271 Com_Init(ConfigPtr->ComConfig);
\r
274 #if defined(USE_DCM)
\r
279 #if defined(USE_IOHWAB)
\r
280 // Setup IO hardware abstraction layer
\r
286 void EcuM_AL_DriverInitThree(const EcuM_ConfigType* ConfigPtr)
\r
289 //lint --e{715} PC-Lint (715) - ConfigPtr usage depends on configuration of modules
\r
291 #if defined(USE_DEM)
\r
296 #if defined(USE_COMM)
\r
297 // Setup Communication Manager
\r
298 ComM_Init(ConfigPtr->ComMConfig);
\r
302 void EcuM_OnEnterRun(void)
\r
307 void EcuM_OnExitRun(void)
\r
312 void EcuM_OnExitPostRun(void)
\r
317 void EcuM_OnPrepShutdown(void)
\r
322 void EcuM_OnGoSleep(void)
\r
327 void EcuM_OnGoOffOne(void)
\r
332 void EcuM_OnGoOffTwo(void)
\r
337 void EcuM_AL_SwitchOff(void)
\r
342 void EcuM_CheckWakeup(EcuM_WakeupSourceType source) {
\r
345 void EcuM_EnableWakeupSources( EcuM_WakeupSourceType source ) {
\r
348 void EcuM_DisableWakeupSources(EcuM_WakeupSourceType wakeupSource) {
\r
356 * @param wakeupSource
\r
358 void EcuM_StartWakeupSources(EcuM_WakeupSourceType wakeupSource) {
\r
359 VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );
\r
365 * Restart drivers..
\r
367 void EcuM_AL_DriverRestart( void ) {
\r
369 VALIDATE_STATE( ECUM_STATE_WAKEUP_VALIDATION );
\r
379 EcuM_WakeupReactionType EcuM_OnWakeupReaction( EcuM_WakeupReactionType wact ) {
\r
381 VALIDATE_STATE( ECUM_STATE_WAKEUP_REACTION );
\r
387 * Generate RAM hash.
\r
388 * We are in ECUM_STATE_SLEEP here.
\r
391 void EcuM_GenerateRamHash( void ) {
\r
392 VALIDATE_STATE( ECUM_STATE_SLEEP );
\r
397 * We are still in ECUM_STATE_SLEEP here.
\r
401 uint8 EcuM_CheckRamHash( void ) {
\r
402 VALIDATE_STATE( ECUM_STATE_SLEEP );
\r