diff src/cs/services/tty/tty_task.c @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cs/services/tty/tty_task.c	Fri Oct 16 06:23:26 2020 +0000
@@ -0,0 +1,97 @@
+/**
+ * @file   tty_task.c
+ *
+ * Coding of the main TTY function : tty_core
+ * This function loop in the process message function for waiting messages.
+ *
+ * @author	Frederic Turgis (f-turgis@ti.com) & Gerard Cauvy (g-cauvy@ti.com)
+ * @version 0.1
+ */
+
+/*
+ * History:
+ *
+ * 	Date       	Modification
+ *  ------------------------------------
+ *  01/27/2003	Create
+ *
+ * (C) Copyright 2003 by Texas Instruments Incorporated, All Rights Reserved
+ */
+
+#ifndef _WINDOWS
+  #include "config/l1sw.cfg"
+#endif
+
+#include "tty/tty_env.h"
+#include "tty/tty_i.h"
+
+#include "rv/rv_general.h"
+#include "rvf/rvf_api.h"
+#include "rvm/rvm_use_id_list.h"
+
+#if (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
+  #ifndef _WINDOWS
+    #include "config/sys.cfg"
+    #include "config/chipset.cfg"
+  #endif
+  #include "l1_types.h"
+  #include "l1_confg.h"
+  #include "l1_trace.h"
+#endif
+
+#if (L1_GTT == 1)
+  /* External prototype. */
+  extern void l1gtt_initialize(void);
+  extern void l1gtt_exit(void);
+  extern void l1gtt_main_processing(void);
+  extern void l1gtt_init_trace(void);
+#else
+  /* Dummy functions */
+  void l1gtt_initialize(void) {}
+  void l1gtt_exit(void) {}
+  void l1gtt_main_processing(void) {}
+  void l1gtt_init_trace(void) {}
+#endif
+
+
+/**
+ * @name Functions implementation
+ *
+ */
+/*@{*/
+
+/**
+ * function: tty_core
+ */
+T_RV_RET tty_core(void)
+{
+  BOOLEAN error_occured = FALSE;
+  T_RV_HDR* msg_p;
+  UINT16 received_event;
+
+  TTY_SEND_TRACE("TTY TASK Started", RV_TRACE_LEVEL_DEBUG_HIGH );
+
+  l1gtt_init_trace();
+
+  /* loop to process messages */
+  while (error_occured == FALSE)
+  {
+    /* Wait for the necessary events. */
+    received_event = rvf_wait ( 0xffff,0);
+
+    if (received_event & TTY_INIT_EVENT_MASK)
+    {
+      l1gtt_initialize();
+    }
+    else if (received_event & TTY_EXIT_EVENT_MASK)
+    {
+      l1gtt_exit();
+    }
+    else if (received_event & TTY_DATA_EVENT_MASK)
+    {
+      l1gtt_main_processing();
+    }
+  }
+
+  return RV_OK;
+}