2026年6月12日

This commit is contained in:
2026-06-12 14:12:55 +08:00
parent 571b8e01d3
commit a9341db9c8
17 changed files with 558 additions and 47 deletions
+28 -17
View File
@@ -197,12 +197,15 @@ void InkJetPrinter::init()
m_serialThreadFPGA = new QThread;
serialFPGA = new Serial("/dev/ttyAS5");
connect(m_serialThreadFPGA,&QThread::started,serialFPGA,&Serial::startInitSlot);
serialFPGA->moveToThread(m_serialThreadFPGA);
connect(serialFPGA,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
connect(serialFPGA,SIGNAL(resendFPGAData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
connect(sysPara->devOp,SIGNAL(sendSerialDataToFPGA(int,int,unsigned char*,int,int)),serialFPGA,SLOT(sendSerialData(int,int,unsigned char*,int,int)),Qt::QueuedConnection);
connect(serialFPGA,SIGNAL(getFPGAVersion(uint)),this,SLOT(saveFPGAVersionNum(uint)));
connect(m_serialThreadFPGA,&QThread::started,serialFPGA,&Serial::startInitSlot);
connect(serialFPGA,SIGNAL(stopSendData(bool)),this,SLOT(stopSendFPGAData(bool)));
connect(serialFPGA,SIGNAL(getFPGAPhaseDetectHighTm(unsigned char*)),this,SLOT(saveFPGAPhaseDetectHighTm(unsigned char*)));
connect(serialFPGA,SIGNAL(getFPGAStatus(unsigned char*)),this,SLOT(saveFPGAStatus(unsigned char*)));
@@ -214,6 +217,9 @@ void InkJetPrinter::init()
m_serialThreadSTM32 = new QThread();
serialSTM32 = new Serial("/dev/ttyAS2");
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
serialSTM32->moveToThread(m_serialThreadSTM32);
connect(serialSTM32,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendSTM32Date(int,int,unsigned char*,int,int)));
connect(sysPara->devOp,SIGNAL(sendSerialDataToSTM32(int,int,unsigned char*,int,int)),serialSTM32,SLOT(sendSerialData(int,int,unsigned char*,int,int)));
@@ -224,7 +230,7 @@ void InkJetPrinter::init()
connect(serialSTM32,SIGNAL(getSTM32Time(unsigned char*)),this,SLOT(saveSTM32Time(unsigned char*)));
connect(serialSTM32,SIGNAL(stopSendData(bool)),this,SLOT(stopSendSTM32Data(bool)));
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),this,SLOT(showSTM32queuesize(int)));
connect(m_SystemManage,SIGNAL(sigToCloseSerialFPGA()),this,SLOT(closeSerialFPGA()));
@@ -391,14 +397,14 @@ void InkJetPrinter::pressureAdj()
}
static qint32 dbgCnt = 0;
if(++dbgCnt % 50 == 0){
qDebug()<<"[pressureAdj] pressure="<<sysPara->para.pressure
<<" PRESSURE="<<sysPara->status.PRESSURE
<<" gearPumpValue="<<sysPara->para.gearPumpValue
<<" u="<<u
<<" flagOfReclaimPumEnable="<<sysPara->para.flagOfReclaimPumEnable
<<" gearPumpSpeedAlarm="<<sysPara->para.gearPumpSpeedAlarm
<<" gearPumpRunStopFlag="<<sysPara->status.gearPumpRunStopFlag
<<" flagOfSpeedAlarm="<<sysPara->status.flagOfSpeedAlarm;
// qDebug()<<"[pressureAdj] pressure="<<sysPara->para.pressure
// <<" PRESSURE="<<sysPara->status.PRESSURE
// <<" gearPumpValue="<<sysPara->para.gearPumpValue
// <<" u="<<u
// <<" flagOfReclaimPumEnable="<<sysPara->para.flagOfReclaimPumEnable
// <<" gearPumpSpeedAlarm="<<sysPara->para.gearPumpSpeedAlarm
// <<" gearPumpRunStopFlag="<<sysPara->status.gearPumpRunStopFlag
// <<" flagOfSpeedAlarm="<<sysPara->status.flagOfSpeedAlarm;
}
if(!sysPara->status.gearPumpRunStopFlag)
@@ -691,20 +697,20 @@ void InkJetPrinter::timerHandler(void){
qDebug()<<"start FPGA tread";
#ifdef ARCH_AARCH64
m_serialThreadFPGA->start();
LogInfo::setRunStatusText(tr("FPGA tread start"));
#endif
}
if (!m_serialThreadSTM32->isRunning()){
qDebug()<<"start STM32 tread";
#ifdef ARCH_AARCH64
m_serialThreadSTM32->start();
LogInfo::setRunStatusText(tr("STM32 tread start"));
#endif
}
flagOfSerialThreadStratEn = false;
}
if(pulse_10s){
// if(!m_thread->isRunning())
// m_thread->start();
sysPara->status.delay10s ++;
if(sysPara->status.delay10s == 10){
pulse_100s = 1;
@@ -741,6 +747,9 @@ void InkJetPrinter::timerHandler(void){
// sysPara->devOp->controlRedLight(false);
}
if(pulse_1s) {
qDebug() << "FPGA version: build time: " << sysPara->status.build_dat.builTime << " inkDot: " << sysPara->status.build_dat.inkDot;
}
sysPara->status.gearPumpRunSpeed = (PulseCnt * 60 * 1000) / (500 * 2);
if(!sysPara->para.gearPumpEnable)
@@ -878,11 +887,13 @@ void InkJetPrinter::timerHandler(void){
}
static qint32 adjDbgCnt = 0;
if(pulse_100ms && ++adjDbgCnt % 50 == 0){
qDebug()<<"[adjCond] gearPumpEnable="<<sysPara->para.gearPumpEnable
<<" isPumpValveControledByHand="<<sysPara->status.isPumpValveControledByHand
<<" ControledSwitchFlag="<<ControledSwitchFlag
<<" gearPumpRunFlag="<<gearPumpRunFlag
<<" gearPumpStartFlag="<<gearPumpStartFlag;
// 调整压力算法时用这个追踪
// qDebug()<<"[adjCond] gearPumpEnable="<<sysPara->para.gearPumpEnable
// <<" isPumpValveControledByHand="<<sysPara->status.isPumpValveControledByHand
// <<" ControledSwitchFlag="<<ControledSwitchFlag
// <<" gearPumpRunFlag="<<gearPumpRunFlag
// <<" gearPumpStartFlag="<<gearPumpStartFlag;
}
if(pulse_100ms && sysPara->para.gearPumpEnable && !sysPara->status.isPumpValveControledByHand && ControledSwitchFlag ) {
pressureAdj();