Disable menu timeout.
[bertos.git] / drv / ser.h
index 1f611646bfbc3b581f268afc7309bdf9b2d7991f..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.
+ *#*
+ *#* Revision 1.20  2005/01/22 04:20:01  bernie
+ *#* Reformat.
+ *#*
+ *#* Revision 1.19  2005/01/11 18:08:16  aleph
+ *#* Add missing include
+ *#*
  *#* Revision 1.18  2004/12/08 08:57:17  bernie
  *#* Rename time_t to mtime_t.
  *#*
 #define DRV_SER_H
 
 #include <mware/fifobuf.h>
-#include <compiler.h>
-#include <config.h>
+#include <cfg/compiler.h>
+#include <cfg/macros.h> /* BV() */
+#include <cfg/os.h>
+#include <appconfig.h>
 
 /*! \name Serial Error/status flags. */
 /*\{*/
 
        /*
         * Hardware errors.
-         * These flags map directly to the AVR UART Status Register (USR).
+        * These flags map directly to the AVR UART Status Register (USR).
         */
        #define SERRF_RXSROVERRUN    BV(3)  /*!< Rx shift register overrun */
        #define SERRF_FRAMEERROR     BV(4)  /*!< Stop bit missing */
        #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. */
-/*\{*/
-#define SERRF_RX  (SERRF_RXFIFOOVERRUN \
+/** Mask to group all RX errors. */
+#define SERRF_RX \
+       ( SERRF_RXFIFOOVERRUN \
        | SERRF_RXTIMEOUT \
        | SERRF_RXSROVERRUN \
        | SERRF_PARITYERROR \
        | SERRF_FRAMEERROR \
        | SERRF_NOISEERROR)
+
+/** Mask to group all TX errors. */
 #define SERRF_TX  (SERRF_TXTIMEOUT)
-/*\}*/
 
 
 /*!
@@ -164,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
@@ -183,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;
@@ -215,7 +246,7 @@ struct Serial
 
        /*! Low-level interface to hardware. */
        struct SerialHardware* hw;
-};
+} Serial;
 
 
 /* Function prototypes */