[Interest] Parsing data from serialport

Martin Marmsoler martin.marmsoler at gmail.com
Sun Mar 31 21:48:30 CEST 2019


I'm trying to implement a serial connection with QIODevice (SerialPort). I
would like to parse line by line (each line consists of multiple columns of
data) and for this I found canReadLine().
But as I understand I have to use startTransaction, because otherwise the
buffer will not be used. I'm I correct?

bool QIODevice::canReadLine() const
    Q_D(const QIODevice);
    return d->buffer.indexOf('\n', d->buffer.size(),
                             d->isSequential() ? d->transactionPos :
Q_INT64_C(0)) >= 0;

So to read a full line, I have to open a QSerialPort and then start a
Transaction. Then I have to wait a little bit (till data is in the buffer)
and then I can use canReadLine. Am I correct? Is there a better way instead
to wait a little bit? Or is it the wrong way to go?

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20190331/1c74127d/attachment.html>

More information about the Interest mailing list