last week
This commit is contained in:
+157
-33
@@ -53,25 +53,27 @@ InkJetPrinter::InkJetPrinter(QWidget* parent)
|
||||
InkJetPrinter::~InkJetPrinter()
|
||||
{
|
||||
if(m_serialThreadFPGA->isRunning()){
|
||||
m_serialThreadFPGA->requestInterruption();
|
||||
m_serialThreadFPGA->quit();
|
||||
m_serialThreadFPGA->wait();
|
||||
}
|
||||
if(m_serialThreadSTM32->isRunning()){
|
||||
m_serialThreadSTM32->requestInterruption();
|
||||
m_serialThreadSTM32->quit();
|
||||
m_serialThreadSTM32->wait();
|
||||
}
|
||||
if(serialFPGA)
|
||||
if(serialFPGA){
|
||||
delete serialFPGA;
|
||||
if(serialSTM32)
|
||||
serialFPGA = nullptr;
|
||||
}
|
||||
if(serialSTM32){
|
||||
delete serialSTM32;
|
||||
serialSTM32 = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::init()
|
||||
{
|
||||
timer = new QTimer();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(timerHandler()));
|
||||
timer->start(10);
|
||||
|
||||
{
|
||||
// 创建自定义子控件(原逻辑不变)
|
||||
m_MainWidget = new MainWidget(this);
|
||||
m_TestPrintWidget = new TestPrintWidget(this);
|
||||
@@ -214,6 +216,11 @@ void InkJetPrinter::init()
|
||||
connect(serialFPGA,SIGNAL(getFPGAXXXDay(unsigned char*)),this,SLOT(saveFPGAXXXDay(unsigned char*)));
|
||||
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
||||
connect(serialFPGA,SIGNAL(queueFPGASizeSIG(int)),this,SLOT(showqueueFPGAsize(int)));
|
||||
connect(serialFPGA, &Serial::FPGABuildDat, this, [this](int buildTime){
|
||||
sysPara->status.build_dat.builTime = quint16(buildTime);
|
||||
qDebug() << "FPGA build time: " << buildTime;
|
||||
LogInfo::setRunStatusText(QString("FPGA build time: %1").arg(buildTime));
|
||||
});
|
||||
|
||||
m_serialThreadSTM32 = new QThread();
|
||||
serialSTM32 = new Serial("/dev/ttyAS2");
|
||||
@@ -232,10 +239,19 @@ void InkJetPrinter::init()
|
||||
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
|
||||
|
||||
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),this,SLOT(showSTM32queuesize(int)));
|
||||
connect(serialSTM32, &Serial::STM32Connected, this, [this](bool ok, QString errorMsg){
|
||||
if(ok){
|
||||
LogInfo::setRunStatusText("Connected to STM32 serial port");
|
||||
}
|
||||
else{
|
||||
LogInfo::setRunStatusText("STM32 serial port connection failed: " + errorMsg);
|
||||
}
|
||||
});
|
||||
|
||||
connect(m_SystemManage,SIGNAL(sigToCloseSerialFPGA()),this,SLOT(closeSerialFPGA()));
|
||||
connect(m_SystemManage,SIGNAL(sigToCloseSerialSTM32()),this,SLOT(closeSerialSTM32()));
|
||||
connect(m_SystemManage,SIGNAL(restartSerial()),this,SLOT(restartSerialPort()));
|
||||
connect(m_SystemManage, &SystemManage::rebootAppAcquired, this, &InkJetPrinter::rebootApp);
|
||||
flagOfSerialThreadStratEn = true;
|
||||
|
||||
connect(m_SystemManage,SIGNAL(enableClick(bool)),this,SLOT(enableInkJetTabClick(bool)));
|
||||
@@ -252,25 +268,15 @@ void InkJetPrinter::init()
|
||||
connect(m_SystemUpdate,&SystemUpdate::sendUpDateChARLIBSignal,m_SystemManage,&SystemManage::on_pushButtonUpdateCharLib_pressed);
|
||||
connect(m_SystemUpdate,&SystemUpdate::sendButtonClickedSignal,this,&InkJetPrinter::getSystemManageWidgetButtonClickSlot);
|
||||
|
||||
|
||||
// 原注释的默认页面设置(按需启用)
|
||||
//m_StackedWidget->setCurrentWidget(m_ErCodeSettingsWidget);
|
||||
//m_StackedWidget->setCurrentWidget(m_MainInterfaceWidget);
|
||||
|
||||
connect(m_BarCodeDlg, &QBarCode::sig_barCodeClose, this, [=](){
|
||||
m_StackedWidget->setCurrentWidget(m_TestPrintWidget);
|
||||
});
|
||||
connect(m_BarCodeDlg, &QBarCode::sig_barCodeClose,
|
||||
m_TestPrintWidget, &TestPrintWidget::slt_BarCodeItemDone);
|
||||
|
||||
connect(m_QRCodeDlg, &dlgQrCode::sig_qrCodeClose, this, [=](){
|
||||
m_StackedWidget->setCurrentWidget(m_TestPrintWidget);
|
||||
});
|
||||
|
||||
connect(m_QRCodeDlg, &dlgQrCode::sig_qrCodeClose,
|
||||
m_TestPrintWidget, &TestPrintWidget::slt_QRCodeItemDone);
|
||||
|
||||
sysPara->status.machineMac = m_MainInstruction->dlgInputAddr->jd.addr;
|
||||
sysPara->para.rfidCountDown = 5;
|
||||
|
||||
timer = new QTimer();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(timerHandler()));
|
||||
timer->start(10);
|
||||
}
|
||||
|
||||
// type 1,2: 分别显示计数器1或2的界面
|
||||
@@ -747,10 +753,6 @@ 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)
|
||||
sysPara->status.PRESSURE *= 5; //响应群众号召,数值放大五倍
|
||||
@@ -1253,7 +1255,7 @@ void InkJetPrinter::timerHandler(void){
|
||||
sysPara->status.waitHightVolOff--;
|
||||
if(sysPara->status.waitHightVolOff==0){
|
||||
sysPara->devOp->highVoltageCtrl(0);
|
||||
// ui->tabMainWindow->setRunStatus(tr("停止打印,自动关闭高压."));
|
||||
m_MainWidget->setRunStatus(tr("停止打印,自动关闭高压."));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1679,7 +1681,7 @@ void InkJetPrinter::saveFPGAStatus(unsigned char *data){
|
||||
}
|
||||
else target[i]=data[7+i];
|
||||
}
|
||||
if(sysPara->status.dummy != sysPara->status.isPrinting){
|
||||
if(sysPara->status.dummy != sysPara->status.isPrinting && sysPara->status.selfCheckDone){
|
||||
sysPara->status.isPrinting = sysPara->status.dummy;
|
||||
m_MainWidget->updatePrintDisplayLabel();
|
||||
}
|
||||
@@ -1795,6 +1797,8 @@ void InkJetPrinter::saveSTM32Version(unsigned char *data){
|
||||
QString STM32Ver = QString("%1.%2.%3").arg((sysPara->status.stm32Verion>>16)&0xFF)
|
||||
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF);
|
||||
qDebug()<<"STM32Ver:"<<STM32Ver;
|
||||
|
||||
LogInfo::setRunStatusText(QString("STM32Ver: %1").arg(STM32Ver));
|
||||
}
|
||||
|
||||
void InkJetPrinter::saveSTM32Time(unsigned char *data){
|
||||
@@ -1819,8 +1823,8 @@ void InkJetPrinter::saveSTM32Time(unsigned char *data){
|
||||
QString Second = QString("%1").arg(datatime[7], 2, 10, QChar('0'));
|
||||
QString date = Year+"-"+Month+"-"+Day+" "+Hour+":"+Minute+":"+Second;
|
||||
qDebug()<<QString("readSTM32Date: %1").arg(date);
|
||||
// LogInfo::setRunStatusText(QString("readSTM32Date: %1").arg(date));
|
||||
// LogInfo::setRunStatusText(QString("readSTM32Week: %1").arg(Week));
|
||||
LogInfo::setRunStatusText(QString("readSTM32Date: %1").arg(date));
|
||||
LogInfo::setRunStatusText(QString("readSTM32Week: %1").arg(Week));
|
||||
m_SystemManage->PowerOnSetTime(date);
|
||||
|
||||
}
|
||||
@@ -1846,24 +1850,34 @@ void InkJetPrinter::closedSerial(){
|
||||
|
||||
void InkJetPrinter::closeSerialFPGA(){
|
||||
if(m_serialThreadFPGA->isRunning()){
|
||||
m_serialThreadFPGA->requestInterruption();
|
||||
m_serialThreadFPGA->quit();
|
||||
m_serialThreadFPGA->wait();
|
||||
}
|
||||
|
||||
if(serialFPGA)
|
||||
if(serialFPGA){
|
||||
delete serialFPGA;
|
||||
serialFPGA = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::closeSerialSTM32(){
|
||||
if(m_serialThreadSTM32->isRunning()){
|
||||
m_serialThreadSTM32->requestInterruption();
|
||||
m_serialThreadSTM32->quit();
|
||||
m_serialThreadSTM32->wait();
|
||||
}
|
||||
if(serialSTM32)
|
||||
if(serialSTM32){
|
||||
delete serialSTM32;
|
||||
serialSTM32 = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::restartSerialPort(){
|
||||
|
||||
closeSerialFPGA();
|
||||
closeSerialSTM32();
|
||||
|
||||
serialFPGA = new Serial("/dev/ttyAS5");
|
||||
serialFPGA->moveToThread(m_serialThreadFPGA);
|
||||
connect(serialFPGA,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
|
||||
@@ -1879,7 +1893,11 @@ void InkJetPrinter::restartSerialPort(){
|
||||
connect(serialFPGA,SIGNAL(getFPGAXXXDay(unsigned char*)),this,SLOT(saveFPGAXXXDay(unsigned char*)));
|
||||
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
||||
connect(serialFPGA,SIGNAL(queueFPGASizeSIG(int)),this,SLOT(showqueueFPGAsize(int)));
|
||||
|
||||
connect(serialFPGA, &Serial::FPGABuildDat, this, [this](int buildTime){
|
||||
sysPara->status.build_dat.builTime = quint16(buildTime);
|
||||
qDebug() << "FPGA build time: " << buildTime;
|
||||
LogInfo::setRunStatusText(QString("FPGA build time: %1").arg(buildTime));
|
||||
});
|
||||
|
||||
serialSTM32 = new Serial("/dev/ttyAS2");
|
||||
serialSTM32->moveToThread(m_serialThreadSTM32);
|
||||
@@ -1894,6 +1912,14 @@ void InkJetPrinter::restartSerialPort(){
|
||||
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(serialSTM32, &Serial::STM32Connected, this, [this](bool ok, QString errorMsg){
|
||||
if(ok){
|
||||
LogInfo::setRunStatusText("Connected to STM32 serial port");
|
||||
}
|
||||
else{
|
||||
LogInfo::setRunStatusText("STM32 serial port connection failed: " + errorMsg);
|
||||
}
|
||||
});
|
||||
|
||||
flagOfSerialThreadStratEn = true;
|
||||
}
|
||||
@@ -2356,6 +2382,104 @@ void InkJetPrinter::viscosity_timerHandler()
|
||||
firstTime = 0;
|
||||
}
|
||||
|
||||
void InkJetPrinter::rebootApp()
|
||||
{
|
||||
if(!sysPara->status.selfCheckDone)
|
||||
sysPara->status.selfCheckDone = true;
|
||||
|
||||
this->setDisabled(true);
|
||||
|
||||
m_StackedWidget->setCurrentWidget(m_MainWidget);
|
||||
|
||||
// emit setDisableAll();
|
||||
if(!TEST_MODE && sysPara->para.flagOfReclaimPumEnable){
|
||||
for(int i=15;i>11;i--)
|
||||
{
|
||||
if(i == 15){
|
||||
sysPara->status.isPumpValveControledByHand = true; //停止自动
|
||||
sysPara->devOp->controlInkValve(true);
|
||||
sysPara->devOp->controlInkValvePWM(true);
|
||||
sysPara->devOp->controlReclaimPump(true,true);
|
||||
sysPara->devOp->controlViscosityPump(true);
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
if(i == 12){
|
||||
sysPara->devOp->controlInkValve(false);
|
||||
sysPara->devOp->controlInkValvePWM(false);
|
||||
}
|
||||
m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒...............").arg(i));
|
||||
MySleep(1000);
|
||||
}
|
||||
}
|
||||
sysPara->devOp->controlReclaimTankOpen(true);
|
||||
sysPara->status.isPumpValveControledByHand = true; //停止自动
|
||||
if(sysPara->para.gearPumpEnable ){
|
||||
if(!sysPara->para.flagOfReclaimPumEnable){
|
||||
sysPara->para.gearPumpValue = 360;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
else{
|
||||
sysPara->devOp->controlReclaimPump(true,false);
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
}
|
||||
else{
|
||||
sysPara->para.reclaimPumpPWMWidth = 95;
|
||||
sysPara->devOp->controlReclaimPump(true,true);
|
||||
}
|
||||
|
||||
if(!sysPara->devOp->isViscosityPumpOpen())
|
||||
sysPara->devOp->controlViscosityPump(true);
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
sysPara->devOp->controlInkValve(false); //关供墨
|
||||
sysPara->devOp->controlInkValvePWM(false); //关供墨
|
||||
|
||||
if(!TEST_MODE){
|
||||
for(int i=11;i>7;i--)
|
||||
{
|
||||
if(i==9)
|
||||
sysPara->devOp->controlReclaimTankOpen(false);
|
||||
m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒...............").arg(i));
|
||||
MySleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
if(!sysPara->status.lostCommuFlag){
|
||||
sysPara->para.calandar_and_dat.cnt1CurrValue = QString::number(sysPara->status.calandar_and_dat.cnt1CurrValue,16).toInt();
|
||||
sysPara->para.calandar_and_dat.cnt2CurrValue = QString::number(sysPara->status.calandar_and_dat.cnt2CurrValue,16).toInt();
|
||||
sysPara->para.Counter3.cnt3CurrValue = QString::number(sysPara->status.Status_Counter3.cnt3CurrValue,16).toInt();
|
||||
|
||||
m_MainWidget->updateTotalCnt(0);
|
||||
sysPara->saveParaToFile(); // 关机前将相关配置保存
|
||||
}
|
||||
sysPara->status.powerOffAppending = false;
|
||||
if(!TEST_MODE){
|
||||
for(int i=7;i>0;i--)
|
||||
{
|
||||
if(i == 5)
|
||||
sysPara->devOp->controlReclaimTankClose(true);
|
||||
if(i == 4){
|
||||
sysPara->devOp->controlViscosityPump(false);
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
sysPara->devOp->controlReclaimPump(false,false);
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
m_MainWidget->setRunStatus(tr("正在准备重启,请等待%1秒...............").arg(i));
|
||||
MySleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
sysPara->saveParaToFile(); // 关机前将相关配置保存
|
||||
sysPara->saveRFIDPara();
|
||||
MySleep(200);
|
||||
system("sync");//缓存同步
|
||||
QCoreApplication::quit();
|
||||
}
|
||||
|
||||
void InkJetPrinter::handleInitedPID()
|
||||
{
|
||||
PID_init();
|
||||
|
||||
Reference in New Issue
Block a user