]> rtime.felk.cvut.cz Git - arc.git/commitdiff
EcuM_Main, fix for non-ppc.
authorhebe <devnull@localhost>
Tue, 18 Sep 2012 07:25:56 +0000 (09:25 +0200)
committerhebe <devnull@localhost>
Tue, 18 Sep 2012 07:25:56 +0000 (09:25 +0200)
system/EcuM/EcuM_Main.c

index 10a9aef2098742a94defd3b56fb3b5b8a444738e..898c2bd47167e556da9bba856e430d486a1bac1f 100644 (file)
@@ -180,6 +180,8 @@ static void in_state_goSleep( void ) {
                cMask = sleepModePtr->EcuMWakeupSourceMask;\r
 \r
                /* Loop over the WKSOURCE for this sleep mode */\r
+#if defined(PPC)\r
+\r
                for (; cMask; cMask &= ~(1ul << source)) {\r
                        source = ilog2(cMask);\r
                        /* @req 3.1.5/ECUM2389 */\r
@@ -192,7 +194,21 @@ static void in_state_goSleep( void ) {
                        /* Let no one else run */\r
                        GetResource(RES_SCHEDULER);\r
                }\r
+#else\r
+               for (source = 0; cMask; source++) {\r
+                       if(cMask & (1ul << source)){\r
+                       /* @req 3.1.5/ECUM2389 */\r
+                               EcuM_EnableWakeupSources( 1 << source );\r
+                               cMask &= ~(1ul << source);\r
+#if defined(WDGM)\r
+                               WdgM_SetMode(sleepModePtr->EcuMSleepModeWdgMMode);\r
+#endif\r
 \r
+                       /* Let no one else run */\r
+                               GetResource(RES_SCHEDULER);\r
+                       }\r
+               }\r
+#endif\r
        } else if( EcuM_GetPendingWakeupEvents() != 0 ) {\r
                /* We have pending wakeup events, need to startup again */\r
 #if defined(USE_NVM)\r