MODSERIAL with support for more devices. Added support for LPC4330

Dependents:   HC05_AT_mode GPS_U-blox_NEO-6M_Test_Code GPS_U-blox_NEO-6M_Code UbloxGPSWithThread ... more

Fork of MODSERIAL by Erik -

Revision:
2:b936b4acbd92
Parent:
1:b7e435fbfe8e
Child:
3:0f10f536456e
--- a/MODSERIAL.h	Sun Nov 21 02:15:07 2010 +0000
+++ b/MODSERIAL.h	Sun Nov 21 03:31:51 2010 +0000
@@ -134,6 +134,19 @@
         , BufferOversize = -2   /*!< Oversized buffer. */
     };
     
+    //! DMA channels.
+    enum dmaChannel {
+          NotInUse = -1     /*!< DMA not in use */
+        , Channel0 = 0      /*!< Channel 0 */
+        , Channel1          /*!< Channel 1 */
+        , Channel2          /*!< Channel 2 */
+        , Channel3          /*!< Channel 3 */
+        , Channel4          /*!< Channel 4 */
+        , Channel5          /*!< Channel 5 */
+        , Channel6          /*!< Channel 6 */
+        , Channel7          /*!< Channel 7 */
+    };
+    
     /**
      * The MODSERIAL constructor is used to initialise the serial object.
      *
@@ -549,7 +562,7 @@
      * @ingroup API
      * @return bool
      */
-    bool txIsBusy(void) { return (_LSR & (3UL << 5) == 0) ? true : false; } 
+    bool txIsBusy(void);
     
     #if 0 // Inhereted from Serial/Stream, for documentation only
     /**
@@ -650,6 +663,12 @@
     volatile int   buffer_overflow[2];
     
     /**
+     * DMA channel in use.
+     * @ingroup INTERNALS
+     */
+    volatile int dmaInUse[2];
+    
+    /**
      * Callback system.
      * @ingroup INTERNALS
      */
@@ -706,13 +725,7 @@
      * Overloaded virtual function.
      */
     virtual int _getc()      { return __getc(true); }
-    
-    /**
-     * Set's the Uart base pointer.
-     * @ingroup INTERNALS
-     */
-    void setBase(void);
-    
+        
     /** 
      * Function: init
      * Initialize the MODSERIAL object