MODSERIAL with support for more devices
Fork of MODSERIAL by
Diff: ISR_RX.cpp
- 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); } } }