hlp:优化开机到排气期间界面状态显示;排气后,开回收槽前延时7秒等待压力升高,避免漏墨

This commit is contained in:
kite_lucs
2026-09-14 15:50:49 +08:00
parent 0fa8ce4b51
commit e358abf461
28 changed files with 4907 additions and 35624 deletions
+21 -32
View File
@@ -1704,13 +1704,7 @@ void MainWindow::generateCharRamData(){/* 生成字模数据 */
p_var->original = true;
p_var->currVal = -1; //相当于初始化
ramAddress += rowByteNum * width2;
} else {
qDebug() << "startRowPos:" << p_var->startRowPos
<<" endRowPos:" << p_var->endRowPos
<<" rowDiff:" << rowDiff
<< " 按原逻辑,执行这一步的时候软件就已经崩溃了";
}
}
}
}
@@ -2053,7 +2047,6 @@ void MainWindow::airPushingProcess()
if(sysPara){
if (sysPara->status.airPushing) {
setRunStatus(tr("正在排气 ..............."));
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 4 秒
sysPara->status.airPushingOnTime += 100;
@@ -2062,10 +2055,9 @@ void MainWindow::airPushingProcess()
sysPara->saveParaToFile();
}
// 延迟 半秒后才开回收槽,正式结束排气阶段
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 500){
//qDebug()<< "start stop";
// 延迟 7 秒后才开回收槽,正式结束排气阶段. reclaimTanOpen:会延迟半秒
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 6500){
airPushTimer->stop();
setRunStatus(tr("排气结束, 打开回收槽."));
LogInfo::setRunStatusText(tr("排气结束, 打开回收槽."));
@@ -2073,8 +2065,6 @@ void MainWindow::airPushingProcess()
sysPara->status.airPushingDone = 1;
sysPara->status.airPushing = 0;
sysPara->status.airPushingOnTime = 0;
airPushTimer->stop();
return;
}
@@ -2087,6 +2077,7 @@ void MainWindow::airPushingProcess()
setRunStatus(tr("排气结束, 准备打开回收槽."));
LogInfo::setRunStatusText(tr("排气结束, 准备打开回收槽."));
sysPara->status.isPumpValveControledByHand = false;
return;
}
}
@@ -2095,30 +2086,29 @@ void MainWindow::airPushingProcess()
void MainWindow::reclaimTanOpen()
{
// 还原当前模式
if (sysPara->status.airPushing) {
sysPara->status.isPumpValveControledByHand = sysPara->status.byHandStore;
}
sysPara->status.isPumpValveControledByHand = false;
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
MySleep(1000);
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
ui->pushButtonReclaimTanOpen->setText(sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
ui->pushButtonReclaimTankClose->setText(tr("关"));
enablePrintButton(SIMULATE_PRINTING_MODE);
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
// sysPara->status.reclaimTankstatus = 1;
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
if (!sysPara->para.reclaimTankTime) {
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
}
// 如果是排气流程,则不需要先收
if (sysPara->status.airPushingDone)
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
MySleep(500);
sysPara->status.currReclaimOperationCnt = 0;
sysPara->status.reclainTankReachEnd = false;
sysPara->status.reclainOpenAppending = true;
sysPara->status.reclainCloseAppending = false;
sysPara->status.reclaimBlockedCnt = 0;
sysPara->status.canRunAirPushing = false;
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
ui->pushButtonReclaimTanOpen->setText(
sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
ui->pushButtonReclaimTankClose->setText(tr("关"));
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
if (!sysPara->para.reclaimTankTime) {
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
}
}
void MainWindow::handleCode(int col, int row, int *varLastRow, int type)
@@ -2150,8 +2140,8 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
if(sysPara){
if (!sysPara->status.reclaimTankBlockedAppending) {
if (sysPara->status.canRunAirPushing && (sysPara->status.currReclaimTankPos == 0)) { // 回收槽关闭的情况下才可以执行排气;//2019/10/24 当回收槽未在顶的位置,不需要排气
if (!sysPara->status.airPushing) { // 先执行排气后开回收槽
sysPara->status.byHandStore = sysPara->status.isPumpValveControledByHand;
if (!sysPara->status.airPushing) {
// 先执行排气后开回收槽
sysPara->status.isPumpValveControledByHand = true;
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlCycleValve(true);
@@ -2161,7 +2151,6 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
sysPara->devOp->controlInkValve(true); //墨水阀
sysPara->devOp->controlInkValvePWM(true); //墨水阀
//qDebug()<< "start airpushings";
sysPara->status.airPushing = 1;
sysPara->status.airPushingDone = 0;