MODSERIAL with support for more devices

Dependents:   1D-Pong BMT-K9_encoder BMT-K9-Regelaar programma_filter ... more

Check the cookbook page for more information: https://mbed.org/cookbook/MODSERIAL

Did you add a device? Please send a pull request so we can keep everything in one library instead of many copies. In that case also send a PM, since currently mbed does not inform of new pull requests. I will then also add you to the developers of this library so you can do other changes directly.

Revision:
2:b936b4acbd92
Parent:
0:eb2522b41db8
Child:
27:9c93ce7cb9d8
--- a/FLUSH.cpp	Sun Nov 21 02:15:07 2010 +0000
+++ b/FLUSH.cpp	Sun Nov 21 03:31:51 2010 +0000
@@ -28,9 +28,6 @@
 void
 MODSERIAL::flushBuffer(IrqType type)
 {
-    volatile char c __attribute__((unused));
-    volatile uint32_t iir __attribute__((unused));
-    
     uint32_t ier = _IER;
     switch(type) {
         case TxIrq: _IER &= ~(1UL << 1); break;
@@ -40,9 +37,10 @@
     buffer_out[type]      = 0;
     buffer_count[type]    = 0;
     buffer_overflow[type] = 0;  
-    _FCR = MODSERIAL_FIFO_RX_RESET | MODSERIAL_FIFO_TX_RESET;
-    _FCR = MODSERIAL_FIFO_ENABLE;
-    iir = _IIR;
+    switch(type) {
+        case TxIrq: _FCR = MODSERIAL_FIFO_TX_RESET; break;
+        case RxIrq: _FCR = MODSERIAL_FIFO_RX_RESET; break;
+    }
     _IER = ier;
 }