From faffd3695fdea7a5ffbc4f35b4bf83ee438d1d06 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Thu, 8 Jan 2026 10:48:25 +0800 Subject: [PATCH] fix ch1 & 2 config bugs --- acceleration.ui | 2 +- config_mgr.cpp | 13 ++++++++----- data_config.h | 2 +- mainwindow.cpp | 7 +++++++ pressure_pulsation.ui | 2 +- radial_vibration.ui | 2 +- seismic_monitor.cpp | 22 ++++++++++++---------- seismic_monitor.ui | 18 +++++++++++++++--- velocity.ui | 2 +- 9 files changed, 47 insertions(+), 23 deletions(-) diff --git a/acceleration.ui b/acceleration.ui index 0f627bf..ef712f0 100644 --- a/acceleration.ui +++ b/acceleration.ui @@ -107,7 +107,7 @@ - 0 + 1 diff --git a/config_mgr.cpp b/config_mgr.cpp index dfab0ef..843ca48 100644 --- a/config_mgr.cpp +++ b/config_mgr.cpp @@ -65,7 +65,7 @@ int ConfigMgr::Save(QString & file_path) { ptr->base_config_[cid].channel_type == kVib34){ channel_item["function"] = ptr->base_config_[cid].function; if(ptr->base_config_[cid].function == kRST){ - channel_item["fisrt_channel_angle"] = ptr->base_config_[cid].fisrt_channel_angle; + channel_item["first_channel_angle"] = ptr->base_config_[cid].first_channel_angle; channel_item["second_channel_angle"] = ptr->base_config_[cid].second_channel_angle; }else if(ptr->base_config_[cid].function == kDMF){ channel_item["dmf_function"] = ptr->base_config_[cid].dmf_function; @@ -449,7 +449,10 @@ int ConfigMgr::Save(QString & file_path) { processed_output["alarm"] = alarm; variables["processed_output"] = processed_output; } - channel_item["variable"] = variables; + if(ptr->base_config_[cid].channel_type != kVib12 && + ptr->base_config_[cid].channel_type != kVib34){ + channel_item["variable"] = variables; + } } else if (card_type_[i] == kCardSpeedSingle || card_type_[i] == kCardSpeedTMRPrimary) { std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot); if (base_ptr == nullptr || cid > 3) { @@ -592,8 +595,8 @@ int ConfigMgr::Save(QString & file_path) { file.open(QIODevice::WriteOnly); int ret = file.write(jsonDoc.toJson()); file.close(); - if(ret != 0){ - return -1; + if(ret == -1){ + return ret; }else{ return 0; } @@ -676,7 +679,7 @@ void ConfigMgr::Load(QString filename) { vib_data->base_config_[j].channel_type == kVib34){ vib_data->base_config_[j].function = channel["function"].toInt(); if(vib_data->base_config_[j].function == kRST){ - vib_data->base_config_[j].fisrt_channel_angle = channel["fisrt_channel_angle"].toDouble(); + vib_data->base_config_[j].first_channel_angle = channel["first_channel_angle"].toDouble(); vib_data->base_config_[j].second_channel_angle = channel["second_channel_angle"].toDouble(); }else if(vib_data->base_config_[j].function == kDMF){ vib_data->base_config_[j].dmf_function = channel["dmf_function"].toInt(); diff --git a/data_config.h b/data_config.h index 4901f99..e798db2 100644 --- a/data_config.h +++ b/data_config.h @@ -284,7 +284,7 @@ typedef struct SeismicMonitor_{ int sensitivity_unit; float signal_sensitivity; int function; - float fisrt_channel_angle; + float first_channel_angle; float second_channel_angle; int dmf_function; SeismicMonitor_(){ diff --git a/mainwindow.cpp b/mainwindow.cpp index c09c62b..3916ba8 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -645,13 +645,19 @@ void MainWindow::on_pushButton_save_clicked() { file_name = filepath + "\\"+file_name +".json"; int ret = ConfigMgr::Instance()->Save(file_name); if(ret != 0){ + qDebug() << "ret1" << ret ; QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("文件保存失败!请检查文件权限!")); + }else{ + QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("文件保存成功!")); } tsi_config_file = file_name; }else { int ret = ConfigMgr::Instance()->Save(tsi_config_file); if(ret != 0){ + qDebug() << "ret2" << ret ; QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("文件保存失败!请检查文件权限!")); + }else{ + QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("文件保存成功!")); } } @@ -686,6 +692,7 @@ void MainWindow::on_pushButton_open_clicked() { } } ConfigMgr::Instance()->Load(tsi_config_file); + file.close(); for (int i = 0; i < buttonList.count(); i++) { std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(i + 1); if(base_ptr != nullptr){ diff --git a/pressure_pulsation.ui b/pressure_pulsation.ui index b3901f9..f93c70c 100644 --- a/pressure_pulsation.ui +++ b/pressure_pulsation.ui @@ -98,7 +98,7 @@ - 0 + 1 diff --git a/radial_vibration.ui b/radial_vibration.ui index 8d246b5..84e7692 100644 --- a/radial_vibration.ui +++ b/radial_vibration.ui @@ -98,7 +98,7 @@ - 0 + 1 diff --git a/seismic_monitor.cpp b/seismic_monitor.cpp index bb92f47..f2d2e9b 100644 --- a/seismic_monitor.cpp +++ b/seismic_monitor.cpp @@ -147,15 +147,16 @@ void Seismic_monitor::Init() { ui->label_text_2->setVisible(true); ui->comboBox_dual_math_function->setVisible(false); ui->label_text_5->setVisible(false); - ui->lineEdit_first_1->setText(QString::number(vib_data->base_config_[i].fisrt_channel_angle)); + ui->lineEdit_first_1->setText(QString::number(vib_data->base_config_[i].first_channel_angle)); ui->lineEdit_second_1->setText(QString::number(vib_data->base_config_[i].second_channel_angle)); }else if(vib_data->base_config_[i].function == kDMF){ - ui->lineEdit_first_2->setVisible(false); - ui->lineEdit_second_2->setVisible(false); - ui->label_text_3->setVisible(false); - ui->label_text_4->setVisible(false); + ui->lineEdit_first_1->setVisible(false); + ui->lineEdit_second_1->setVisible(false); + ui->label_text_1->setVisible(false); + ui->label_text_2->setVisible(false); ui->comboBox_dual_math_function->setVisible(true); ui->label_text_5->setVisible(true); + ui->comboBox_dual_math_function->setCurrentIndex(vib_data->base_config_[i].dmf_function); } }else if (i + 1 == 6) { ui->comboBox_function_2->setCurrentIndex(vib_data->base_config_[i].function); @@ -166,7 +167,7 @@ void Seismic_monitor::Init() { ui->label_text_4->setVisible(true); ui->comboBox_dual_math_function_2->setVisible(false); ui->label_text_6->setVisible(false); - ui->lineEdit_first_2->setText(QString::number(vib_data->base_config_[i].fisrt_channel_angle)); + ui->lineEdit_first_2->setText(QString::number(vib_data->base_config_[i].first_channel_angle)); ui->lineEdit_second_2->setText(QString::number(vib_data->base_config_[i].second_channel_angle)); }else if(vib_data->base_config_[i].function == kDMF){ ui->lineEdit_first_2->setVisible(false); @@ -175,6 +176,7 @@ void Seismic_monitor::Init() { ui->label_text_4->setVisible(false); ui->comboBox_dual_math_function_2->setVisible(true); ui->label_text_6->setVisible(true); + ui->comboBox_dual_math_function_2->setCurrentIndex(vib_data->base_config_[i].dmf_function); } } } @@ -257,7 +259,7 @@ void Seismic_monitor::UpdateData(std::shared_ptr vib_data) { }else if (var + 1 == 5) { vib_data->base_config_[var].function = ui->comboBox_function_1->currentIndex(); if(ui->comboBox_function_1->currentIndex() == 3){ - vib_data->base_config_[var].fisrt_channel_angle = ui->lineEdit_first_1->text().toFloat(); + vib_data->base_config_[var].first_channel_angle = ui->lineEdit_first_1->text().toFloat(); vib_data->base_config_[var].second_channel_angle = ui->lineEdit_second_1->text().toFloat(); }else if(ui->comboBox_function_1->currentIndex() == 5){ vib_data->base_config_[var].dmf_function = ui->comboBox_dual_math_function->currentIndex(); @@ -266,10 +268,10 @@ void Seismic_monitor::UpdateData(std::shared_ptr vib_data) { }else if (var + 1 == 6) { vib_data->base_config_[var].function = ui->comboBox_function_2->currentIndex(); if(ui->comboBox_function_2->currentIndex() == 3){ - vib_data->base_config_[var].fisrt_channel_angle = ui->lineEdit_first_2->text().toFloat(); + vib_data->base_config_[var].first_channel_angle = ui->lineEdit_first_2->text().toFloat(); vib_data->base_config_[var].second_channel_angle = ui->lineEdit_second_2->text().toFloat(); - }else if(ui->comboBox_function_1->currentIndex() == 5){ - vib_data->base_config_[var].dmf_function = ui->comboBox_dual_math_function->currentIndex(); + }else if(ui->comboBox_function_2->currentIndex() == 5){ + vib_data->base_config_[var].dmf_function = ui->comboBox_dual_math_function_2->currentIndex(); } vib_data->base_config_[var].channel_type = kVib34; } diff --git a/seismic_monitor.ui b/seismic_monitor.ui index 18d6dbd..fb4410f 100644 --- a/seismic_monitor.ui +++ b/seismic_monitor.ui @@ -1242,6 +1242,9 @@ 16777215 + + 0 + @@ -1318,7 +1321,7 @@ - + 21 @@ -1342,6 +1345,9 @@ 16777215 + + 0 + @@ -2564,12 +2570,15 @@ 16777215 + + 0 + - 第二通道安装角度 + 第四通道安装角度 @@ -2599,12 +2608,15 @@ 16777215 + + 0 + - 第一通道安装角度 + 第三通道安装角度 diff --git a/velocity.ui b/velocity.ui index 9914ddd..2dfb882 100644 --- a/velocity.ui +++ b/velocity.ui @@ -98,7 +98,7 @@ - 0 + 1