14 #include <QCloseEvent>
18 #include <QGraphicsDropShadowEffect>
21 #include <QSerialPortInfo>
22 #include <QSignalMapper>
25 #include "ui_mainwindow.h"
33 ui->serialStatus->setAlignment(Qt::AlignCenter);
34 ui->statusbar->addPermanentWidget(
ui->serialStatus, 1);
58 ui->lineEditAccelerationValueL->setText(QString(
"0.00"));
59 ui->lineEditSpeedValueL->setText(QString(
"0.00"));
60 ui->lineEditGSpeedValueL->setText(QString(
"0.00"));
62 ui->lineEditAccelerationValueR->setText(QString(
"0.00"));
63 ui->lineEditSpeedValueR->setText(QString(
"0.00"));
64 ui->lineEditGSpeedValueR->setText(QString(
"0.00"));
104 ui->menuConnect->clear();
107 QList<QSerialPortInfo> devices;
108 devices = QSerialPortInfo::availablePorts();
110 QSignalMapper* mapper =
new QSignalMapper;
113 for(
int i = 0; i < devices.count(); i++)
115 addMessageToLogs(
"Znalazłem urządzenie: " + devices.at(i).portName() +
" " + devices.at(i).description());
116 QAction* deviceName =
new QAction(QString(devices.at(i).portName() +
"\t" + devices.at(i).description()),
this);
117 QObject::connect(deviceName, SIGNAL(triggered()), mapper, SLOT(map()));
118 mapper->setMapping(deviceName, deviceName->text());
119 ui->menuConnect->addAction(deviceName);
125 QString portName = actionName.split(
"\t").first();
162 ui->statusbar->showMessage(message, 100);
167 QString currentDate = QDateTime::currentDateTime().toString(
"yyyy.MM.dd");
168 QString currentTime = QDateTime::currentDateTime().toString(
"hh:mm:ss");
169 ui->textEditLogs->append(currentDate +
" | " + currentTime +
" | " + message);
174 QGraphicsDropShadowEffect* shadow =
new QGraphicsDropShadowEffect();
175 shadow->setBlurRadius(radius);
176 shadow->setOffset(xOffset, yOffset);
177 group->setGraphicsEffect(shadow);
182 ui->lineEditSpeedValueL->setText(message);
187 ui->lineEditGSpeedValueL->setText(message);
192 ui->lineEditAccelerationValueL->setText(message);
197 ui->lineEditSpeedValueR->setText(message);
202 ui->lineEditGSpeedValueR->setText(message);
207 ui->lineEditAccelerationValueR->setText(message);
212 ui->progressBarBattery->setValue(message);
const FrameBuffer & getFrameBuffer() const
Get unmodifiable frame buffer.
FrameBuffer & useFrameBuffer()
Get modifiable frame buffer.
bool closeSerialPort()
Close serial port.
void setDeviceName(const std::string &name)
Set serial device name.
void setStatus(QLabel *statusBar)
Set status of port openning on status bar.
void endCommunication()
End communicaiton with serial device.
bool isOpen()
Check wether serial poet is open.
bool isFrame() const
Check if list contain any frame.
bool getFrame(std::string &frame)
Get one frame from the top of the list.
void info(const QString &info)
Signal to be emmited to add information to logs.
void error(const QString &error)
Signal to be emmited when some error occured when running thread.
void movePos(const QPoint &coordinates)
Change knop coordinates.
void showErrorMessage(const QString &message)
Show error message as status bar message.
void closeEvent(QCloseEvent *event) override
Reimplemented to savely close reading thread.
void on_actionDisconnect_triggered()
Disconnect from serial device.
FrameThread * _frameThread
Serial communication thread handle.
void on_actionClose_triggered()
Close application.
Communication * _communication
Communication handle.
Ui::MainWindow * ui
Pointer to all ui widgets.
void addValueGSpeedL(const QString &message)
addValueSetSpeedL
void addValueSpeedR(const QString &message)
addValueVelocityR
void addMessageToLogs(const QString &message)
Add message to log widget.
void addValueSpeedL(const QString &message)
addValueVelocityL
MainWindow(QWidget *parent=nullptr)
Constrict a new MainWindow object.
void addValueBaterry(const int message)
addValueBaterry
void addDropShadow(QGroupBox *group, int xOffset, int yOffset, int radius)
addDropShadow
void serialTimeout()
Slot to handle serial timeout which signals to update data from serial.
void addValueAccelerationR(const QString &message)
addValueAccelR
QTimer _serialTimer
Serial communication timer to get new frames.
void on_actionSearch_triggered()
Search serial devices.
~MainWindow()
Delete MainWindow object.
void connectSerialDevice(const QString &actionName)
Connect to serial device.
void addValueAccelerationL(const QString &message)
addValueAccelL
void addValueGSpeedR(const QString &message)
addValueSetSpeedR
void changedRightMotorAcceleration(const QString &accelerationValue)
Signal emitted when parsed data of right motor acceleration is ready.
void changedLidar(const std::map< float, int > lidarData)
Signal emitted when parsed data of lidar is ready.
void changedLeftMotorGSpeed(const QString &speedValue)
Signal emitted when parsed data of left motor given speed is ready.
void changedBattery(int battery)
Signal emitted when parsed data of battery voltage is ready.
void processData()
processData
bool parseFrame(const std::string &frame)
Parse line from serial port into managed variables.
void changedRightMotorSpeed(const QString &speedValue)
Signal emitted when parsed data of right motor speed is ready.
void changedLeftMotorSpeed(const QString &speedValue)
Signal emitted when parsed data of left motor speed is ready.
void changedJoystick(const QPoint &coordinates)
Signal emitted when parsed data of joystick swing is ready.
void changedRightMotorGSpeed(const QString &speedValue)
Signal emitted when parsed data of right motor given speed is ready.
void changedLeftMotorAcceleration(const QString &accelerationValue)
Signal emitted when parsed data of left motor acceleration is ready.
Header file for MainWindow class.