V6.7.5_beta
This commit is contained in:
+97
-31
@@ -110,7 +110,7 @@ void PrintSetting::on_pushButtonApply_pressed(){
|
||||
PrintSettingModel::setDefPrintSettingModel(m_model);
|
||||
QMessageBox::information(nullptr, tr("提示"), tr("默认设置已保存"));
|
||||
} else {
|
||||
applyPrintSettingsToSysPara(true);
|
||||
// applyPrintSettingsToSysPara(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,21 +157,8 @@ void PrintSetting::updateModelFromUI(){
|
||||
m_model.outputPulseDelayMs = ui->spinBoxOutputPulseDelayMs->value();
|
||||
m_model.OuputPulseCol = ui->spinBoxOuputPulseCol->value();
|
||||
|
||||
unsigned int value = 0;
|
||||
if (ui->cb_unlimited->isChecked())
|
||||
value = (m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER || m_model.triggerMode == PRINT_TRIGGER_TIME) ? UINT32_MAX : UINT16_MAX;
|
||||
else
|
||||
value = ui->spinBoxEleEyeTriggerRepeatCnt->value();
|
||||
|
||||
m_model.eleEyeRepeatCnt = value;
|
||||
|
||||
// if (m_model.triggerMode == PRINT_TRIGGER_ELEC_EYE_VOLTATE_LEVEL
|
||||
// || m_model.triggerMode == PRINT_TRIGGER_ELEC_EYE_EDGE
|
||||
// || m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER) {
|
||||
// ui->labelOutputPulseDelayMs->setText(tr("延时(毫米):"));
|
||||
// } else {
|
||||
// ui->labelOutputPulseDelayMs->setText(tr("延时(毫秒):"));
|
||||
// }
|
||||
m_model.unlimitedRepeat = ui->cb_unlimited->isChecked();
|
||||
m_model.eleEyeRepeatCnt = ui->spinBoxEleEyeTriggerRepeatCnt->value();
|
||||
}
|
||||
|
||||
void PrintSetting::bindSysPara(SysPara *sysPara)
|
||||
@@ -224,12 +211,8 @@ void PrintSetting::TriggerupdateModelToUI()
|
||||
ui->spinBoxEleEyeTriggerIntervalMs->setValue(m_model.triggerInterval);
|
||||
ui->spinBoxOutputPulseDelayMs->setValue(m_model.outputPulseDelayMs);
|
||||
|
||||
if(m_model.eleEyeRepeatCnt > INT32_MAX){
|
||||
ui->cb_unlimited->setChecked(true);
|
||||
}
|
||||
else {
|
||||
ui->spinBoxEleEyeTriggerRepeatCnt->setValue(m_model.eleEyeRepeatCnt);
|
||||
}
|
||||
ui->cb_unlimited->setChecked(m_model.unlimitedRepeat);
|
||||
ui->spinBoxEleEyeTriggerRepeatCnt->setValue(m_model.eleEyeRepeatCnt);
|
||||
|
||||
ui->spinBoxSynTriggerPrintLen->setText(QString::number(m_model.triggerInterval));
|
||||
ui->lineEditTriggerPulsePerMm->setText(QString::number((double)m_model.encoderPulsePerMm));
|
||||
@@ -592,12 +575,14 @@ void PrintSetting::setEnableEleEyeSetting(bool flag){
|
||||
ui->labelEleEyeTriggerIntervalMs->setEnabled(!(ui->radioButtonSynTriggerExternal->isChecked() && ui->eleEyeEdgetTriggerInner->isChecked()));
|
||||
// ui->spinBoxEleEyeTriggerIntervalMs->setEnabled(!(ui->radioButtonSynTriggerExternal->isChecked() && ui->eleEyeEdgetTriggerInner->isChecked()));
|
||||
ui->spinBoxEleMaskTime->setEnabled(flag);
|
||||
ui->spinBoxEleEyeTriggerRepeatCnt->setEnabled(true);
|
||||
ui->spinBoxEleEyeTriggerRepeatCnt->setEnabled(flag);
|
||||
ui->radioButtonEleEyeEdgetTrigger->setEnabled(flag);
|
||||
ui->radioButtonEleEyeLevelTrigger->setEnabled(flag);
|
||||
ui->cb_unlimited->setEnabled(true);
|
||||
|
||||
ui->spinBoxEleEyeTriggerPrintDelay->setEnabled(flag);
|
||||
if (!flag) ui->cb_unlimited->setChecked(false);
|
||||
|
||||
ui->cb_unlimited->setEnabled(true);
|
||||
ui->cb_unlimited->setChecked(!flag);
|
||||
}
|
||||
|
||||
void PrintSetting::on_eleEyeEdgetTriggerExternal_clicked()
|
||||
@@ -638,7 +623,7 @@ void PrintSetting::applyPrintSettingsToSysPara(bool showTip)
|
||||
int res = sysPara->devOp->writeFpgaPrintPara(!showTip);
|
||||
|
||||
sysPara->devOp->writeSyncAndDelayPrintCount(
|
||||
m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER || m_model.triggerMode == PRINT_TRIGGER_TIME,
|
||||
(m_model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER || m_model.triggerMode == PRINT_TRIGGER_TIME) && m_model.unlimitedRepeat,
|
||||
m_model.eleEyeRepeatCnt);
|
||||
|
||||
sysPara->devOp->setHighVoltageAmplitudetoSTM32();
|
||||
@@ -661,6 +646,7 @@ void PrintSetting::applyPrintSettingsToSysPara(bool showTip)
|
||||
|
||||
PrintSettingModel PrintSetting::model() const
|
||||
{
|
||||
updateModelFromUI();
|
||||
return m_model;
|
||||
}
|
||||
|
||||
@@ -732,9 +718,18 @@ void PrintSetting::on_cb_unlimited_clicked(bool checked)
|
||||
|
||||
void PrintSettingModel::loadFromXml(PrintSettingModel& model, const QXmlStreamAttributes& attrs)
|
||||
{
|
||||
auto readIntAttrOrDefault = [&attrs](const char* name, int defaultValue) -> int {
|
||||
return attrs.hasAttribute(name) ? attrs.value(name).toInt() : defaultValue;
|
||||
};
|
||||
|
||||
auto readBoolAttrOrDefault = [&attrs](const char* name, bool defaultValue) -> bool {
|
||||
return attrs.hasAttribute(name) ? (attrs.value(name).toInt() != 0) : defaultValue;
|
||||
};
|
||||
|
||||
model.timeTriggerPrintMode = attrs.value("timeTriggerPrintMode").toInt();
|
||||
model.triggerInterval = attrs.value("triggerInterval").toUInt();
|
||||
model.eleEyeRepeatCnt = attrs.value("eleEyeRepeatCnt").toUInt();
|
||||
model.unlimitedRepeat = attrs.value("unlimitedRepeat").toInt() != 0;
|
||||
model.triggerMode = attrs.value("triggerMode").toUInt();
|
||||
model.encoderPulsePerMm = attrs.value("encoderPulsePerMm").toFloat();
|
||||
model.printColDelay = attrs.value("printColDelay").toUInt();
|
||||
@@ -754,6 +749,22 @@ void PrintSettingModel::loadFromXml(PrintSettingModel& model, const QXmlStreamAt
|
||||
model.leftRightInverse = attrs.value("leftRightInverse").toInt() != 0;
|
||||
model.upDownInverse = attrs.value("upDownInverse").toInt() != 0;
|
||||
model.eleEyeTriggerSynPrintEn = attrs.value("eleEyeTriggerSynPrintEn").toInt() != 0;
|
||||
|
||||
model.cnt1Settings.startValue = readIntAttrOrDefault("cnt1StartValue", model.cnt1Settings.startValue);
|
||||
model.cnt1Settings.endValue = readIntAttrOrDefault("cnt1EndValue", model.cnt1Settings.endValue);
|
||||
model.cnt1Settings.repeatValue = readIntAttrOrDefault("cnt1RepeatValue", model.cnt1Settings.repeatValue);
|
||||
model.cnt1Settings.stepValue = readIntAttrOrDefault("cnt1StepValue", model.cnt1Settings.stepValue);
|
||||
model.cnt1Settings.currValue = readIntAttrOrDefault("cnt1CurrValue", model.cnt1Settings.currValue);
|
||||
model.cnt1Settings.editCurrValue = readBoolAttrOrDefault("cnt1EditCurrValue", model.cnt1Settings.editCurrValue);
|
||||
model.cnt1Settings.eleEyeIncEn = readBoolAttrOrDefault("cnt1EleEyeIncEn", model.cnt1Settings.eleEyeIncEn);
|
||||
|
||||
model.cnt2Settings.startValue = readIntAttrOrDefault("cnt2StartValue", model.cnt2Settings.startValue);
|
||||
model.cnt2Settings.endValue = readIntAttrOrDefault("cnt2EndValue", model.cnt2Settings.endValue);
|
||||
model.cnt2Settings.repeatValue = readIntAttrOrDefault("cnt2RepeatValue", model.cnt2Settings.repeatValue);
|
||||
model.cnt2Settings.stepValue = readIntAttrOrDefault("cnt2StepValue", model.cnt2Settings.stepValue);
|
||||
model.cnt2Settings.currValue = readIntAttrOrDefault("cnt2CurrValue", model.cnt2Settings.currValue);
|
||||
model.cnt2Settings.editCurrValue = readBoolAttrOrDefault("cnt2EditCurrValue", model.cnt2Settings.editCurrValue);
|
||||
model.cnt2Settings.eleEyeIncEn = readBoolAttrOrDefault("cnt2EleEyeIncEn", model.cnt2Settings.eleEyeIncEn);
|
||||
}
|
||||
|
||||
void PrintSettingModel::saveToXml(const PrintSettingModel& model, QXmlStreamWriter& writer)
|
||||
@@ -761,6 +772,7 @@ void PrintSettingModel::saveToXml(const PrintSettingModel& model, QXmlStreamWrit
|
||||
writer.writeAttribute("timeTriggerPrintMode", QString::number(model.timeTriggerPrintMode));
|
||||
writer.writeAttribute("triggerInterval", QString::number(model.triggerInterval));
|
||||
writer.writeAttribute("eleEyeRepeatCnt", QString::number(model.eleEyeRepeatCnt));
|
||||
writer.writeAttribute("unlimitedRepeat", QString::number(model.unlimitedRepeat));
|
||||
writer.writeAttribute("triggerMode", QString::number(model.triggerMode));
|
||||
writer.writeAttribute("encoderPulsePerMm", QString::number((double)model.encoderPulsePerMm));
|
||||
writer.writeAttribute("printColDelay", QString::number(model.printColDelay));
|
||||
@@ -780,6 +792,22 @@ void PrintSettingModel::saveToXml(const PrintSettingModel& model, QXmlStreamWrit
|
||||
writer.writeAttribute("leftRightInverse", QString::number(model.leftRightInverse));
|
||||
writer.writeAttribute("upDownInverse", QString::number(model.upDownInverse));
|
||||
writer.writeAttribute("eleEyeTriggerSynPrintEn", QString::number(model.eleEyeTriggerSynPrintEn));
|
||||
|
||||
writer.writeAttribute("cnt1StartValue", QString::number(model.cnt1Settings.startValue));
|
||||
writer.writeAttribute("cnt1EndValue", QString::number(model.cnt1Settings.endValue));
|
||||
writer.writeAttribute("cnt1RepeatValue", QString::number(model.cnt1Settings.repeatValue));
|
||||
writer.writeAttribute("cnt1StepValue", QString::number(model.cnt1Settings.stepValue));
|
||||
writer.writeAttribute("cnt1CurrValue", QString::number(model.cnt1Settings.currValue));
|
||||
writer.writeAttribute("cnt1EditCurrValue", QString::number(model.cnt1Settings.editCurrValue));
|
||||
writer.writeAttribute("cnt1EleEyeIncEn", QString::number(model.cnt1Settings.eleEyeIncEn));
|
||||
|
||||
writer.writeAttribute("cnt2StartValue", QString::number(model.cnt2Settings.startValue));
|
||||
writer.writeAttribute("cnt2EndValue", QString::number(model.cnt2Settings.endValue));
|
||||
writer.writeAttribute("cnt2RepeatValue", QString::number(model.cnt2Settings.repeatValue));
|
||||
writer.writeAttribute("cnt2StepValue", QString::number(model.cnt2Settings.stepValue));
|
||||
writer.writeAttribute("cnt2CurrValue", QString::number(model.cnt2Settings.currValue));
|
||||
writer.writeAttribute("cnt2EditCurrValue", QString::number(model.cnt2Settings.editCurrValue));
|
||||
writer.writeAttribute("cnt2EleEyeIncEn", QString::number(model.cnt2Settings.eleEyeIncEn));
|
||||
}
|
||||
|
||||
void PrintSettingModel::applyToSysPara(const PrintSettingModel &model, SysPara *sysPara)
|
||||
@@ -799,7 +827,11 @@ void PrintSettingModel::applyToSysPara(const PrintSettingModel &model, SysPara *
|
||||
|
||||
sysPara->para.timeTriggerPrintMode = model.timeTriggerPrintMode;
|
||||
sysPara->para.elecEyeTriggerInterval = model.triggerInterval;
|
||||
sysPara->para.photoElectricityRepeateNum = model.eleEyeRepeatCnt;
|
||||
|
||||
sysPara->para.photoElectricityRepeateNum = (model.unlimitedRepeat &&
|
||||
(model.triggerMode == PRINT_TRIGGER_ELEC_EYE_VOLTATE_LEVEL || model.triggerMode == PRINT_TRIGGER_ELEC_EYE_EDGE)) ?
|
||||
UINT16_MAX : model.eleEyeRepeatCnt;
|
||||
|
||||
sysPara->para.synTriggerPrintLenMm = (float)model.triggerInterval;
|
||||
sysPara->para.synPulseNumPerMm = model.encoderPulsePerMm;
|
||||
sysPara->para.sysTriggerPrintMode = SYN_PRINT_MODE_ACCORDING_CHAR_WIDTH;
|
||||
@@ -840,6 +872,25 @@ void PrintSettingModel::applyToSysPara(const PrintSettingModel &model, SysPara *
|
||||
&& !(isEyeMode && model.eleEyeTriggerSynPrintEn);
|
||||
|
||||
sysPara->para.synTriggerExternal = !sysPara->para.synTriggerInner;
|
||||
|
||||
sysPara->para.enbSyncAndTimeTriggerLimit = !model.unlimitedRepeat &&
|
||||
(model.triggerMode == PRINT_TRIGGER_TIME || model.triggerMode == PRINT_TRIGGER_SYNCHRONIZER);
|
||||
|
||||
sysPara->para.syncAndTimeTriggerLimit = sysPara->para.enbSyncAndTimeTriggerLimit ? model.eleEyeRepeatCnt : 0;
|
||||
|
||||
sysPara->para.cnt1EndValue = model.cnt1Settings.endValue;
|
||||
sysPara->para.cnt1StartValue = model.cnt1Settings.startValue;
|
||||
sysPara->para.cnt1StepValue = model.cnt1Settings.stepValue;
|
||||
sysPara->para.cnt1RepeateValue = model.cnt1Settings.repeatValue;
|
||||
sysPara->para.cnt1CurrValue = model.cnt1Settings.currValue;
|
||||
sysPara->status.cnt1CurrentValueInitDoneFlag = model.cnt1Settings.editCurrValue;
|
||||
|
||||
sysPara->para.cnt2EndValue = model.cnt2Settings.endValue;
|
||||
sysPara->para.cnt2StartValue = model.cnt2Settings.startValue;
|
||||
sysPara->para.cnt2StepValue = model.cnt2Settings.stepValue;
|
||||
sysPara->para.cnt2RepeateValue = model.cnt2Settings.repeatValue;
|
||||
sysPara->para.cnt2CurrValue = model.cnt2Settings.currValue;
|
||||
sysPara->status.cnt2CurrentValueInitDoneFlag = model.cnt2Settings.editCurrValue;
|
||||
}
|
||||
|
||||
PrintSettingModel PrintSettingModel::fromSysPara(SysPara *sysPara)
|
||||
@@ -891,6 +942,20 @@ PrintSettingModel PrintSettingModel::fromSysPara(SysPara *sysPara)
|
||||
model.OuputPulseCol = sysPara->para.OuputPulseCol;
|
||||
model.pulse_sinal_value = sysPara->para.pulse_sinal_value;
|
||||
|
||||
model.cnt1Settings.startValue = sysPara->para.cnt1StartValue;
|
||||
model.cnt1Settings.endValue = sysPara->para.cnt1EndValue;
|
||||
model.cnt1Settings.repeatValue = sysPara->para.cnt1RepeateValue;
|
||||
model.cnt1Settings.stepValue = sysPara->para.cnt1StepValue;
|
||||
model.cnt1Settings.currValue = sysPara->para.cnt1CurrValue;
|
||||
model.cnt1Settings.editCurrValue = sysPara->status.cnt1CurrentValueInitDoneFlag;
|
||||
|
||||
model.cnt2Settings.startValue = sysPara->para.cnt2StartValue;
|
||||
model.cnt2Settings.endValue = sysPara->para.cnt2EndValue;
|
||||
model.cnt2Settings.repeatValue = sysPara->para.cnt2RepeateValue;
|
||||
model.cnt2Settings.stepValue = sysPara->para.cnt2StepValue;
|
||||
model.cnt2Settings.currValue = sysPara->para.cnt2CurrValue;
|
||||
model.cnt2Settings.editCurrValue = sysPara->status.cnt2CurrentValueInitDoneFlag;
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
@@ -898,10 +963,10 @@ QString PrintSettingModel::toString(const PrintSettingModel &model)
|
||||
{
|
||||
QString str = QString::asprintf("LRInverse: %d, UpDownInverse: %d, printColDelay: %d, \r\n"
|
||||
"highVoltageAmplitude: %d, volParaIndex: %d, triggerMode: %d, eleEyeTriggerSynPrintEn: %d, \r\n"
|
||||
"eleMaskTime: %d, triggerInterval: %d, timeTriggerPrintMode: %d, eleEyeRepeatCnt: %d, \r\n"
|
||||
"eleEyeTriggerPrintDelay: %d, encoderPulsePerMm: %d, altMirrorType: %d, altMirrorGap: %d. \r\n",
|
||||
"eleMaskTime: %d, triggerInterval: %d, timeTriggerPrintMode: %d, eleEyeRepeatCnt: %d, unlimitedRepeat: %d, \r\n"
|
||||
"eleEyeTriggerPrintDelay: %d, encoderPulsePerMm: %.3f, altMirrorType: %d, altMirrorGap: %d. \r\n",
|
||||
model.leftRightInverse, model.upDownInverse, model.printColDelay, model.highVoltageAmplitude, model.volParaIndex, model.triggerMode,
|
||||
model.eleEyeTriggerSynPrintEn, model.eleMaskTime, model.triggerInterval, model.timeTriggerPrintMode, model.eleEyeRepeatCnt,
|
||||
model.eleEyeTriggerSynPrintEn, model.eleMaskTime, model.triggerInterval, model.timeTriggerPrintMode, model.eleEyeRepeatCnt, model.unlimitedRepeat,
|
||||
model.eleEyeTriggerPrintDelay, model.encoderPulsePerMm, model.altMirrorType, model.altMirrorGap);
|
||||
return str;
|
||||
}
|
||||
@@ -933,10 +998,11 @@ void PrintSettingModel::setDefPrintSettingModel(const PrintSettingModel &model)
|
||||
}
|
||||
|
||||
QXmlStreamWriter writer(&file);
|
||||
PrintSettingModel normalizedModel = model;
|
||||
writer.setAutoFormatting(true);
|
||||
writer.writeStartDocument();
|
||||
writer.writeEmptyElement("PrintSettings");
|
||||
saveToXml(model, writer);
|
||||
saveToXml(normalizedModel, writer);
|
||||
writer.writeEndDocument();
|
||||
|
||||
file.close();
|
||||
|
||||
Reference in New Issue
Block a user