hlp:修改喷印间隔过短报警的判断逻辑
This commit is contained in:
@@ -2680,16 +2680,21 @@ int DevOp::writeFpgaPrintPara(bool ignoreWarn){
|
||||
{
|
||||
#define MIN_CHAR_WIDTH 0.1 //0.1mm/列
|
||||
#define MAX_CHAR_WIDTH 4.0 //4.0mm/列
|
||||
// 计算预览区域的总脉冲数 = 0.1+字宽*(4-0.1)/100*(当前列数+3(留白))*同步器脉冲数
|
||||
displayAreaTotalSynNum = (int )(
|
||||
(MIN_CHAR_WIDTH +sysPara->para.printColDelay*(MAX_CHAR_WIDTH - MIN_CHAR_WIDTH) /100)
|
||||
*currPrintCol*sysPara->para.synPulseNumPerMm
|
||||
);
|
||||
*currPrintCol*sysPara->para.synPulseNumPerMm);
|
||||
|
||||
// 增加判定条件,其实我觉得下面这个 contentLength 才是合理计算内容长度是否超过喷印间隔的方式
|
||||
float contentLength = sysPara->para.printColDelay / MAX(sysPara->para.synPulseNumPerMm, 0.000001) * sysPara->status.currPrintCol;
|
||||
if(!ignoreWarn && currPrintCol && contentLength > sysPara->para.synTriggerPrintLenMm){
|
||||
|
||||
// sysPara->para.synTriggerPrintLenMm:毫米脉冲数 之前干嘛拿实际长度contentLength跟毫米脉冲数比较???, 现在改为直接拿喷印间隔比较
|
||||
if(!ignoreWarn && sysPara->status.currPrintCol && (contentLength > sysPara->para.synTriggerPrintLenMm)){
|
||||
QMessageBox::warning(NULL,tr("警告"),tr("喷印间隔太短,无法满足同步打印宽度设置,字宽将自动缩短!"));
|
||||
LogInfo::setRunStatusText(QString("displayAreaTotalSynNum warn: L: %1, printColDelay: %2, PPM: %3, Cols: %4").arg(contentLength).arg(sysPara->para.printColDelay).
|
||||
arg(sysPara->para.synPulseNumPerMm).arg(sysPara->status.currPrintCol));
|
||||
LogInfo::setRunStatusText(QString("contentLength: %1, printColDelay: %2, PPM: %3, Cols: %4, synTriggerPrintLenMm: %5")
|
||||
.arg(contentLength).arg(sysPara->para.printColDelay)
|
||||
.arg(sysPara->para.synPulseNumPerMm).arg(sysPara->status.currPrintCol).arg(sysPara->para.synTriggerPrintLenMm));
|
||||
LogInfo::setRunStatusText(tr("needed lenth : %1").arg(contentLength+1));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user