diff --git a/BrainATUMtome/mainwindow.cpp b/BrainATUMtome/mainwindow.cpp index b535d35..4586e8a 100644 --- a/BrainATUMtome/mainwindow.cpp +++ b/BrainATUMtome/mainwindow.cpp @@ -9,7 +9,10 @@ MainWindow::MainWindow(QWidget *parent) : m_driverSyringe(nullptr), m_thread_driverEpos(nullptr), m_thread_driverMicrotome(nullptr), - m_thread_driverSyringe(nullptr) + m_thread_driverSyringe(nullptr), + m_epos_motors(0), + m_epos_velocity(1000) + { ui->setupUi(this); @@ -207,15 +210,66 @@ MainWindow::~MainWindow() void MainWindow::configure_controlEpos() { - connect(ui->pushButton_epos_lower_cw, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_upper_cw->setChecked(true);}); - connect(ui->pushButton_epos_lower_ccw, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_upper_ccw->setChecked(true);}); - connect(ui->pushButton_epos_lower_off, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_upper_off->setChecked(true);}); - connect(ui->lineEdit_epos_lower_rpm, &QLineEdit::returnPressed, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->lineEdit_epos_upper_rpm->setText(ui->lineEdit_epos_lower_rpm->text());}); + QButtonGroup *buttonGroup_epos_off = new QButtonGroup(this); + buttonGroup_epos_off->addButton(ui->radioButton_epos_lower_off); + buttonGroup_epos_off->addButton(ui->radioButton_epos_upper_off); + buttonGroup_epos_off->addButton(ui->radioButton_epos_tension_off); + + //connect(ui->checkBox_epos_sync, &QCheckBox::clicked, buttonGroup_epos_off, &QButtonGroup::buttonClicked); + connect(buttonGroup_epos_off, qOverload(&QButtonGroup::buttonClicked), this, &MainWindow::on_radioButton_epos_clicked); + + /* + connect(ui->radioButton_epos_lower_off, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_upper_off, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_tension_off, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_lower_cw, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_upper_cw, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_tension_on, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_lower_ccw, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + connect(ui->radioButton_epos_upper_ccw, &QRadioButton::clicked, this, &MainWindow::on_radioButton_epos_clicked); + */ + + /* + connect(ui->radioButton_epos_lower_cw, &QRadioButton::clicked, + [this]() + { + if (ui->checkBox_epos_sync->isChecked()) + { + ui->radioButton_epos_upper_cw->setChecked(true); + ui->radioButton_epos_tension_on->setChecked(true); + } + }); + + connect(ui->radioButton_epos_lower_off, &QRadioButton::clicked, + [this]() + { + if (ui->checkBox_epos_sync->isChecked()) + { + ui->radioButton_epos_upper_off->setChecked(true); + + } + }); + + connect(ui->radioButton_epos_upper_cw, &QRadioButton::clicked, [this](){if (ui->checkBox_epos_sync->isChecked()) ui->radioButton_epos_lower_cw->setChecked(true);}); + connect(ui->radioButton_epos_upper_off, &QRadioButton::clicked, [this](){if (ui->checkBox_epos_sync->isChecked()) ui->radioButton_epos_lower_off->setChecked(true);}); + + connect(ui->lineEdit_epos_lower_rpm, &QLineEdit::returnPressed, [this](){if (ui->checkBox_epos_sync->isChecked()) ui->lineEdit_epos_upper_rpm->setText(ui->lineEdit_epos_lower_rpm->text());}); + connect(ui->lineEdit_epos_upper_rpm, &QLineEdit::returnPressed, [this](){if (ui->checkBox_epos_sync->isChecked()) ui->lineEdit_epos_lower_rpm->setText(ui->lineEdit_epos_upper_rpm->text());}); + + connect(ui->checkBox_epos_sync, &QCheckBox::clicked, + [this](bool state) + { + ui->radioButton_epos_lower_ccw->setEnabled(!state); + ui->radioButton_epos_upper_ccw->setEnabled(!state); + if (state) + { + ui->radioButton_epos_lower_off->setChecked(true); + ui->radioButton_epos_upper_off->setChecked(true); + ui->radioButton_epos_tension_off->setChecked(true); + } + }); + */ - connect(ui->pushButton_epos_upper_cw, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_lower_cw->setChecked(true);}); - connect(ui->pushButton_epos_upper_ccw, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_lower_ccw->setChecked(true);}); - connect(ui->pushButton_epos_upper_off, &QPushButton::clicked, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->pushButton_epos_lower_off->setChecked(true);}); - connect(ui->lineEdit_epos_upper_rpm, &QLineEdit::returnPressed, [this](){if (ui->pushButton_epos_sync_on->isChecked()) ui->lineEdit_epos_lower_rpm->setText(ui->lineEdit_epos_upper_rpm->text());}); } @@ -301,7 +355,8 @@ void MainWindow::on_lineEdit_dep_velocity_returnPressed() } -void MainWindow::on_error_throw(const QString &errorSource, const QString &errorMessage) + +void MainWindow::on_radioButton_epos_clicked() { - qDebug() << errorSource << "::Error, " << errorMessage; + } diff --git a/BrainATUMtome/mainwindow.h b/BrainATUMtome/mainwindow.h index 4162327..248766e 100644 --- a/BrainATUMtome/mainwindow.h +++ b/BrainATUMtome/mainwindow.h @@ -47,12 +47,15 @@ class MainWindow : public QMainWindow void configure_controlEpos(); + qint8 m_epos_motors; + qint16 m_epos_velocity; + private slots: - void on_error_throw(const QString &errorSource, const QString &errorMessage); void on_pushButton_dep_run_clicked(); void on_pushButton_mtm_cut_clicked(); void on_lineEdit_dep_velocity_returnPressed(); + void on_radioButton_epos_clicked(int id); signals: void uirequest_mtm_setCuttingSpeed(quint32 value); diff --git a/BrainATUMtome/mainwindow.ui b/BrainATUMtome/mainwindow.ui index 1206cc7..cf77804 100644 --- a/BrainATUMtome/mainwindow.ui +++ b/BrainATUMtome/mainwindow.ui @@ -40,73 +40,46 @@ EPOS - - - + + + - Lower + Upper - + - + CW - - true - - - true - - - true - - + CCW - - true - - - true - - - true - - + OFF - - true - true - - true - - - true - - + 1000 - + [rpm] @@ -115,72 +88,45 @@ - - + + - Upper + Lower - + - + CW - - true - - - true - - - true - - + CCW - - true - - - true - - - true - - + OFF - - true - true - - true - - - true - - + 1000 - + [rpm] @@ -196,88 +142,30 @@ - + ON - - true - - - true - - - true - - + OFF - - true - true - - true - - - true - - - - Sync + + + SYNC - - - - - false - - - ON - - - true - - - true - - - true - - - - - - - OFF - - - true - - - true - - - true - - - true - - - -