Disable menu timeout.
[bertos.git] / drv / ser.h
index 3b3edd5c980fd0b387c8890bae638d0b50fca732..a315562ab01a02fe30c600dd0fedbcf5f6ca3828 100755 (executable)
--- a/drv/ser.h
+++ b/drv/ser.h
@@ -3,7 +3,7 @@
  * <!--
  * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
  * Copyright 2000 Bernardo Innocenti <bernie@codewiz.org>
- * This file is part of DevLib - See devlib/README for information.
+ * This file is part of DevLib - See README.devlib for information.
  * -->
  *
  * \brief High level serial I/O API
 
 /*#*
  *#* $Log$
+ *#* Revision 1.26  2006/05/18 00:39:13  bernie
+ *#* Add struct Serial friendly typedef.
+ *#*
+ *#* Revision 1.25  2006/02/17 22:28:00  bernie
+ *#* Rename ser_emul.c to ser_posix.c.
+ *#*
+ *#* Revision 1.24  2006/02/17 22:23:06  bernie
+ *#* Update POSIX serial emulator.
+ *#*
+ *#* Revision 1.23  2005/11/27 23:33:40  bernie
+ *#* Use appconfig.h instead of cfg/config.h.
+ *#*
+ *#* Revision 1.22  2005/11/04 16:20:02  bernie
+ *#* Fix reference to README.devlib in header.
+ *#*
  *#* Revision 1.21  2005/04/11 19:10:27  bernie
  *#* Include top-level headers from cfg/ subdir.
  *#*
@@ -80,8 +95,9 @@
 
 #include <mware/fifobuf.h>
 #include <cfg/compiler.h>
-#include <cfg/config.h>
 #include <cfg/macros.h> /* BV() */
+#include <cfg/os.h>
+#include <appconfig.h>
 
 /*! \name Serial Error/status flags. */
 /*\{*/
        #define SERRF_FRAMEERROR     BV(9)  /*!< Stop bit missing */
        #define SERRF_NOISEERROR     BV(10) /*!< Noise error */
        #define SERRF_RXSROVERRUN    BV(11) /*!< Rx shift register overrun */
-#elif defined(_EMUL)
+#elif OS_HOSTED
        typedef uint16_t serstatus_t;
 
        /* Software errors */
        #define SERRF_RXTIMEOUT      BV(1)  /*!< Receive timeout */
        #define SERRF_TXTIMEOUT      BV(2)  /*!< Transmit timeout */
 
+       /* Hardware errors */
+       #define SERRF_RXSROVERRUN    0      /*!< Unsupported in emulated serial port. */
+       #define SERRF_FRAMEERROR     0      /*!< Unsupported in emulated serial port. */
+       #define SERRF_PARITYERROR    0      /*!< Unsupported in emulated serial port. */
+       #define SERRF_NOISEERROR     0      /*!< Unsupported in emulated serial port. */
+
 #else
        #error unknown architecture
 #endif
 /*\}*/
 
-/*! \name Masks to group TX/RX errors. */
-/*\{*/
+/** Mask to group all RX errors. */
 #define SERRF_RX \
        ( SERRF_RXFIFOOVERRUN \
        | SERRF_RXTIMEOUT \
        | SERRF_PARITYERROR \
        | SERRF_FRAMEERROR \
        | SERRF_NOISEERROR)
+
+/** Mask to group all TX errors. */
 #define SERRF_TX  (SERRF_TXTIMEOUT)
-/*\}*/
 
 
 /*!
@@ -175,11 +197,9 @@ enum
        SER_UART0,
        SER_PUNTALI,
        SER_BARCODE,
-#elif defined(_EMUL)
+#elif OS_HOSTED
        SER_UART0,
-       #if CONFIG_EMUL_UART1
-               SER_UART1,
-       #endif
+       SER_UART1,
 #else
        #error unknown architecture
 #endif
@@ -194,7 +214,7 @@ struct SerialHardware;
 extern const char * const serial_errors[8];
 
 /*! Serial handle structure */
-struct Serial
+typedef struct Serial
 {
        /*! Physical port number */
        unsigned int unit;
@@ -226,7 +246,7 @@ struct Serial
 
        /*! Low-level interface to hardware. */
        struct SerialHardware* hw;
-};
+} Serial;
 
 
 /* Function prototypes */