Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
serialBuffer.cpp
- Committer:
- UHSLMarcus
- Date:
- 2017-03-08
- Revision:
- 6:ca024bcee813
- Parent:
- 1:985b6f1c7347
- Child:
- 8:93d1469f3f6d
File content as of revision 6:ca024bcee813:
#include "serialBuffer.h" utils::SerialBuffer::SerialBuffer(PinName tx, PinName rx) : RawSerial(tx, rx), rx_buffer(255) { RawSerial::attach(callback(this, &utils::SerialBuffer::rx_interrupt), Serial::RxIrq); return; } utils::SerialBuffer::~SerialBuffer() { RawSerial::attach(NULL, RawSerial::RxIrq); return; } int utils::SerialBuffer::readable() { return rx_buffer.count() > 0; } char utils::SerialBuffer::getc() { RawSerial::attach(NULL, RawSerial::RxIrq); char nextChar = rx_buffer.pop(); RawSerial::attach(callback(this, &utils::SerialBuffer::rx_interrupt), Serial::RxIrq); return nextChar; } void utils::SerialBuffer::rx_interrupt(void) { if(serial_readable(&_serial) && !rx_buffer.full()) { rx_buffer.push(serial_getc(&_serial)); } return; }