]> 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 2398a87925c4d296e6efc673bd0a498bfa918aad..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 );
-}
-
-
+\r
+\r
+#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
 
 rtems_task Init(rtems_task_argument ignored){
@@ -68,48 +60,32 @@ rtems_task Init(rtems_task_argument ignored){
         "\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
+    /* 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
-    
-    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
-    rtems_shell_add_cmd("startNET", "app",\r
-                    "tries to start network adapter",\r
-                    start_net);\r
-    \r
-    rtems_shell_add_cmd("showNET", "app",\r
-                    "prints some diagnostic info from network adapter/driver",\r
-                    show_net);\r
-    \r
-    rtems_shell_add_cmd("start_load", "app",\r
-                    "starts loading threads",\r
-                    start_load);\r
-                    \r
-    rtems_shell_add_cmd("stop_load", "app",\r
-                    "stops loading threads",\r
-                    stop_load);\r
-    
     status = rtems_task_delete( RTEMS_SELF );
     
     exit( 0 );