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.
Diff: source/AsyncSerial.cpp
- Revision:
- 5:aecd37846dcc
- Parent:
- 4:e0a0eef4ca18
- Child:
- 6:9d48f2197243
--- a/source/AsyncSerial.cpp Wed Apr 01 15:26:57 2015 +0100
+++ b/source/AsyncSerial.cpp Wed Apr 01 16:28:02 2015 +0000
@@ -80,7 +80,7 @@
if (receiveIndex == receiveMaxLength)
{
timeout.detach();
- getDone();
+ getDone(AsyncSerial::RECEIVE_FULL);
}
}
@@ -93,7 +93,7 @@
if (conditionIndex == conditionEndLength)
{
timeout.detach();
- getDone();
+ getDone(AsyncSerial::RECEIVE_FOUND);
}
}
else
@@ -124,18 +124,18 @@
}
}
-void AsyncSerial::getDone()
+void AsyncSerial::getDone(uint8_t status)
{
isReceiving = false;
if (receiveDoneHandler)
{
- receiveDoneHandler(receiveBuffer, receiveIndex);
+ receiveDoneHandler(receiveBuffer, receiveIndex, status);
receiveDoneHandler = NULL;
}
else if (receiveObject)
{
- receiveDoneObject(receiveObject, receiveMember, receiveBuffer, receiveIndex);
+ receiveDoneObject(receiveObject, receiveMember, receiveBuffer, receiveIndex, status);
receiveObject = NULL;
}
}
@@ -204,10 +204,15 @@
insideCondition = true;
}
- timeout.attach_us<AsyncSerial>(this, &AsyncSerial::getDone, timeoutMilli * 1000);
+ timeout.attach_us<AsyncSerial>(this, &AsyncSerial::receiveTimeout, timeoutMilli * 1000);
isReceiving = true;
}
+void AsyncSerial::receiveTimeout()
+{
+ getDone(AsyncSerial::RECEIVE_TIMEOUT);
+}
+
int AsyncSerial::getc()
{
return SerialBase::_base_getc();

