修复因场景模式修改为绝对坐标引起的打印补全、蜂鸣器报警改为常响、添加相位故障关闭回收槽功能、取消翻转上下颠倒,与莱宾格行为同步、修改场景模式默认字体为7点、取消变量占位图设计
This commit is contained in:
+22
-86
@@ -993,25 +993,6 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
sysPara->devOp->highVoltageCtrl(1);
|
||||
sysPara->devOp->setHighVoltageAmplitudetoSTM32();
|
||||
sysPara->status.waitHightVolOff = 0;
|
||||
// if(!printintFlag)setRunStatus(tr("正在加高压..."));
|
||||
// 复位计数器
|
||||
if(sysPara->status.FileChangeRestCntFlag){
|
||||
if(sysPara->para.ResetAllProductCntEn)
|
||||
{
|
||||
sysPara->devOp->clearProductCnt(3 | 0x10); // [3]总产品计数器清零FPGA
|
||||
sysPara->para.totalProductCnt=0;
|
||||
}
|
||||
else if(sysPara->para.ResetProductCntEn)
|
||||
{
|
||||
sysPara->devOp->clearProductCnt(3);
|
||||
}
|
||||
sysPara->status.FileChangeRestCntFlag=0;
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
|
||||
// onPreviewScene 没有必要再次调用,评估后删除 byons@2026年7月28日
|
||||
if(sysPara->para.EditMode == SCENE)
|
||||
onPreviewScene();
|
||||
|
||||
if(sysPara->status.currPrintCol > (MaxCol4000?MAX_PRINT_COL_NUM_Normal:MAX_PRINT_COL_NUM_Wide)){
|
||||
QMessageBox::critical(0,tr("错误"),tr("当前总列数 %1 ,支持的总列数为 %2,请减少打印串的长度").arg(sysPara->status.currPrintCol).arg((MaxCol4000?MAX_PRINT_COL_NUM_Normal:MAX_PRINT_COL_NUM_Wide)));
|
||||
@@ -1025,7 +1006,7 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
{
|
||||
int dotNumPerCol = sysPara->status.currPrintRow*(1 + sysPara->para.printRowDelay) + sysPara->para.printColDelay;
|
||||
long printTmUs = 1.0f*dotNumPerCol*(1 + sysPara->para.charBold)*sysPara->status.currPrintCol*(2*sysPara->para.divideRatio)/(FPGA_SYS_HZ/1000000);
|
||||
if((printTmUs/1000 + 3) > (sysPara->para.printDelayMs)
|
||||
if((printTmUs/1000 + 3) > (sysPara->para.printDelayMs)\
|
||||
&& (sysPara->para.timeTriggerPrintMode == TIME_TRIGGER_PRINT_MODE_HEAD_TO_HEAD)
|
||||
&& (sysPara->para.printTriggerMode == PRINT_TRIGGER_TIME )
|
||||
) // 在电眼方式下,是否需要判呢?
|
||||
@@ -1127,7 +1108,7 @@ void MainWidget::SendPrintDataToFpga(unsigned char alterEnable, bool isUpdate)
|
||||
}
|
||||
|
||||
sysPara->devOp->fpgaWr(0,blankDat1,sizeof(blankDat1));//...所加的空白偏移地址
|
||||
// 交替打印处理
|
||||
|
||||
unsigned char *dat;
|
||||
size_t sizeofdat;
|
||||
bool MaxCol4000;
|
||||
@@ -1142,10 +1123,11 @@ void MainWidget::SendPrintDataToFpga(unsigned char alterEnable, bool isUpdate)
|
||||
dat =sysPara->status.printDat;
|
||||
sizeofdat = sizeof(sysPara->status.printDat);
|
||||
}
|
||||
if(sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM <= 20000)
|
||||
sysPara->devOp->fpgaWr(sizeof(blankDat1),dat, sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM);
|
||||
else
|
||||
sysPara->devOp->fpgaWrD2(sizeof(blankDat1),dat, sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM);
|
||||
|
||||
if(sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM <= 20000)
|
||||
sysPara->devOp->fpgaWr(sizeof(blankDat1),dat, sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM);
|
||||
else
|
||||
sysPara->devOp->fpgaWrD2(sizeof(blankDat1),dat, sysPara->status.currPrintCol* MAX_PRINT_ROW_BYTE_NUM);
|
||||
|
||||
|
||||
static QElapsedTimer bnsTimer;
|
||||
@@ -2047,7 +2029,7 @@ void MainWidget::onPreviewScene()
|
||||
// int maxPicHeight = qMin(sceneRect.height(), int(sysPara->para.canvasHeight));
|
||||
// QSize size(coldot,maxPicHeight);
|
||||
int coldot = qMin(int(contentRect.right()), MaxCol4000 ? MAX_PRINT_COL_NUM_Normal : MAX_PRINT_COL_NUM_Wide);
|
||||
QSize size(MAX_PRINT_COL_NUM_Normal,sysPara->para.canvasHeight);
|
||||
QSize size(coldot, sysPara->para.canvasHeight);
|
||||
|
||||
|
||||
if(size.isEmpty()) {
|
||||
@@ -2131,67 +2113,26 @@ void MainWidget::onPreviewScene()
|
||||
varPara.letterSpace = counterItem->letterSpace();
|
||||
|
||||
++sysPara->status.variNum;
|
||||
|
||||
// // 将变量序号、类型、数字个数、大小位置打印到日志
|
||||
// LogInfo::setRunStatusText("Variable " + QString::number(varI) + ": type=" + QString::number(varPara.type) +
|
||||
// "\n digitalNum=" + QString::number(varPara.digitalNum) +
|
||||
// "\n width=" + QString::number(varPara.width) +
|
||||
// "\n height=" + QString::number(varPara.height) +
|
||||
// "\n startColPos=" + QString::number(varPara.startColPos) +
|
||||
// "\n endRowPos=" + QString::number(varPara.endRowPos) +
|
||||
// "\n startRowPos=" + QString::number(varPara.startRowPos) +
|
||||
// "\n letterSpace=" + QString::number(varPara.letterSpace));
|
||||
}
|
||||
|
||||
pPicScene->render(&painter, itemRect, sourceRect);
|
||||
}
|
||||
|
||||
sysPara->status.currPrintRow = contentRect.bottom();
|
||||
sysPara->status.currPrintCol = contentRect.right();
|
||||
sysPara->status.currPrintRow = size.height();
|
||||
sysPara->status.currPrintCol = size.width();
|
||||
|
||||
imageToPrintData(image, 0, 0);
|
||||
|
||||
// /*--------------------------------------------------------------------------*/
|
||||
// generateCharRamData();
|
||||
|
||||
generateCharRamDataV2();
|
||||
|
||||
if(sysPara->status.currPrintRow>MAX_PRINT_ROW_NUM-1)sysPara->status.currPrintRow=MAX_PRINT_ROW_NUM-1;
|
||||
sysPara->status.currPrintRow = qMin(sysPara->status.currPrintRow, MAX_PRINT_ROW_NUM-1);
|
||||
|
||||
// 计算末行位置
|
||||
bool found = false;
|
||||
int lastRow = sysPara->status.currPrintRow;
|
||||
for(int j = sysPara->status.currPrintRow; j > 2 ; j--){
|
||||
for(int i = 0; i < coldot; i++){
|
||||
if(dat[MAX_PRINT_ROW_BYTE_NUM*i + j/8] & (1 << (j%8))){
|
||||
lastRow = j+1;
|
||||
found = true;//qDebug()<<"fOUND:"<<i<<j<<dat[MAX_PRINT_ROW_BYTE_NUM*i + j/8]<<sysPara->status.currPrintRow;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(found)
|
||||
break;
|
||||
}
|
||||
|
||||
sysPara->status.currPrintRow = qBound(1, lastRow, MAX_PRINT_ROW_NUM - 1);
|
||||
|
||||
int wmax = sysPara->status.currPrintRow;
|
||||
sysPara->status.currAlterPrintRow = sysPara->status.currPrintRow/2;
|
||||
if(sysPara->para.alterPrint.enable<1) sysPara->para.AlterMode=0;
|
||||
else {
|
||||
if(sysPara->para.AlterMode==0)sysPara->para.AlterMode=1;
|
||||
wmax = sysPara->status.currAlterPrintRow;
|
||||
}
|
||||
/*-------------------------------切换到显示窗口-----------------------------------*/
|
||||
|
||||
qDebug() << "currPrintCol: " << sysPara->status.currPrintCol;
|
||||
LogInfo::setRunStatusText("currPrintCol: " + QString::number(sysPara->status.currPrintCol));
|
||||
LogInfo::setRunStatusText("currPrintRow: " + QString::number(sysPara->status.currPrintRow));
|
||||
LogInfo::setRunStatusText(QString("Items bounding rect: {%1, %2}").arg(sceneRect.width()).arg(sceneRect.height()));
|
||||
|
||||
// sysPara->status.currPrintRow = sceneRect.height();
|
||||
sysPara->status.currPrintCol = sceneRect.width();
|
||||
// sysPara->status.currPrintCol = sceneRect.width();
|
||||
|
||||
auto rows = sysPara->para.AlterMode?sysPara->status.currAlterPrintRow : sysPara->status.currPrintRow;
|
||||
rows = std::max(rows, (m_PrintDisplay->parentWidget()->height() / m_PrintDisplay->currScaleRatio()));
|
||||
@@ -2207,12 +2148,6 @@ void MainWidget::handleEmptySize()
|
||||
bool MaxCol4000 = sysPara->status.flagOfNo67FPGA ? true : false;
|
||||
QSize emptySize(MaxCol4000 ? MAX_PRINT_COL_NUM_Normal : MAX_PRINT_COL_NUM_Wide, MAX_PRINT_ROW_NUM);
|
||||
|
||||
// 不是,渲染这个有什么用处吗?byons@2026年7月21日
|
||||
// QImage emptyImage(emptySize, QImage::Format_ARGB32);
|
||||
// emptyImage.fill(0x00ffffff); // 填充白色背景,与正常场景渲染一致
|
||||
// QPainter emptyPainter(&emptyImage);
|
||||
// pPicScene->render(&emptyPainter, QRectF(), QRectF(0, 0, emptySize.width(), emptySize.height()));
|
||||
|
||||
// 初始化打印参数,避免空场景导致的参数异常
|
||||
sysPara->status.currPrintRow = 0;
|
||||
sysPara->status.currPrintCol = 0; // emptySize.width();
|
||||
@@ -2496,15 +2431,11 @@ bool MainWidget::updatePhaseIndicatorLight(){
|
||||
}
|
||||
}
|
||||
else if(sysPara->para.suspendAfterPhaseFault){
|
||||
if(sysPara->para.stopCounterMeterAfterFault){
|
||||
if(startPrintingFlag && printintFlag){ //已经在打印,则暂停打印
|
||||
// on_pushButtonPausePrint_pressed();
|
||||
on_m_StopBtn_clicked();
|
||||
LogInfo::setRunStatusText(tr("相位故障,暂停打印"));
|
||||
setRunStatus(tr("相位故障,暂停打印"));
|
||||
strTitle = tr("相位故障,暂停打印");
|
||||
|
||||
}
|
||||
if(sysPara->status.isPrinting){ //已经在打印,则暂停打印
|
||||
on_m_StopBtn_clicked();
|
||||
LogInfo::setRunStatusText(tr("相位故障,暂停打印"));
|
||||
setRunStatus(tr("相位故障,暂停打印"));
|
||||
strTitle = tr("相位故障,暂停打印");
|
||||
}
|
||||
else if(!sysPara->status.DACDisable){
|
||||
sysPara->devOp->printCtrl(PRINT_CTRL_DAC_DISABLE);
|
||||
@@ -2512,9 +2443,14 @@ bool MainWidget::updatePhaseIndicatorLight(){
|
||||
LogInfo::setRunStatusText(tr("相位故障,屏蔽DAC输出"));
|
||||
setRunStatus(tr("相位故障,屏蔽充电"));
|
||||
strTitle = tr("相位故障,屏蔽充电");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(sysPara->para.closeReclaimTankWhenPhaseFault) {
|
||||
on_m_LeftBtn_clicked();
|
||||
LogInfo::setRunStatusText(tr("相位故障, 关闭回收槽"));
|
||||
setRunStatus(tr("相位故障,关闭回收槽"));
|
||||
strTitle = tr("相位故障,关闭回收槽");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user