source: rtems/testsuites/sptests/sp30/task1.c @ bcf16c0

4.104.115
Last change on this file since bcf16c0 was bcf16c0, checked in by Joel Sherrill <joel.sherrill@…>, on 08/10/09 at 14:49:51

2009-08-10 Joel Sherrill <joel.sherrill@…>

  • sp01/sp01.scn, sp01/task1.c, sp03/task1.c, sp03/task2.c, sp04/task1.c, sp04/tswitch.c, sp09/screen02.c, sp09/screen13.c, sp09/screen14.c, sp09/sp09.scn, sp11/sp11.scn, sp11/task1.c, sp11/task2.c, sp19/fptask.c, sp19/sp19.scn, sp19/task1.c, sp22/prtime.c, sp22/sp22.scn, sp22/task1.c, sp24/sp24.scn, sp24/task1.c, sp30/task1.c, sp31/prtime.c, sp31/sp31.scn, sp31/task1.c, spwatchdog/prtime.c, spwatchdog/spwatchdog.scn, spwatchdog/task1.c: Convert calls to legacy routine rtems_clock_get( RTEMS_CLOCK_GET_TOD, ..) to rtems_clock_get_tod(..).
  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*  Task_1_through_3
2 *
3 *  This task is a cyclic version of test1 to asssure that the times
4 *  displayed are not skewed as in test1.  "TA1" is printed once every
5 *  5 seconds, "TA2" is printed once every 10 seconds, and "TA3" is
6 *  printed once every 15 seconds.  The times displayed should be
7 *  in multiples of 5, 10, and 15 for TA1, TA2, and TA3 respectively.
8 *  If the times are skewed from these values, then the calendar time
9 *  does not correspond correctly with the number of ticks.
10 *
11 *  COPYRIGHT (c) 1989-2002.
12 *  On-Line Applications Research Corporation (OAR).
13 *
14 *  The license and distribution terms for this file may be
15 *  found in the file LICENSE in this distribution or at
16 *  http://www.rtems.com/license/LICENSE.
17 *
18 *  $Id$
19 */
20
21#include "system.h"
22
23rtems_task Task_1_through_3(
24  rtems_task_argument argument
25)
26{
27  rtems_id          tid;
28  rtems_time_of_day time;
29  rtems_status_code status;
30
31  status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &tid );
32  directive_failed( status, "rtems_task_ident of self" );
33
34  while ( FOREVER )  {
35    status = rtems_timer_server_fire_after(
36      Timer_id[ argument ],
37      (task_number( tid ) - 1) * 5 * TICKS_PER_SECOND,
38      Resume_task,
39      (void *) &tid
40    );
41    directive_failed( status, "rtems_timer_server_fire_after failed" );
42
43    status = rtems_clock_get_tod( &time );
44    directive_failed( status, "rtems_clock_get_tod failed" );
45
46    if ( time.second >= 35 ) {
47      puts( "*** END OF TEST 30 ***" );
48      rtems_test_exit( 0 );
49    }
50
51    put_name( Task_name[ task_number( tid ) - 1 ], FALSE );
52    print_time( " - rtems_clock_get_tod - ", &time, "\n" );
53
54    status = rtems_task_suspend( RTEMS_SELF );
55    directive_failed( status, "rtems_task_suspend" );
56  }
57}
Note: See TracBrowser for help on using the repository browser.