Library Fork
Fork of MODSERIAL by
Diff: MODSERIAL.cpp
- Revision:
- 18:21ef26402365
- Parent:
- 9:b3cdae80e7a9
- Child:
- 23:5c45c21f36b7
diff -r 6c9b57c14868 -r 21ef26402365 MODSERIAL.cpp --- a/MODSERIAL.cpp Tue Mar 08 01:42:25 2011 +0000 +++ b/MODSERIAL.cpp Thu Apr 21 09:20:41 2011 +0000 @@ -105,5 +105,24 @@ } } +int +MODSERIAL::rxDiscardLastChar(void) +{ + // This function can only be called indirectly from + // an rxCallback function. Therefore, we know we + // just placed a char into the buffer. + char c = buffer[RxIrq][buffer_in[RxIrq]]; + + if (buffer_count[RxIrq]) { + buffer_count[RxIrq]--; + buffer_in[RxIrq]--; + if (buffer_in[RxIrq] < 0) { + buffer_in[RxIrq] = buffer_size[RxIrq] - 1; + } + } + + return (int)c; +} + }; // namespace AjK ends