]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/blobdiff - sw/app/rocon/appl_cmdproc.c
RoCoN: update code to build for simulated mode under Linux.
[fpga/lx-cpu1/lx-rocon.git] / sw / app / rocon / appl_cmdproc.c
index 5b1e445a79cefd870154cab044ffef14d4dd3947..0dc038df0e8030a7e6cfc66f718e8c2eb8f917fb 100644 (file)
@@ -12,6 +12,7 @@ typedef struct cmdproc_ready_check_state_t {
   cmd_io_t* peer_cmd_io;
 } cmdproc_ready_check_state_t;
 
+#ifndef APPL_WITH_SIM_POSIX
 extern cmd_io_t cmd_io_usbcon;
 extern cmd_io_t cmd_io_uartcon;
 
@@ -28,6 +29,18 @@ cmdproc_ready_check_state_t *const cmdproc_ready_check_state_arr[] = {
   &cmdproc_ready_check_state_usbcon,
   NULL
 };
+#else /*APPL_WITH_SIM_POSIX*/
+extern cmd_io_t cmd_io_std_line;
+
+cmdproc_ready_check_state_t cmdproc_ready_check_state_std_line = {
+  .peer_cmd_io = &cmd_io_std_line,
+};
+
+cmdproc_ready_check_state_t *const cmdproc_ready_check_state_arr[] = {
+  &cmdproc_ready_check_state_std_line,
+  NULL
+};
+#endif /*APPL_WITH_SIM_POSIX*/
 
 extern cmd_des_t const *cmd_pxmc_base[];
 extern cmd_des_t const *cmd_appl_tests[];
@@ -110,7 +123,9 @@ cmd_des_t const *cmd_list_main[] =
   &cmd_des_r_all,
   CMD_DES_INCLUDE_SUBLIST(cmd_pxmc_coordmv),
   CMD_DES_INCLUDE_SUBLIST(cmd_appl_specific),
+#ifndef APPL_WITH_SIM_POSIX
   &cmd_des_dprint,
+#endif /*APPL_WITH_SIM_POSIX*/
   NULL
 };
 
@@ -165,14 +180,15 @@ int cmdproc_poll(void)
 
   new_check_time = actual_msec;
   if (new_check_time != old_check_time) {
-     old_check_time = new_check_time;
+    cmdproc_ready_check_state_t * const *ppckst;
+    old_check_time = new_check_time;
     pxmc_process_state_check(&busy_bits, &error_bits);
-    ret |= cmdproc_process_ready(&cmd_io_uartcon,
-             &cmdproc_ready_check_state_uartcon, busy_bits, error_bits);
-    ret |= cmdproc_process_ready(&cmd_io_usbcon,
-             &cmdproc_ready_check_state_usbcon, busy_bits, error_bits);
+    for (ppckst = cmdproc_ready_check_state_arr; *ppckst; ppckst++)
+      ret |= cmdproc_process_ready((*ppckst)->peer_cmd_io, *ppckst,
+                                   busy_bits, error_bits);
   }
 
+ #ifndef APPL_WITH_SIM_POSIX
   ret |= cmd_processor_run(&cmd_io_uartcon, cmd_list_main);
   ret |= cmd_processor_run(&cmd_io_usbcon, cmd_list_main);
 
@@ -185,8 +201,9 @@ int cmdproc_poll(void)
        cmd_io = cmd_io->priv.ed_line.io_stack;
      run_dbg_prt(cmd_io);
   }
-
-
+ #else /*APPL_WITH_SIM_POSIX*/
+  ret |= cmd_processor_run(&cmd_io_std_line, cmd_list_main);
+ #endif /*APPL_WITH_SIM_POSIX*/
 
   return ret;
 }