From 1f780ef25b148f65522c4830ef476e6f22f59523 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Mon, 4 Aug 2025 16:29:14 +0800 Subject: [PATCH] temp code --- dc_outputs.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 5 deletions(-) diff --git a/dc_outputs.cpp b/dc_outputs.cpp index 3f68c9a..4adb94c 100644 --- a/dc_outputs.cpp +++ b/dc_outputs.cpp @@ -34,7 +34,7 @@ void DC_Outputs::Init(){ std::shared_ptr ptr = std::dynamic_pointer_cast(base_ptr); std::shared_ptr variable_base = ptr->GetChannelPtr(current_index + 1); if (variable_base == nullptr) { - qDebug() << "[Acceleration::Init] no channel ptr"; + qDebug() << "[DC_Outputs::Init] no channel ptr"; return; } if(variable_base->dc_output[0].output_channel == 1){ @@ -42,6 +42,21 @@ void DC_Outputs::Init(){ ui->label_ch_1_min->setText(QString::number(variable_base->dc_output[0].minmum)); ui->label_ch_1_max->setText(QString::number(variable_base->dc_output[0].maxmum)); } + if(variable_base->dc_output[0].output_channel == 2){ + ui->label_ch_2->setText("通道2"); + ui->label_ch_2_min->setText(QString::number(variable_base->dc_output[1].minmum)); + ui->label_ch_2_max->setText(QString::number(variable_base->dc_output[1].maxmum)); + } + if(variable_base->dc_output[0].output_channel == 3){ + ui->label_ch_3->setText("通道3"); + ui->label_ch_3_min->setText(QString::number(variable_base->dc_output[2].minmum)); + ui->label_ch_3_max->setText(QString::number(variable_base->dc_output[2].maxmum)); + } + if(variable_base->dc_output[0].output_channel == 4){ + ui->label_ch_4->setText("通道4"); + ui->label_ch_4_min->setText(QString::number(variable_base->dc_output[3].minmum)); + ui->label_ch_4_max->setText(QString::number(variable_base->dc_output[3].maxmum)); + } } void DC_Outputs::on_comboBox_ch_output_activated(int index) @@ -55,12 +70,63 @@ void DC_Outputs::on_comboBox_ch_output_activated(int index) void DC_Outputs::output_channel_data(int channel,float minmun,float maxmum){ qDebug() << channel << minmun << maxmum ; if(channel == 1){ - + ui->label_ch_1->setText("通道1"); + ui->label_ch_1_min->setText(QString::number(minmun)); + ui->label_ch_1_max->setText(QString::number(maxmum)); }else if(channel == 2){ - + ui->label_ch_2->setText("通道2"); + ui->label_ch_2_min->setText(QString::number(minmun)); + ui->label_ch_2_max->setText(QString::number(maxmum)); }else if(channel == 3){ - + ui->label_ch_3->setText("通道3"); + ui->label_ch_3_min->setText(QString::number(minmun)); + ui->label_ch_3_max->setText(QString::number(maxmum)); }else if(channel == 4){ - + ui->label_ch_4->setText("通道4"); + ui->label_ch_4_min->setText(QString::number(minmun)); + ui->label_ch_4_max->setText(QString::number(maxmum)); } } + +void DC_Outputs::on_pushButton_confirm_clicked() +{ + std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(slot_no); + if (base_ptr == nullptr) { + qCritical() << "[Acceleration::Init] should not be here"; + return; + } + std::shared_ptr ptr = std::dynamic_pointer_cast(base_ptr); + std::shared_ptr variable_base = ptr->GetChannelPtr(current_index); + if (variable_base == nullptr ) { + return ; + } + if(ui->label_ch_1->text() != "未使用"){ + variable_base->dc_output[0].output_channel = 1; + variable_base->dc_output[0].minmum = ui->label_ch_1_min->text().toFloat(); + variable_base->dc_output[0].maxmum = ui->label_ch_1_max->text().toFloat(); + } + if(ui->label_ch_2->text() != "未使用"){ + variable_base->dc_output[1].output_channel = 2; + variable_base->dc_output[1].minmum = ui->label_ch_2_min->text().toFloat(); + variable_base->dc_output[1].maxmum = ui->label_ch_2_max->text().toFloat(); + } + if(ui->label_ch_3->text() != "未使用"){ + variable_base->dc_output[2].output_channel = 3; + variable_base->dc_output[2].minmum = ui->label_ch_3_min->text().toFloat(); + variable_base->dc_output[2].maxmum = ui->label_ch_3_max->text().toFloat(); + } + if(ui->label_ch_4->text() != "未使用"){ + variable_base->dc_output[3].output_channel = 4; + variable_base->dc_output[3].minmum = ui->label_ch_4_min->text().toFloat(); + variable_base->dc_output[3].maxmum = ui->label_ch_4_max->text().toFloat(); + } + ptr->variables_.push_back(variable_base); + this->close(); +} + + +void DC_Outputs::on_pushButton_cancel_clicked() +{ + this->close(); +} +