Added warning if baudrate set failed

This commit is contained in:
NeoTheFox 2015-03-16 21:19:33 +03:00
parent 1162748acd
commit 16de411b2d
4 changed files with 13 additions and 19 deletions

View File

@ -130,6 +130,7 @@ MainWindow::MainWindow(QWidget *parent) :
connect(senderWorker, &Sender::dataRecieved, parserWorker, &Parser::parse, Qt::QueuedConnection);
connect(senderWorker, &Sender::dataRecieved, this, &MainWindow::readSerial, Qt::QueuedConnection);
connect(senderWorker, &Sender::reportProgress, this, &MainWindow::updateFileProgress);
connect(senderWorker, &Sender::baudrateSetFailed, this, &MainWindow::baudrateSetFailed);
connect(this, &MainWindow::setFile, senderWorker, &Sender::setFile);
connect(this, &MainWindow::startPrinting, senderWorker, &Sender::startPrinting);
connect(this, &MainWindow::stopPrinting, senderWorker, &Sender::stopPrinting);
@ -860,6 +861,14 @@ void MainWindow::updateFileProgress(FileProgress p)
ui->progressBar->setValue(((float)p.P/p.T) * 100);
}
void MainWindow::baudrateSetFailed(int b)
{
ErrorWindow errorwindow(this, QString("Baudrate set failed:\n" +
QString::number(b) +
" baud"));
errorwindow.show();
}
//Needed for keypress handling
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{

View File

@ -98,6 +98,7 @@ private slots:
void parseFile(QString filename);
void recentClicked();
void updateFileProgress(FileProgress);
void baudrateSetFailed(int b);
void xplus();
void yplus();

View File

@ -122,25 +122,8 @@ void Sender::openPort(QSerialPortInfo i)
{
//Moved here to be compatible with Qt 5.2.1
switch(baudrate)
{
case 4800:
printer->setBaudRate(QSerialPort::Baud4800);
break;
case 9600:
printer->setBaudRate(QSerialPort::Baud9600);
break;
case 115200:
printer->setBaudRate(QSerialPort::Baud115200);
break;
default:
printer->setBaudRate(baudrate);
break;
}
if(!printer->setBaudRate(baudrate))
emit baudrateSetFailed(baudrate);
printer->setFlowControl(QSerialPort::HardwareControl);
}
}

View File

@ -42,6 +42,7 @@ signals:
void errorRecieved(QSerialPort::SerialPortError error);
void dataRecieved(QByteArray data);
void reportProgress(FileProgress p);
void baudrateSetFailed(int b);
public slots:
void openPort(QSerialPortInfo i);