]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - rtems/gw/cangw/init.c
Adds conditional compilation for benchmarking and shell initialization cleanup.
[can-benchmark.git] / rtems / gw / cangw / init.c
index c7209d17365a80b474235fdff07052e7407ece3f..c8057b2f025f2dc08c1cb923c80ed84e0db3a638 100644 (file)
@@ -23,7 +23,7 @@
 #define CONFIGURE_INIT
 #include <system_def.h>
 #include "system.h"
-#include "app_def.h"
+#include "app_def.h"\r
 #include <unistd.h>
 #include <fcntl.h>
 #include <stdio.h>
         __XSTRING(major) "." __XSTRING(minor) "." __XSTRING(patch)
 
 #define RTEMS_VER_CODE VER_CODE(__RTEMS_MAJOR__ ,__RTEMS_MINOR__ ,__RTEMS_REVISION__)
-
-#if RTEMS_VER_CODE < VER_CODE(4,7,99)
-  #define rtems_shell_add_cmd shell_add_cmd
-  #define rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait,m_login_check) \
-                shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,B19200 | CS8,m_forever)
-#elif RTEMS_VER_CODE < VER_CODE(4,9,99)
-  #define rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait,m_login_check) \
-          rtems_shell_init(m_task_name,m_task_stacksize,m_task_priority,m_devname,m_forever,m_wait)
-#endif
-
-void bad_rtems_status(rtems_status_code status, int fail_level, const char *text){
-  printf("ERROR: %s status %s", text, rtems_status_text(status));
-  status = rtems_task_delete( RTEMS_SELF );
-}
-
-
-
-
-rtems_task Init(
-  rtems_task_argument ignored
-)
-{
-  rtems_status_code status;
-
-  printf( "\n\nRTEMS v "
-          BUILD_VERSION_STRING(__RTEMS_MAJOR__ ,__RTEMS_MINOR__ ,__RTEMS_REVISION__)
-         "\n");
-  
-  rtems_monitor_init(RTEMS_MONITOR_SUSPEND|RTEMS_MONITOR_GLOBAL);
-  /*rtems_capture_cli_init (0);*/
-  
-  printf( "Starting application " SW_VER_ID " v "
-          BUILD_VERSION_STRING(SW_VER_MAJOR,SW_VER_MINOR,SW_VER_PATCH)
-         "\n" );
 \r
-  
-
-  rtems_shell_init("SHLL",RTEMS_MINIMUM_STACK_SIZE+0x1000,
-              SHELL_TASK_PRIORITY,"/dev/console",1,0, NULL);
-
-  rtems_shell_add_cmd("startGW", "app",
-                "initialize can driver and startGW",
-                start_can);
-  
-  rtems_shell_add_cmd("stopGW", "app",
-                "stops GW",
-                end_can);
-           
-  rtems_shell_add_cmd("printvar", "app",
-                "prints info from vars",
-                print_regs);\r
-                \r
-  rtems_shell_add_cmd("printcan", "app",\r
-                "prints error rate from CANs",\r
-                print_can_totals);
 \r
-                \r
-                //rtems_monitor_wakeup();
+#define CONFIGURE_SHELL_USER_COMMANDS &shell_command_print_can_totals\r
+#define CONFIGURE_SHELL_COMMANDS_INIT\r
+#define CONFIGURE_SHELL_COMMANDS_ALL\r
+\r
+#include <rtems/shellconfig.h>\r
+#include <rtems/shell.h>\r
+\r
 
-  status = rtems_task_delete( RTEMS_SELF );
-  
-  exit( 0 );
+rtems_task Init(rtems_task_argument ignored){
+    rtems_status_code status;
+    
+    printf( "\n\nRTEMS v "
+            BUILD_VERSION_STRING(__RTEMS_MAJOR__ ,__RTEMS_MINOR__ ,__RTEMS_REVISION__)
+        "\n");
+    
+    rtems_monitor_init(RTEMS_MONITOR_SUSPEND|RTEMS_MONITOR_GLOBAL);
+    
+    printf( "Starting application " SW_VER_ID " v "
+            BUILD_VERSION_STRING(SW_VER_MAJOR,SW_VER_MINOR,SW_VER_PATCH)
+        "\n" );
+\r
+    /* Inits */\r
+#ifdef BENCH_BUILD\r
+    start_can(0, NULL);\r
+    start_net(0, NULL);\r
+#ifdef LOAD_BUILD\r
+    start_load(0, NULL);\r
+#endif\r
+#endif\r
+\r
+#ifndef BENCH_BUILD        \r
+    rtems_shell_init(\r
+        "SHLL", /* task name */\r
+        RTEMS_MINIMUM_STACK_SIZE * 4, /* task stack size */\r
+        100, /* task priority */\r
+        "/dev/console", /* device name */\r
+        true, /* run forever */\r
+        false, /* wait for shell to terminate */\r
+        NULL /* login check function, use NULL to disable a login check */\r
+    );  \r
+#endif    \r
+    \r
+    status = rtems_task_delete( RTEMS_SELF );
+    
+    exit( 0 );
 }