Changeset - 0a2afa6ed583
[Not reviewed]
default
0 2 0
Hasan Yavuz Ă–ZDERYA - 10 years ago 2015-04-04 11:30:23
hy@ozderya.net
implemented port data bits selection
2 files changed with 24 insertions and 0 deletions:
0 comments (0 inline, 0 general)
mainwindow.cpp
Show inline comments
 
@@ -65,6 +65,16 @@ MainWindow::MainWindow(QWidget *parent) 
 
                     SELECT<int>::OVERLOAD_OF(&QButtonGroup::buttonClicked),
 
                     this, &MainWindow::selectParity);
 

	
 
    // setup data bits selection buttons
 
    dataBitsButtons.addButton(ui->rb8Bits, (int) QSerialPort::Data8);
 
    dataBitsButtons.addButton(ui->rb7Bits, (int) QSerialPort::Data7);
 
    dataBitsButtons.addButton(ui->rb6Bits, (int) QSerialPort::Data6);
 
    dataBitsButtons.addButton(ui->rb5Bits, (int) QSerialPort::Data5);
 

	
 
    QObject::connect(&dataBitsButtons,
 
                     SELECT<int>::OVERLOAD_OF(&QButtonGroup::buttonClicked),
 
                     this, &MainWindow::selectDataBits);
 

	
 
    // init port signals
 
    QObject::connect(&(this->serialPort), SIGNAL(error(QSerialPort::SerialPortError)),
 
                     this, SLOT(onPortError(QSerialPort::SerialPortError)));
 
@@ -222,6 +232,18 @@ void MainWindow::selectParity(int parity
 
    }
 
}
 

	
 
void MainWindow::selectDataBits(int dataBits)
 
{
 
    qDebug() << dataBits;
 
    if (serialPort.isOpen())
 
    {
 
        if(!serialPort.setDataBits((QSerialPort::DataBits) dataBits))
 
        {
 
            qDebug() << "Set data bits failed: " << serialPort.error();
 
        }
 
    }
 
}
 

	
 
void MainWindow::onPortToggled(bool open)
 
{
 
    ui->pbOpenPort->setChecked(open);
mainwindow.h
Show inline comments
 
@@ -35,6 +35,7 @@ private:
 
    Ui::MainWindow *ui;
 
    QButtonGroup numberFormatButtons;
 
    QButtonGroup parityButtons;
 
    QButtonGroup dataBitsButtons;
 

	
 
    QSerialPort serialPort;
 

	
 
@@ -59,6 +60,7 @@ private slots:
 
    void onPortToggled(bool open);
 
    void selectBaudRate(QString baudRate);
 
    void selectParity(int parity); // parity must be one of QSerialPort::Parity
 
    void selectDataBits(int dataBits); // bits must be one of QSerialPort::DataBits
 

	
 
    void onDataReady();
 
    void onPortError(QSerialPort::SerialPortError error);
0 comments (0 inline, 0 general)