MODSERIAL with support for more devices

Fork of MODSERIAL by Erik -

Revision:
18:21ef26402365
Parent:
12:8c7394e2ae7f
Child:
27:9c93ce7cb9d8
--- a/ISR_RX.cpp	Tue Mar 08 01:42:25 2011 +0000
+++ b/ISR_RX.cpp	Thu Apr 21 09:20:41 2011 +0000
@@ -29,7 +29,7 @@
 MODSERIAL::isr_rx(void)
 {
     if (! _base || buffer_size[RxIrq] == 0 || buffer[RxIrq] == (char *)NULL) {
-        _isr[RxIrq].call(); 
+        _isr[RxIrq].call(&this->callbackInfo); 
         return;
     } 
     
@@ -37,9 +37,9 @@
         rxc = (char)(_RBR & 0xFF); 
         if ( MODSERIAL_RX_BUFFER_FULL ) {
             buffer_overflow[RxIrq] = rxc; // Oh dear, no room in buffer.
-            _isr[RxOvIrq].call();
-         }
-         else {
+            _isr[RxOvIrq].call(&this->callbackInfo);
+        }
+        else {
             if (buffer[RxIrq] != (char *)NULL) {
                 buffer[RxIrq][buffer_in[RxIrq]] = rxc;
                 buffer_count[RxIrq]++; 
@@ -48,10 +48,10 @@
                     buffer_in[RxIrq] = 0;
                 }
             }  
-            _isr[RxIrq].call(); 
+            _isr[RxIrq].call(&this->callbackInfo); 
         }
         if (auto_detect_char == rxc) {
-            _isr[RxAutoDetect].call();
+            _isr[RxAutoDetect].call(&this->callbackInfo);
         }
     }    
 }