diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-09-16 09:23:19 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-09-16 09:23:19 +0000 |
commit | 7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c (patch) | |
tree | 23f7d993f50e54c1c883d2e553b7144c1fd988c1 /testsuites/samples/capture | |
parent | 2011-09-16 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-7c9d27e83125cd3b7051dcc23fa2fcde1255cc7c.tar.bz2 |
2011-09-16 Sebastian Huber <Sebastian.Huber@embedded-brains.de>
* fileio/fileio.scn: New file.
* capture/init.c, fileio/init.c: Use rtems_shell_wait_for_input().
Diffstat (limited to 'testsuites/samples/capture')
-rw-r--r-- | testsuites/samples/capture/init.c | 48 |
1 files changed, 35 insertions, 13 deletions
diff --git a/testsuites/samples/capture/init.c b/testsuites/samples/capture/init.c index dedc0b784a..e03fc1b21f 100644 --- a/testsuites/samples/capture/init.c +++ b/testsuites/samples/capture/init.c @@ -33,9 +33,18 @@ #include <rtems.h> #include <rtems/capture-cli.h> #include <rtems/monitor.h> +#include <rtems/shell.h> volatile int can_proceed = 1; +static void notification(int fd, int seconds_remaining, void *arg) +{ + printf( + "Press any key to start capture engine (%is remaining)\n", + seconds_remaining + ); +} + rtems_task Init( rtems_task_argument ignored ) @@ -43,27 +52,40 @@ rtems_task Init( #if BSP_SMALL_MEMORY printf("NO Capture Engine. MEMORY TOO SMALL"); #else + rtems_status_code status; rtems_task_priority old_priority; rtems_mode old_mode; - /* lower the task priority to allow created tasks to execute */ + puts( "\n\n*** TEST CAPTURE ENGINE ***" ); - rtems_task_set_priority(RTEMS_SELF, 20, &old_priority); - rtems_task_mode(RTEMS_PREEMPT, RTEMS_PREEMPT_MASK, &old_mode); + status = rtems_shell_wait_for_input( + STDIN_FILENO, + 20, + notification, + NULL + ); + if (status == RTEMS_SUCCESSFUL) { + /* lower the task priority to allow created tasks to execute */ - printf( "\n*** CAPTURE ENGINE TEST ***\n" ); + rtems_task_set_priority(RTEMS_SELF, 20, &old_priority); + rtems_task_mode(RTEMS_PREEMPT, RTEMS_PREEMPT_MASK, &old_mode); - while (!can_proceed) - { - printf ("Sleeping\n"); - usleep (1000000); - } + while (!can_proceed) + { + printf ("Sleeping\n"); + usleep (1000000); + } + + rtems_monitor_init (0); + rtems_capture_cli_init (0); - rtems_monitor_init (0); - rtems_capture_cli_init (0); + setup_tasks_to_watch (); - setup_tasks_to_watch (); + rtems_task_delete (RTEMS_SELF); + } else { + puts( "*** END OF TEST CAPTURE ENGINE ***" ); - rtems_task_delete (RTEMS_SELF); + exit( 0 ); + } #endif } |