First commit

This commit is contained in:
2026-08-25 10:37:57 +08:00
commit b3b8a40f77
1601 changed files with 275999 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
#include "PulseNumFix.h"
#include "ui_pulsenumfix.h"
#include <QValidator>
#include <QDoubleValidator>
#include <QMessageBox>
PulseNumFix::PulseNumFix(QWidget *parent) :
QDialog(parent),
ui(new Ui::PulseNumFix)
{
ui->setupUi(this);
this->setWindowTitle(tr("脉冲数修正"));
setUIEnableStatus();
connect(this,SIGNAL(accepted()),this,SLOT(onButtonBoxAccepted()));
ui->lineEditRate->setValidator(new QDoubleValidator(0));
ui->lineEditActualSynLength->setValidator(new QDoubleValidator(0));
ui->lineEditLength->setValidator(new QDoubleValidator(0));
ui->lineEditPulseNum->setValidator(new QDoubleValidator(0));
ui->lineEditDiameter->setValidator(new QDoubleValidator(0));
ui->lineEditPulsePerCycle->setValidator(new QDoubleValidator(0));
this->setFixedSize(this->geometry().width(),this->geometry().height());
}
PulseNumFix::~PulseNumFix()
{
delete ui;
}
void PulseNumFix::setUIEnableStatus(){
ui->lineEditRate->setEnabled(ui->radioButtonAccordingRate->isChecked());
ui->labelRate->setEnabled(ui->radioButtonAccordingRate->isChecked());
ui->lineEditActualSynLength->setEnabled(ui->radioButtonAccordingLength->isChecked());
ui->labelActualSynLength->setEnabled(ui->radioButtonAccordingLength->isChecked());
ui->lineEditLength->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
ui->labelLength->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
ui->lineEditPulseNum->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
ui->labelPulseNum->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
ui->lineEditDiameter->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
ui->labelDiameter->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
ui->lineEditPulsePerCycle->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
ui->labelPulsePerCycle->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
}
void PulseNumFix::onButtonBoxAccepted()
{
float pulseNumPerMM = 0;
if(sysPara){
if(ui->radioButtonAccordingRate->isChecked()){
float rate = ui->lineEditRate->text().toFloat();
if(rate != 0){
pulseNumPerMM = sysPara->status.synPulseCntPer1s/rate;
}
else {
QMessageBox::critical(0,tr("错误"),tr("速度不应该为0"));
}
}
else if(ui->radioButtonAccordingLength->isChecked()){
float length = ui->lineEditActualSynLength->text().toFloat();
if(length != 0){
pulseNumPerMM = sysPara->para.synPulseNumPerMm * sysPara->para.synTriggerPrintLenMm / length;
}
else {
QMessageBox::critical(0,tr("错误"),tr("实际同步长度不应该为0"));
}
}
else if(ui->radioButtonAccordingPulseNum->isChecked()){
float length = ui->lineEditLength->text().toFloat();
float pulse = ui->lineEditPulseNum->text().toFloat();
if(length != 0){
pulseNumPerMM = pulse/length;
}
else {
QMessageBox::critical(0,tr("错误"),tr("长度不应该为0"));
}
}
else if(ui->radioButtonSynchonizerPara->isChecked()){
float circle = ui->lineEditDiameter->text().toFloat() * 3.1415926;
float pulseNum = ui->lineEditPulsePerCycle->text().toFloat();
if(circle != 0){
pulseNumPerMM = 4*pulseNum/circle; //电路和Fpga做了4倍频处理,这里乘以4是为了匹配4倍频的处理进行正确的显示
}else {
QMessageBox::critical(0,tr("错误"),tr("直径不应该为0"));
}
}
if(pulseNumPerMM != 0){
emit pulseNuxFixDone(pulseNumPerMM);
}
}
}
void PulseNumFix::on_radioButtonAccordingRate_released()
{
setUIEnableStatus();
}
void PulseNumFix::on_radioButtonAccordingLength_released()
{
setUIEnableStatus();
}
void PulseNumFix::on_radioButtonAccordingPulseNum_released()
{
setUIEnableStatus();
}
void PulseNumFix::on_radioButtonSynchonizerPara_released()
{
setUIEnableStatus();
}