-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserialio.cpp
59 lines (52 loc) · 1000 Bytes
/
serialio.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "serialio.h"
#include <QTextStream>
#include <QSerialPort>
#include <QDebug>
SerialIO::SerialIO(QObject *parent) :
QObject(parent)
{
}
QString SerialIO::portName(void)
{
return port.portName();
}
void SerialIO::setPortName(const QString & pname)
{
port.setPortName(pname);
port.setBaudRate(QSerialPort::Baud115200);
if (!port.open(QIODevice::ReadWrite)) {
qDebug() << "Cannot open port: " << pname;
return;
}
tstream.setDevice(&port);
}
int SerialIO::write(const QString & data)
{
if (port.handle() != -1) {
tstream << data;
tstream.flush();
}
return 0;
}
QString SerialIO::readLine(void)
{
QString str;
if (port.handle() == -1)
return QString();
else {
port.waitForReadyRead(1000);
return tstream.readLine();
}
return str;
}
QString SerialIO::readAll(void)
{
QString str;
if (port.handle() == -1)
return QString();
else {
port.waitForReadyRead(1000);
return tstream.readAll();
}
return str;
}