diff options
author | Glenn Humphrey <glenn.humphrey@oarcorp.com> | 2009-10-12 21:02:40 +0000 |
---|---|---|
committer | Glenn Humphrey <glenn.humphrey@oarcorp.com> | 2009-10-12 21:02:40 +0000 |
commit | b1d5a734778cef6046560a9cdee8ef8b789e6633 (patch) | |
tree | 76b0f605dfbbe9e474d15738d759ccce7fb4552c /led | |
parent | 778e80da0eda4526bd2977d9399800e010d4088c (diff) |
2009-10-12 Glenn Humphrey <glenn.humphrey@OARcorp.com>
* delay/init.c, event_server/init.c, msg_server/init.c,
ratemon1/init.c, ratemon2/init.c, sem_server/init.c,
timeout_event/init.c: Cleaned up unused variables and standardized
for inclusion into RTEMS class materials.
Diffstat (limited to 'led')
-rw-r--r-- | led/ChangeLog | 7 | ||||
-rw-r--r-- | led/delay/init.c | 5 | ||||
-rw-r--r-- | led/event_server/init.c | 27 | ||||
-rw-r--r-- | led/msg_server/init.c | 28 | ||||
-rw-r--r-- | led/ratemon1/init.c | 3 | ||||
-rw-r--r-- | led/ratemon2/init.c | 7 | ||||
-rw-r--r-- | led/sem_server/init.c | 34 | ||||
-rw-r--r-- | led/timeout_event/init.c | 12 |
8 files changed, 54 insertions, 69 deletions
diff --git a/led/ChangeLog b/led/ChangeLog index 43b91ba..3114aa6 100644 --- a/led/ChangeLog +++ b/led/ChangeLog @@ -1,5 +1,12 @@ 2009-10-12 Glenn Humphrey <glenn.humphrey@OARcorp.com> + * delay/init.c, event_server/init.c, msg_server/init.c, + ratemon1/init.c, ratemon2/init.c, sem_server/init.c, + timeout_event/init.c: Cleaned up unused variables and standardized + for inclusion into RTEMS class materials. + +2009-10-12 Glenn Humphrey <glenn.humphrey@OARcorp.com> + * Makefile, timer/init.c: Split the timer example into two examples and cleaned up resource usage. * timer_server/Makefile, timer_server/init.c: New files. diff --git a/led/delay/init.c b/led/delay/init.c index d1b34bb..4b11413 100644 --- a/led/delay/init.c +++ b/led/delay/init.c @@ -12,7 +12,6 @@ #include <stdio.h> #include <bsp.h> -#include "../../testmacros.h" #include "../led.h" rtems_task Init( @@ -27,9 +26,9 @@ rtems_task Init( while (1) { - (void) rtems_task_wake_after( 1 * get_ticks_per_second() ); + (void) rtems_task_wake_after( 1 * rtems_clock_get_ticks_per_second() ); LED_ON(); - (void) rtems_task_wake_after( 1 * get_ticks_per_second() ); + (void) rtems_task_wake_after( 1 * rtems_clock_get_ticks_per_second() ); LED_OFF(); } diff --git a/led/event_server/init.c b/led/event_server/init.c index f629621..c726e6b 100644 --- a/led/event_server/init.c +++ b/led/event_server/init.c @@ -13,7 +13,6 @@ #include <inttypes.h> #include <stdio.h> -#include "../../testmacros.h" #include "../led.h" rtems_task Test_task( @@ -23,8 +22,6 @@ rtems_task Test_task( rtems_event_set events; rtems_status_code status; - LED_INIT(); - for ( ; ; ) { events = 0; status = rtems_event_receive( @@ -44,40 +41,38 @@ rtems_task Test_task( } } -/* - * Keep the names and IDs in global variables so another task can use them. - */ - -rtems_id Task_id[ 4 ]; /* array of task ids */ -rtems_name Task_name[ 4 ]; /* array of task names */ rtems_task Init( rtems_task_argument argument ) { - rtems_status_code status; uint32_t count = 0; rtems_event_set events; + rtems_status_code status; + rtems_id task_id; + rtems_name task_name; puts( "\n\n*** LED BLINKER -- event receive server ***" ); - Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' ); + LED_INIT(); + + task_name = rtems_build_name( 'T', 'A', '1', ' ' ); status = rtems_task_create( - Task_name[ 1 ], 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, &Task_id[ 1 ] + task_name, 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, &task_id ); - status = rtems_task_start( Task_id[ 1 ], Test_task, 1 ); + status = rtems_task_start( task_id, Test_task, 1 ); while (1) { events = ( (count++ % 2) == 0 ) ? RTEMS_EVENT_1 : RTEMS_EVENT_2; - status = rtems_event_send( Task_id[ 1 ], events ); + status = rtems_event_send( task_id, events ); if ( status != RTEMS_SUCCESSFUL ) fputs( "send did not work\n", stderr ); - status = rtems_task_wake_after( get_ticks_per_second() ); + status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() ); } status = rtems_task_delete( RTEMS_SELF ); diff --git a/led/msg_server/init.c b/led/msg_server/init.c index 721aa08..83654cf 100644 --- a/led/msg_server/init.c +++ b/led/msg_server/init.c @@ -12,18 +12,10 @@ #include <stdio.h> #include <bsp.h> -#include "../../testmacros.h" #include "../led.h" -/* - * Keep the names and IDs in global variables so another task can use them. - */ - -rtems_id Task_id[ 4 ]; /* array of task ids */ -rtems_name Task_name[ 4 ]; /* array of task names */ rtems_id Queue_id; - rtems_task Test_task( rtems_task_argument unused ) @@ -32,8 +24,6 @@ rtems_task Test_task( size_t received; rtems_status_code status; - LED_INIT(); - for ( ; ; ) { count = 0xFFFFFFFF; status = rtems_message_queue_receive( @@ -56,19 +46,23 @@ rtems_task Init( rtems_task_argument argument ) { - rtems_status_code status; uint32_t count = 0; + rtems_status_code status; + rtems_id task_id; + rtems_name task_name; puts( "\n\n*** LED BLINKER -- message receive server ***" ); - Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' ); + LED_INIT(); + + task_name = rtems_build_name( 'T', 'A', '1', ' ' ); status = rtems_task_create( - Task_name[ 1 ], 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, &Task_id[ 1 ] + task_name, 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, &task_id ); - status = rtems_task_start( Task_id[ 1 ], Test_task, 1 ); + status = rtems_task_start( task_id, Test_task, 1 ); status = rtems_message_queue_create( rtems_build_name( 'Q', '1', ' ', ' ' ), @@ -85,7 +79,7 @@ rtems_task Init( if ( status != RTEMS_SUCCESSFUL ) fputs( "send did not work\n", stderr ); - status = rtems_task_wake_after( get_ticks_per_second() ); + status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() ); } status = rtems_task_delete( RTEMS_SELF ); @@ -98,7 +92,7 @@ rtems_task Init( #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_MAXIMUM_TASKS 4 +#define CONFIGURE_MAXIMUM_TASKS 2 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/led/ratemon1/init.c b/led/ratemon1/init.c index 6f2bffa..1df7a59 100644 --- a/led/ratemon1/init.c +++ b/led/ratemon1/init.c @@ -12,7 +12,6 @@ #include <stdio.h> #include <bsp.h> -#include "../../testmacros.h" #include "../led.h" rtems_task Init( @@ -34,7 +33,7 @@ rtems_task Init( ); count = 0; - ticks = get_ticks_per_second(); + ticks = rtems_clock_get_ticks_per_second(); while (1) { status = rtems_rate_monotonic_period( period_id, ticks ); diff --git a/led/ratemon2/init.c b/led/ratemon2/init.c index 167db5f..1dcb95d 100644 --- a/led/ratemon2/init.c +++ b/led/ratemon2/init.c @@ -12,7 +12,6 @@ #include <stdio.h> #include <bsp.h> -#include "../../testmacros.h" #include "../led.h" rtems_task Init( @@ -38,12 +37,12 @@ rtems_task Init( &period_id2 ); - ticks = get_ticks_per_second(); + ticks = rtems_clock_get_ticks_per_second(); status = rtems_rate_monotonic_period( period_id1, 2 * ticks ); LED_ON(); - (void) rtems_task_wake_after( 1 * get_ticks_per_second() ); + (void) rtems_task_wake_after( 1 * rtems_clock_get_ticks_per_second() ); status = rtems_rate_monotonic_period( period_id2, 2 * ticks ); LED_OFF(); @@ -64,7 +63,7 @@ rtems_task Init( #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_MAXIMUM_TASKS 4 +#define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_MAXIMUM_PERIODS 2 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/led/sem_server/init.c b/led/sem_server/init.c index d0792eb..f59406c 100644 --- a/led/sem_server/init.c +++ b/led/sem_server/init.c @@ -13,15 +13,8 @@ #include <bsp.h> #include <assert.h> -#include "../../testmacros.h" #include "../led.h" -/* - * Keep the names and IDs in global variables so another task can use them. - */ - -rtems_id Task_id[ 4 ]; /* array of task ids */ -rtems_name Task_name[ 4 ]; /* array of task names */ rtems_id Sem_id; rtems_task Test_task( @@ -30,9 +23,9 @@ rtems_task Test_task( { rtems_status_code status; - LED_INIT(); - for ( ; ; ) { + + /* Semaphore not available, ensured to block */ status = rtems_semaphore_obtain( Sem_id, RTEMS_DEFAULT_OPTIONS, @@ -43,9 +36,10 @@ rtems_task Test_task( LED_OFF(); - status = rtems_task_wake_after( get_ticks_per_second() ); + status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() ); assert( status == RTEMS_SUCCESSFUL ); + /* Transfers semaphore to Init task */ status = rtems_semaphore_release( Sem_id ); if ( status != RTEMS_SUCCESSFUL ) fputs( "Task - release did not work\n", stderr ); @@ -57,14 +51,18 @@ rtems_task Init( ) { rtems_status_code status; + rtems_id task_id; + rtems_name task_name; puts( "\n\n*** LED BLINKER -- semaphore ping/pong ***" ); - Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' ); + LED_INIT(); + + task_name = rtems_build_name( 'T', 'A', '1', ' ' ); status = rtems_semaphore_create( rtems_build_name( 'S', 'E', 'M', ' ' ), - 0, + 0, /* created locked */ RTEMS_DEFAULT_ATTRIBUTES, 0, &Sem_id @@ -72,24 +70,26 @@ rtems_task Init( assert( status == RTEMS_SUCCESSFUL ); status = rtems_task_create( - Task_name[ 1 ], 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, &Task_id[ 1 ] + task_name, 1, RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, &task_id ); assert( status == RTEMS_SUCCESSFUL ); - status = rtems_task_start( Task_id[ 1 ], Test_task, 1 ); + status = rtems_task_start( task_id, Test_task, 1 ); assert( status == RTEMS_SUCCESSFUL ); while (1) { LED_ON(); - status = rtems_task_wake_after( get_ticks_per_second() ); + status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() ); assert( status == RTEMS_SUCCESSFUL ); + /* Transfers semaphore to TA1 */ status = rtems_semaphore_release( Sem_id ); if ( status != RTEMS_SUCCESSFUL ) fputs( "init - release did not work\n", stderr ); + /* Semaphore not available, ensured to block */ status = rtems_semaphore_obtain( Sem_id, RTEMS_DEFAULT_OPTIONS, @@ -110,7 +110,7 @@ rtems_task Init( #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_MAXIMUM_TASKS 4 +#define CONFIGURE_MAXIMUM_TASKS 2 #define CONFIGURE_MAXIMUM_SEMAPHORES 1 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE diff --git a/led/timeout_event/init.c b/led/timeout_event/init.c index 71cce63..ee9fc23 100644 --- a/led/timeout_event/init.c +++ b/led/timeout_event/init.c @@ -13,16 +13,8 @@ #include <stdint.h> #include <stdio.h> -#include "../../testmacros.h" #include "../led.h" -/* - * Keep the names and IDs in global variables so another task can use them. - */ - -rtems_id Task_id[ 4 ]; /* array of task ids */ -rtems_name Task_name[ 4 ]; /* array of task names */ - rtems_task Init( rtems_task_argument argument ) @@ -38,7 +30,7 @@ rtems_task Init( while (1) { status = rtems_event_receive( RTEMS_EVENT_1, - RTEMS_DEFAULT_OPTIONS, get_ticks_per_second(), &events ); + RTEMS_DEFAULT_OPTIONS, rtems_clock_get_ticks_per_second(), &events ); if ( status != RTEMS_TIMEOUT ) fputs( "receive did not timeout\n", stderr ); @@ -58,7 +50,7 @@ rtems_task Init( #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#define CONFIGURE_MAXIMUM_TASKS 4 +#define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE |