The method SerialPortReader::_read_callback() is messy.
1. Why it is defined as "return QByteArray" if it really returns only one byte ?
2. If the data does not contain CRLF this method returns a random value if at all to compile.