Commit 3d2725ba authored by Beat Küng's avatar Beat Küng

gps read callback: avoid sleep, don't wait when data already available

parent 36abc43f
......@@ -141,10 +141,11 @@ int GPSProvider::callback(GPSCallbackType type, void *data1, int data2)
{
switch (type) {
case GPSCallbackType::readDeviceData: {
int timeout = *((int *) data1);
if (!_serial->waitForReadyRead(timeout))
return 0; //timeout
msleep(10); //give some more time to buffer data
if (_serial->bytesAvailable() == 0) {
int timeout = *((int *) data1);
if (!_serial->waitForReadyRead(timeout))
return 0; //timeout
}
return (int)_serial->read((char*) data1, data2);
}
case GPSCallbackType::writeDeviceData:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment