]> git.sur5r.net Git - freertos/commitdiff
Spell check comments in TimerDemo.c.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 18 Feb 2011 15:59:02 +0000 (15:59 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 18 Feb 2011 15:59:02 +0000 (15:59 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1299 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/Common/Minimal/TimerDemo.c

index a1441bafa3838e2aeeafd2db012423b2c29b53ae..1915ff3c0fe61e2179d284db84629c150639baca 100644 (file)
@@ -53,7 +53,7 @@
 \r
 \r
 /*\r
- * Tests the behaviour of timers.  Some timers are created before hte scheudler\r
+ * Tests the behaviour of timers.  Some timers are created before the scheduler\r
  * is started, and some after.\r
  */\r
 \r
@@ -68,7 +68,7 @@
 /* Demo program include files. */\r
 #include "TimerDemo.h"\r
 \r
-#if configTIMER_TASK_PRIORITY < 1\r
+#if ( configTIMER_TASK_PRIORITY < 1 )\r
        #error configTIMER_TASK_PRIORITY must be set to at least 1 for this test/demo to function correctly.\r
 #endif\r
 \r
@@ -79,7 +79,7 @@
 /*-----------------------------------------------------------*/\r
 \r
 /* The callback functions used by the timers.  These each increment a counter\r
-to indicate which timer has expired.  The autoreload timers that are used by\r
+to indicate which timer has expired.  The auto-reload timers that are used by\r
 the test task (as opposed to being used from an ISR) all share the same\r
 prvAutoReloadTimerCallback() callback function, and use the ID of the\r
 pxExpiredTimer parameter passed into that function to know which counter to\r
@@ -110,7 +110,7 @@ static volatile portBASE_TYPE xTestStatus = pdPASS;
 \r
 /* Counter that is incremented on each cycle of a test.  This is used to\r
 detect a stalled task - a test that is no longer running. */\r
-static volatile unsigned portLONG ulLoopCounter = 0;\r
+static volatile unsigned long ulLoopCounter = 0;\r
 \r
 /* A set of auto reload timers - each of which use the same callback function.\r
 The callback function uses the timer ID to index into, and then increment, a\r
@@ -124,7 +124,7 @@ ucOneShotTimerCounter each time it gets called. */
 static xTimerHandle xOneShotTimer = NULL;\r
 static unsigned char ucOneShotTimerCounter = ( unsigned char ) 0;\r
 \r
-/* The ISR realod timer is controlled from the tick hook to exercise the timer\r
+/* The ISR reload timer is controlled from the tick hook to exercise the timer\r
 API functions that can be used from an ISR.  It is configured to increment\r
 ucISRReloadTimerCounter each time its callback function is executed. */\r
 static xTimerHandle xISRAutoReloadTimer = NULL;\r
@@ -169,8 +169,8 @@ static void prvTimerTestTask( void *pvParameters )
 \r
        /* Create a one-shot timer for use later on in this test. */\r
        xOneShotTimer = xTimerCreate(   "Oneshot Timer",                                /* Text name to facilitate debugging.  The kernel does not use this itself. */\r
-                                                                       tmrdemoONE_SHOT_TIMER_PERIOD,/* The period for the timer. */\r
-                                                                       pdFALSE,                                                /* Don't autoreload - hence a one shot timer. */\r
+                                                                       tmrdemoONE_SHOT_TIMER_PERIOD,   /* The period for the timer. */\r
+                                                                       pdFALSE,                                                /* Don't auto-reload - hence a one shot timer. */\r
                                                                        ( void * ) 0,                                   /* The timer identifier.  In this case this is not used as the timer has its own callback. */\r
                                                                        prvOneShotTimerCallback );              /* The callback to be called when the timer expires. */\r
 \r
@@ -211,19 +211,19 @@ static void prvTimerTestTask( void *pvParameters )
 detected any errors. */\r
 portBASE_TYPE xAreTimerDemoTasksStillRunning( portTickType xCycleFrequency )\r
 {\r
-static unsigned portLONG ulLastLoopCounter = 0UL;\r
+static unsigned long ulLastLoopCounter = 0UL;\r
 portTickType xMaxBlockTimeUsedByTheseTests, xLoopCounterIncrementTimeMax;\r
-static portTickType xItterationsWithoutCounterIncrement = ( portTickType ) 0, xLastCycleFrequency;\r
+static portTickType xIterationsWithoutCounterIncrement = ( portTickType ) 0, xLastCycleFrequency;\r
 \r
        if( xLastCycleFrequency != xCycleFrequency )\r
        {\r
                /* The cycle frequency has probably become much faster due to an error\r
-               elsewhere.  Start counting itterations again. */\r
-               xItterationsWithoutCounterIncrement = ( portTickType ) 0;\r
+               elsewhere.  Start counting Iterations again. */\r
+               xIterationsWithoutCounterIncrement = ( portTickType ) 0;\r
                xLastCycleFrequency = xCycleFrequency;\r
        }               \r
 \r
-       /* Calculate the maximum number of times that it is permittable for this\r
+       /* Calculate the maximum number of times that it is permissible for this\r
        function to be called without ulLoopCounter being incremented.  This is\r
        necessary because the tests in this file block for extended periods, and the\r
        block period might be longer than the time between calls to this function. */\r
@@ -234,8 +234,8 @@ static portTickType xItterationsWithoutCounterIncrement = ( portTickType ) 0, xL
        have incremented every xLoopCounterIncrementTimeMax calls. */\r
        if( ulLastLoopCounter == ulLoopCounter )\r
        {\r
-               xItterationsWithoutCounterIncrement++;\r
-               if( xItterationsWithoutCounterIncrement > xLoopCounterIncrementTimeMax )\r
+               xIterationsWithoutCounterIncrement++;\r
+               if( xIterationsWithoutCounterIncrement > xLoopCounterIncrementTimeMax )\r
                {\r
                        /* The tests appear to be no longer running (stalled). */\r
                        xTestStatus = pdFAIL;\r
@@ -246,7 +246,7 @@ static portTickType xItterationsWithoutCounterIncrement = ( portTickType ) 0, xL
        {\r
                /* ulLoopCounter changed, so the count of times this function was called\r
                without a change can be reset to zero. */\r
-               xItterationsWithoutCounterIncrement = ( portTickType ) 0;\r
+               xIterationsWithoutCounterIncrement = ( portTickType ) 0;\r
        }\r
 \r
        ulLastLoopCounter = ulLoopCounter;\r
@@ -270,7 +270,7 @@ portBASE_TYPE xTimer;
                API itself. */\r
                xAutoReloadTimers[ xTimer ] = xTimerCreate( "FR Timer",                                         /* Text name to facilitate debugging.  The kernel does not use this itself. */\r
                                                                                                        ( ( xTimer + 1 ) * xBasePeriod ),/* The period for the timer.  The plus 1 ensures a period of zero is not specified. */\r
-                                                                                                       pdTRUE,                                                         /* Autoreload is set to true. */\r
+                                                                                                       pdTRUE,                                                         /* Auto-reload is set to true. */\r
                                                                                                        ( void * ) xTimer,                                      /* An identifier for the timer as all the auto reload timers use the same callback. */\r
                                                                                                        prvAutoReloadTimerCallback );           /* The callback to be called when the timer expires. */\r
 \r
@@ -298,7 +298,7 @@ portBASE_TYPE xTimer;
        drained until the scheduler has been started. */\r
        xAutoReloadTimers[ configTIMER_QUEUE_LENGTH ] = xTimerCreate( "FR Timer",               /* Text name to facilitate debugging.  The kernel does not use this itself. */\r
                                                                                                        ( configTIMER_QUEUE_LENGTH * xBasePeriod ),     /* The period for the timer. */\r
-                                                                                                       pdTRUE,                                                 /* Autoreload is set to true. */\r
+                                                                                                       pdTRUE,                                                 /* Auto-reload is set to true. */\r
                                                                                                        ( void * ) xTimer,                              /* An identifier for the timer as all the auto reload timers use the same callback. */\r
                                                                                                        prvAutoReloadTimerCallback );   /* The callback executed when the timer expires. */\r
 \r
@@ -373,7 +373,7 @@ static void prvTest3_CheckAutoReloadExpireRates( void )
 unsigned char ucMaxAllowableValue, ucMinAllowableValue, ucTimer;\r
 portTickType xBlockPeriod, xTimerPeriod, xExpectedNumber;\r
 \r
-       /* Check the auto reload timers expire at the expcted rates. */\r
+       /* Check the auto reload timers expire at the expected rates. */\r
 \r
        \r
        /* Delaying for configTIMER_QUEUE_LENGTH * xBasePeriod ticks should allow\r
@@ -704,8 +704,23 @@ static unsigned portBASE_TYPE uxTick = ( unsigned portBASE_TYPE ) -1;
 function is called from the tick hook anyway.  However the API required it\r
 to be present. */\r
 portBASE_TYPE xHigherPriorityTaskWoken = pdTRUE;\r
-const portBASE_TYPE xMargin = 3;\r
+portBASE_TYPE xMargin;\r
 \r
+       if( configTIMER_TASK_PRIORITY != ( configMAX_PRIORITIES - 1 ) )\r
+       {\r
+               /* The timer service task is not the highest priority task, so it cannot\r
+               be assumed that timings will be exact.  Timers should never call their\r
+               callback before their expiry time, but a margin is permissible for calling\r
+               their callback after their expiry time.  If exact timing is required then\r
+               configTIMER_TASK_PRIORITY must be set to ensure the timer service task\r
+               is the highest priority task in the system. */\r
+               xMargin = 5;\r
+       }\r
+       else\r
+       {\r
+               xMargin = 0;\r
+       }\r
+       \r
        uxTick++;\r
 \r
        if( uxTick == 0 )\r
@@ -734,13 +749,13 @@ const portBASE_TYPE xMargin = 3;
                {\r
                        xTestStatus = pdFAIL;\r
                        configASSERT( xTestStatus );\r
-               }               \r
+               }\r
        }\r
        else if( uxTick == ( 2 * xBasePeriod ) )\r
        {\r
                /* The auto reload timer will still be active, but the one shot timer\r
                should now have stopped - however, at this time neither of the timers\r
-               shoud have expired again since the last test. */\r
+               should have expired again since the last test. */\r
                if( ( ucISRAutoReloadTimerCounter != 1 ) || ( ucISROneShotTimerCounter != 1 ) )\r
                {\r
                        xTestStatus = pdFAIL;\r
@@ -779,7 +794,7 @@ const portBASE_TYPE xMargin = 3;
                {\r
                        xTestStatus = pdFAIL;\r
                        configASSERT( xTestStatus );\r
-               }               \r
+               }\r
        }       \r
        else if( uxTick == ( 3 * xBasePeriod ) )\r
        {\r
@@ -803,7 +818,7 @@ const portBASE_TYPE xMargin = 3;
                        configASSERT( xTestStatus );\r
                }\r
                \r
-               /* Now stop the auto realod timer.  The one shot timer was started\r
+               /* Now stop the auto reload timer.  The one shot timer was started\r
                a few ticks ago. */\r
                xTimerStopFromISR( xISRAutoReloadTimer, &xHigherPriorityTaskWoken );\r
        }       \r
@@ -922,7 +937,7 @@ const portBASE_TYPE xMargin = 3;
        {\r
                /* Only the one shot timer should have been running and this time it\r
                should have     expired.  Check its callback count has been incremented.\r
-               The auto realod timer is still not running so should still have the same\r
+               The auto reload timer is still not running so should still have the same\r
                count value.  This time the one shot timer is not reset so should not\r
                restart from its expiry period again. */\r
                if( ucISRAutoReloadTimerCounter != 3 )\r