15 _serial =
new QSerialPort(
this);
19 connect(
_serial,SIGNAL(errorOccurred(QSerialPort::SerialPortError)),
this,SLOT(
serialErrorHandler(QSerialPort::SerialPortError)));
31 _serial->setBaudRate(static_cast<QSerialPort::BaudRate>(
_serialSettings->value(
"serial/baudRate").toInt()));
32 _serial->setDataBits(static_cast<QSerialPort::DataBits>(
_serialSettings->value(
"serial/dataBits").toInt()));
34 _serial->setStopBits(static_cast<QSerialPort::StopBits>(
_serialSettings->value(
"serial/stopBits").toInt()));
35 _serial->setFlowControl(QSerialPort::NoFlowControl);
36 if (
_serial->open(QIODevice::ReadOnly)) {
58 QString messageBegin, messageEnd;
59 int16_t checkSumReaded, checkSumComputed;
62 QTextStream stream(s);
64 stream >> messageBegin;
65 while(messageBegin !=
"rr") {
66 stream >> messageBegin;
69 stream >> data.
X_XL >> data.
Y_XL >> data.
Z_XL >> data.
X_G >> data.
Y_G >> data.
Z_G >> data.
time >> checkSumReaded >> messageEnd;
70 if (stream.status() == QTextStream::Ok && messageEnd ==
"xx") {
72 if (checkSumComputed == checkSumReaded)
80 if (errorMessage == QSerialPort::ResourceError) {
void serialErrorHandler(QSerialPort::SerialPortError errorMessage)
Obsługuje błędy podczas transmisji.
int Y_XL
Wartość przyspieszenia na osi Y akcelerometru (mg)
int Z_G
Wartość prędkości kątowej na osi Z żyroskopu (mdps)
int Y_G
Wartość prędkości kątowej na osi Y żyroskopu (mdps)
QSettings * _serialSettings
Wskaźnik do ustawień portu szeregowego.
SerialPortReader(QObject *parent=nullptr)
Konstruktor klasy SerialPortReader.
~SerialPortReader()
Desktruktor klasy SerialPortReader.
int X_XL
Wartość przyspieszenia na osi X akcelerometru (mg)
void portOpened()
Sygnał poprawnego otwarcia portu.
int X_G
Wartość prędkości kątowej na osi X żyroskopu (mdps)
QSerialPort * _serial
Uchwyt do portu szeregowego.
void newData(rawData data)
Sygnał pojawienia się donych danych.
int time
Czas pomiędzy odczytami (ms)
void portClosed()
Sygnał zamknięcia portu.
bool _portOpened
Flaga otwarcia portu.
void readDataFromSerial()
Oczytuje dane z portu szeregowego.
Surowe dane otrzymane z kontrolera (płytki)
void portError(QString errorMessage)
Sygnał wystąpienia błędu podczas komunikacji z portem.
void closeSerialPort()
Zamyka port szeregowy.
void openSerialPort()
Otwiera port szeregowy.
Definicja klasy SerialPortReader.
int Z_XL
Wartość przyspieszenia na osi Z akcelerometru (mg)