/* * SysPara.cpp * * Created on: Jun 25, 2013 * Author: yiyu * QQ:1036184468 * Descriptoin: * * 2013-9-29 高压 */ #include "SysPara.h" #include #include #include #include #include #include //#include #include "LogInfo.h" #include "DevOp.h" #include #include #include #define VNLG SysPara::SysPara(void): devOp(new DevOp(this)){ memset(¶,0,sizeof(para)); memset(&status,0,sizeof(status)); //qDebug("start to loadParaFromFile."); loadParaFromFile(); //qDebug("loadParaFromFile ok."); loadParaToPrintInit(); //para.HVFaultCloseEn= 0; if(para.ReadFileErrorCnt<10) para.ReadFileErrorCnt++; if(para.PowerOnErrorCnt<10) para.PowerOnErrorCnt++; // PowerOnErrorCnt //qDebug()<<"cnt ++:"<3 || para.PowerOnErrorCnt>4) { //loadDefaultPara(); // memset( para.lastOpenedFileName,0,sizeof(para.lastOpenedFileName)); if(para.ReadFileErrorCnt>=4 ) para.ReadFileErrorCnt=0; if(para.PowerOnErrorCnt>=4) para.PowerOnErrorCnt=0; //qDebug()<<"sys Star Error, cnt :"<writeFpgaPrintPara(true)会调用这个,所以忽略 //para.HVFaultCloseEn= 1; //开机默认为1,允许高压故障自动关闭回收功能 devOp->writeFpgaPrintPara(true); //系统起来的时候,将上次记录的配置写入fpga,比如晶振分频等信息 devOp->writeFpgaVariCtrl(); devOp->resumeFault(); status.lastProductCnt = status.productCnt ; //这会让产品计数显示出来 status.gearPumpRunStopFlag = false; status.detectBestOscillatorFreqAppending = false; status.isPumpValveControledByHand = false; //初始化为自动模式 status.forTemplateUse = false; status.lastHighVoltageFault = false; status.needPowerOffTimerout = 0; status.circleProductCnt = false; memset(para.reserved2,0,sizeof(para.reserved2)); status.lastVoltageVersion = -1; status.flagOfNo67FPGA=false; #ifdef __RFID_CARD if(!loadRFIDPara()){ RFIDPara = RFIDPara_t{}; saveRFIDPara(); } #endif } void SysPara::loadParaFromFile(){ QFile file(PARA_FILE_PATH); QFile DeviceCodefile(DeviceCode_FILE_PATH); QDir dir; char buf[200]; //qDebug()<<"loadParaFromFile"; if(!dir.exists(DOC_ROOT_DIR)){ snprintf(buf,sizeof(buf),"mkdir -p %s",DOC_ROOT_DIR); system(buf); } if(!dir.exists(PARA_ROOT_DIR)){ snprintf(buf,sizeof(buf),"mkdir -p %s",PARA_ROOT_DIR); system(buf); } if(!dir.exists(PARA_ROOT_DIR)){ QMessageBox::warning(0,QString("warnning"),QString("Path") + PARA_ROOT_DIR + QString("not Found.")); return ; } if(file.exists(PARA_FILE_PATH)){ //qDebug("PARA_FILE_PATH"); if(!file.open(QIODevice::ReadOnly)){ //QMessageBox::warning(0,("警告"),QString("无法打开配置文件 ") + PARA_FILE_PATH); loadDefaultPara(); } else { file.seek(0); file.read((char *)¶,(long long int)sizeof(para)); file.close(); // 韩国要求 画布大小可以设定在24 到 32 之间 para.canvasHeight = qBound(unsigned(SCENE_MIN_HEIGHT), para.canvasHeight, unsigned(SCENE_MAX_HEIGHT)); if(para.gearPumpSpeedAlarm < 1000 || para.gearPumpSpeedAlarm > 2000) para.gearPumpSpeedAlarm = 1500; if (DeviceCodefile.isOpen()) { DeviceCodefile.close(); } //jdDataRwLock.lockForRead(); if(!DeviceCodefile.open(QIODevice::ReadOnly)){//怀疑是QIODevice::Truncate 引起参数错误,去掉试试看 //QMessageBox::warning(0,"警告",QString("无法打开文件") ); } else { DeviceCodefile.seek(0); //file.read((char *)&jd.addr,(long long int)sizeof(jd)); DeviceCodefile.read((char *)¶.Json_device_code,(qint64)sizeof(para.Json_device_code)); DeviceCodefile.close(); } } } else { #ifdef VNLG ; #else QMessageBox::information(0,QString("提示"),QString("这可能是你设备第一次上电,或是进行了出厂设置,我们将使用系统默认配置")); #endif loadDefaultPara(); //loadDefaultPara();//qDebug("loadDefaultPara2"); } //qDebug()<<"SYSPrar:"<sizeof(print)) copy_len = sizeof(print); else copy_len = file.size(); file.seek(0); file.read((char *)&print,copy_len); file.close(); } else { file.seek(0); file.read((char *)&print,(long long int)sizeof(print)); file.close(); memcpy( (char *)¶.alterPrint,(char *)&print.alterPrint,sizeof(alterPrint_t)) ; para.charBold = print.charBold ; para.SynCntEn = print.SynCntEn ; para.autoSynSpeedEn = print.autoSynSpeedEn ; para.newAmplifyPlate = print.newAmplifyPlate; para.cnt1CurrValue = print.cnt1CurrValue; // 20170313 cnt1StartValue;20191226 cnt1CurrValue para.cnt1EndValue = print.cnt1EndValue ; para.Cnt1NatureValue = print.Cnt1NatureValue ; para.mixValveisNewVersion = 1; para.cnt1RepeateValue = print.cnt1RepeateValue ; para.cnt1StartValue = print.cnt1StartValue ; para.cnt1StepValue = print.cnt1StepValue ; para.cnt2CurrValue = print.cnt2CurrValue;//20170313 cnt2StartValue ; /// 20191226cnt2CurrValue para.cnt2EndValue = print.cnt2EndValue ; para.cnt2RepeateValue = print.cnt2RepeateValue ; para.cnt2StartValue = print.cnt2StartValue ; para.cnt2StepValue = print.cnt2StepValue ; // para.cnt3CurrValue = print.cnt3CurrValue;//20170313 cnt2StartValue ; /// 20191226cnt2CurrValue // para.cnt3EndValue = print.cnt3EndValue ; // para.cnt3RepeateValue = print.cnt3RepeateValue ; // para.cnt3StartValue = print.cnt3StartValue ; // para.cnt3StepValue = print.cnt3StepValue ; para.cnt4CurrValue = print.cnt4CurrValue; para.HiddenConditionValue = print.HiddenConditionValue; para.HiddenFuncEnable = print.HiddenFuncEnable; para.HiddenMeterEnable = print.HiddenMeterEnable; para.currPrintMode = print.currPrintMode ; para.elecEyeTriggerInterval = print.elecEyeTriggerInterval ; para.eleEyeClearCntInSynMode = print.eleEyeClearCntInSynMode ; para.eleEyeTriggerPrintDelay = print.eleEyeTriggerPrintDelay ; para.eleEyeTriggerSynPrintEn = print.eleEyeTriggerSynPrintEn ; para.endVoltage = print.endVoltage ; para.extClearAllCntEnable = print.extClearAllCntEnable ; para.HighVoltageAmplitude = print.HighVoltageAmplitude ; para.lastLineEndPointFixedDACValue = print.lastLineEndPointFixedDACValue ; para.lastLineEndPointFixedValue = print.lastLineEndPointFixedValue ; para.FullColFixVal = print.FullColFixVal ; para.leftRightInverse = print.leftRightInverse ; para.lineEndAdjustPointCnt = print.lineEndAdjustPointCnt ; para.lineEndAdjustPointDelay = print.lineEndAdjustPointDelay ; para.outputPulseDelayMs = print.outputPulseDelayMs ; para.photoElectricityRepeateNum = print.photoElectricityRepeateNum ; para.pixNumPerCol = print.pixNumPerCol ; para.pointVoltageAdjustPos = print.pointVoltageAdjustPos ; para.PointVoltageAdjustValue = print.PointVoltageAdjustValue ; para.printColDelay = print.printColDelay ; para.printDelayMs = print.printDelayMs ; para.printDirection = print.printDirection ; para.printRowDelay = print.printRowDelay ; para.printTotalColNum = print.printTotalColNum ; para.printTriggerMode = print.printTriggerMode ; //打印触发模式 para.productCntPerOutputPulse = print.productCntPerOutputPulse ; para.productNumToGenerateOutputPulse = print.productNumToGenerateOutputPulse ; para.pulseOutputEnable = print.pulseOutputEnable ; para.reducedPixelMode = print.reducedPixelMode ; para.reducedPixelNum = print.reducedPixelNum ; para.reducedPixelNumRatio = print.reducedPixelNumRatio ; para.scanInverse = print.scanInverse ; para.startVoltage = print.startVoltage ; //print.stepPrint = print.stepPrint ; memcpy( (char *)¶.stepPrint,(char *)&print.stepPrint,sizeof(stepPrint_t)) ; memcpy( (char *)¶.adjVolDacRate,(char *)&print.adjVolDacRate,sizeof(print.adjVolDacRate)) ; //edit-12.2 //para.synCharWidthRatio = print.synCharWidthRatio ; para.synClearCntInEleEyeMode = print.synClearCntInEleEyeMode ; #if 0 //不需要每个文件都存相位的参数 para.synPulseNumPerMm = print.synPulseNumPerMm ; para.synPulsePerMmX8 = print.synPulsePerMmX8 ; #endif para.synTriggerPrintLenMm = print.synTriggerPrintLenMm ; //喷印间隔 //para.synTriggerPrintLenRatio = print.synTriggerPrintLenRatio ; para.sysTriggerPrintMode = print.sysTriggerPrintMode ; para.timeTriggerPrintDelayMs = print.timeTriggerPrintDelayMs ; para.timeTriggerPrintMode = print.timeTriggerPrintMode ; //para.totalSynPulseNum = print.totalSynPulseNum ; para.upDownInverse = print.upDownInverse ; para.varLen = print.varLen; print.varLen1 = para.varLen1; para.varLenEn = print.varLenEn?1:0; para.headLen = print.headLen; para.endLen = print.endLen; para.set_HVData_Flag = 0; para.eleMaskTime = print.eleMaskTime; para.AltMirrorGap = print.AltMirrorGap; para.textEditLineSpace = print.textEditLineSpace; //para.weihu = print.wehu; //qDebug()<<"sysFile3:"<spinBoxHighLowRatio->value(); para.phaseHighLowRatio = print.phaseHighLowRatio; para.phaseShift = print.phaseShift; para.OuputPulseCol = print.OuputPulseCol; #ifndef FOR_PHASE_ADJUST print.phase_detect_pulse_num = 7; para.phaseDetectVol = 40; print.phaseDetectDelay = 100; #else para.phase_detect_pulse_num = print.phase_detect_pulse_num; if (print.phase_detect_pulse_num<3 || print.phase_detect_pulse_num>10) { print.phase_detect_pulse_num = 7; } para.phaseDetectVol = print.phaseDetectVol; if (print.phaseDetectVol < 28 || print.phaseDetectVol > 70) print.phaseDetectVol = 35; para.phaseDetectDelay = print.phaseDetectDelay;//120;// ui->spinBoxPhaseDetectDelay->value(); if (print.phaseDetectDelay < 70 || print.phaseDetectDelay > 150) print.phaseDetectDelay = 100; #endif para.enableChargeFullTime = 1; #endif } } } */ void SysPara::loadPrintParaFromFile(QString fileName){ if(fileName=="") return; fileName = QString( PARA_ROOT_DIR+QFileInfo( fileName).baseName()+".dpn"); QFile file(fileName); if(!file.exists(fileName)){ //file.setFileName(TESTFILECD ); return; } if(!file.open(QIODevice::ReadOnly)){ //loadDefaultPrintPara(); } else { QMessageBox::StandardButton ret; qint32 copy_len; if(file.size() != sizeof(print)){ if(file.size()>sizeof(print)) copy_len = sizeof(print); else copy_len = file.size(); file.seek(0); file.read((char *)&print,copy_len); file.close(); } else { file.seek(0); file.read((char *)&print,(long long int)sizeof(print)); // file.seek(0); // file.read((char *)&printPre,(long long int)sizeof(printPre)); memcpy( (char *)&printPre,(char *)&print,sizeof(print)) ; loadParaToPrintInit(); file.close(); memcpy( (char *)¶.alterPrint,(char *)&print.alterPrint,sizeof(alterPrint_t)) ; para.charBold = print.charBold ; para.SynCntEn = print.SynCntEn ; // para.autoSynSpeedEn = print.autoSynSpeedEn ; // para.newAmplifyPlate = print.newAmplifyPlate; para.cnt1CurrValue = print.cnt1CurrValue; // 20170313 cnt1StartValue;20191226 cnt1CurrValue para.cnt1EndValue = print.cnt1EndValue ; para.Cnt1NatureValue = print.Cnt1NatureValue ; para.mixValveisNewVersion = 1; para.cnt1RepeateValue = print.cnt1RepeateValue ; para.cnt1StartValue = print.cnt1StartValue ; para.cnt1StepValue = print.cnt1StepValue ; para.cnt2CurrValue = print.cnt2CurrValue;//20170313 cnt2StartValue ; /// 20191226cnt2CurrValue para.cnt2EndValue = print.cnt2EndValue ; para.cnt2RepeateValue = print.cnt2RepeateValue ; para.cnt2StartValue = print.cnt2StartValue ; para.cnt2StepValue = print.cnt2StepValue ; para.cnt4CurrValue = print.cnt4CurrValue; para.HiddenConditionValue = print.HiddenConditionValue; para.HiddenFuncEnable = print.HiddenFuncEnable; para.HiddenMeterEnable = print.HiddenMeterEnable; if(print.decimalBits == 0){ para.printNumPoint == 0 ; para.rrr_nc == 0; }else if(print.decimalBits == 1){ para.printNumPoint == 1; para.rrr_nc == 0; }else if(print.decimalBits == 2){ para.printNumPoint == 0; para.rrr_nc == 1; }else if(print.decimalBits == 3){ para.printNumPoint == 1; para.rrr_nc == 1; } para.currPrintMode = print.currPrintMode ; para.elecEyeTriggerInterval = print.elecEyeTriggerInterval ; para.eleEyeClearCntInSynMode = print.eleEyeClearCntInSynMode ; para.eleEyeTriggerPrintDelay = print.eleEyeTriggerPrintDelay ; para.eleEyeTriggerSynPrintEn = print.eleEyeTriggerSynPrintEn ; para.HighVoltageAmplitude = print.HighVoltageAmplitude ; para.leftRightInverse = print.leftRightInverse ; para.outputPulseDelayMs = print.outputPulseDelayMs ; para.photoElectricityRepeateNum = print.photoElectricityRepeateNum ; para.printColDelay = print.printColDelay ; para.printDelayMs = print.printDelayMs ; para.printTriggerMode = print.printTriggerMode ; //打印触发模式 para.productCntPerOutputPulse = print.productCntPerOutputPulse ; para.pulseOutputEnable = print.pulseOutputEnable ; para.reducedPixelNumRatio = print.reducedPixelNumRatio ; para.scanInverse = print.scanInverse ; memcpy( (char *)¶.stepPrint,(char *)&print.stepPrint,sizeof(stepPrint_t)) ; // memcpy( (char *)¶.adjVolDacRate,(char *)&print.adjVolDacRate,sizeof(print.adjVolDacRate)) ; para.synClearCntInEleEyeMode = print.synClearCntInEleEyeMode ; para.synTriggerPrintLenMm = print.synTriggerPrintLenMm ; //喷印间隔 para.sysTriggerPrintMode = print.sysTriggerPrintMode ; para.timeTriggerPrintDelayMs = print.timeTriggerPrintDelayMs ; para.timeTriggerPrintMode = print.timeTriggerPrintMode ; para.upDownInverse = print.upDownInverse ; para.varLen = print.varLen; print.varLen1 = para.varLen1; para.varLenEn = print.varLenEn?1:0; para.headLen = print.headLen; para.endLen = print.endLen; para.set_HVData_Flag = 0; para.eleMaskTime = print.eleMaskTime; // para.AltMirrorGap = print.AltMirrorGap; para.textEditLineSpace = print.textEditLineSpace; para.textEditCharSpace = print.textEditCharSpace; } } } void SysPara::loadDefaultPrintPara(){ loadDefaultPara(); } /* void SysPara::savePrintParaToFile(){ //qDebug()<<"savePrintParaToFile"; if(sysFile=="") return; QString fileName = QString( PARA_ROOT_DIR+QFileInfo( sysFile).baseName()+".dpn"); //qDebug()<<"savePrintParaToFile1:"<> 12; // unsigned int type = 6; if(mode == FAST_PRINT ) { volParaFilePath = ":/conf/VoltParaHi.bin"; } else if(mode == STANDARD_PRINT) { volParaFilePath = PARA_ROOT_DIR"VoltParaStd.bin"; } if(status.build_dat.builTime == 73){ volParaFilePath = ":/conf/VoltePara_No73.bin"; status.currVoltageVersion = VersionOf73; } else if(type == 6 || type == 8){ if(status.currPrintRow <=21){ volParaFilePath = ":/conf/VoltDataStd21.bin"; status.currVoltageVersion = VersionOf72And21R; } else if(status.currPrintRow <=25){ volParaFilePath = ":/conf/VoltDataStd25.bin"; status.currVoltageVersion = VersionOf72And25R; } else if(para.currSelectVolPara == FiveLineFiveDot){ volParaFilePath = ":/conf/VoltDataStd5Row5Dot.bin"; status.currVoltageVersion = VersionOf72And5Row5Dot; if(status.currPrintRow > 32){ volParaFilePath = ":/conf/VoltDataStd5R5DOf34Dot.bin"; //34dot status.currVoltageVersion = VersionOf72And5Row5Dot34; } } else if(para.currSelectVolPara == FourLineSevenDot){ volParaFilePath = ":/conf/VoltDataStd4Row7Dot.bin"; status.currVoltageVersion = VersionOf72And4Row7Dot; if(status.currPrintRow > 32){ volParaFilePath = ":/conf/VoltDataStd4R7DOf34Dot.bin"; //34dot status.currVoltageVersion = VersionOf72And4Row7Dot34; } } else { volParaFilePath = ":/conf/VoltDataStd32.bin"; status.currVoltageVersion = VersionOf72And32R; } } LogInfo::setRunStatusText(QString("volParaFilePath:%1").arg(volParaFilePath)); QFile file(volParaFilePath); QDir dir; char buf[200]; if (!dir.exists(DOC_ROOT_DIR)){ snprintf(buf, sizeof(buf), "mkdir -p %s", DOC_ROOT_DIR); system(buf); } if (!dir.exists(PARA_ROOT_DIR)){ snprintf(buf, sizeof(buf), "mkdir -p %s", PARA_ROOT_DIR); system(buf); } if (!dir.exists(PARA_ROOT_DIR)){ QMessageBox::warning(0, QString("warnning"), QString("Path") + PARA_ROOT_DIR + QString("not Found.")); return; } qDebug() << "loadVolteParaFromFile: " << volParaFilePath; if (file.exists(volParaFilePath)){ if (!file.open(QIODevice::ReadOnly)){ } else { QMessageBox::StandardButton ret = QMessageBox::Ok; qint32 copy_len; char *volteStruct = (char *)&voltePara; size_t sizeofVolteParaStruct = sizeof(voltePara); if(status.build_dat.builTime == 73){ volteStruct = (char *)&voltePara_No73; sizeofVolteParaStruct = sizeof(voltePara_No73); } else if(type == 6 || type ==8){ memset(&voltePara_25Dots,0,sizeof(voltePara_25Dots)); volteStruct = (char *)&voltePara_25Dots; sizeofVolteParaStruct = sizeof(voltePara_25Dots); } if (file.size() != sizeofVolteParaStruct){ // qDebug()<<"注意,电压文件大小不对!"; // LogInfo::setRunStatusText(QString("注意,电压文件大小不对!")); #ifdef VNLG ; #else ret = QMessageBox::warning(NULL, QString("警告"), QString("配置文件大小不一致,按 确定 将采取兼容方式读取配置文件"), QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok); #endif if (ret == QMessageBox::Ok){ copy_len = file.size() < sizeofVolteParaStruct?file.size():sizeofVolteParaStruct; file.seek(0); file.read(volteStruct, copy_len); file.close(); } else if (ret == QMessageBox::Cancel) { file.close(); } } else { file.seek(0); file.read(volteStruct, (long long int)sizeofVolteParaStruct); file.close(); } } } else { qDebug() << "There is no Volte Para File."; LogInfo::setRunStatusText(QString("There is no Volte Para File.")); } } void SysPara::saveRFIDPara() { QFile file(RFID_FILE_PATH); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) { qDebug() << "Error: Could not open file for writing"; return; } QDataStream out(&file); out.setVersion(QDataStream::Qt_4_6); // Set the version compatible with Qt 4.8.5 out << RFIDPara.PrintInkDots; out << RFIDPara.InkEmptyCnt; out << RFIDPara.SOLVEmptyCnt; out << RFIDPara.InkRFIDCnt; out << RFIDPara.SOLVRFIDCnt; out << RFIDPara.solventNumber; out << RFIDPara.needInkCard; out << RFIDPara.needSolventCard; out << RFIDPara.inkCardTimeOut; out << RFIDPara.solventCardTimeOut; out << RFIDPara.maintenanceDate; out << RFIDPara.maintenanceInterval; out << RFIDPara.maintenanceEndDate; out << RFIDPara.needMaintenance; out << (unsigned int)(RFIDPara.runtimeMs / 1000); out << RFIDPara.maintenanceHours; out << RFIDPara.addedInk; out << RFIDPara.addedSolvent; out << RFIDPara.cardInk; out << RFIDPara.cardSolvent; out << para.rfidCountDown; out << status.showInkWarningNumber << status.showSolventWarningNumber; out << RFIDPara.inInkAndRFIDProgress << RFIDPara.inSolventAndRFIDProgress << RFIDPara.runtimeMs; if(!file.flush()){ LogInfo::setRunStatusText("RFID Para save Failed 1"); qDebug()<<"RFID Para save Failed 1"; file.close(); return; } int ret = fsync(file.handle()); if(ret == -1){ qDebug()<<"RFID Para save Failed 2"; LogInfo::setRunStatusText("RFID Para save Failed 2"); } file.close(); } bool SysPara::loadRFIDPara() { QFile file(RFID_FILE_PATH); if (!file.open(QIODevice::ReadOnly)) { qDebug() << "Error: Could not open file for reading"; return false; } QDataStream in(&file); in.setVersion(QDataStream::Qt_4_6); // Set the version compatible with Qt 4.8.5 uint oldRuntimeSec = 0; RFIDPara.inInkAndRFIDProgress = 0; RFIDPara.inSolventAndRFIDProgress = 0; RFIDPara.runtimeMs = 0; in >> RFIDPara.PrintInkDots; in >> RFIDPara.InkEmptyCnt; in >> RFIDPara.SOLVEmptyCnt; in >> RFIDPara.InkRFIDCnt; in >> RFIDPara.SOLVRFIDCnt; in >> RFIDPara.solventNumber; in >> RFIDPara.needInkCard; in >> RFIDPara.needSolventCard; in >> RFIDPara.inkCardTimeOut; in >> RFIDPara.solventCardTimeOut; in >> RFIDPara.maintenanceDate; in >> RFIDPara.maintenanceInterval; in >> RFIDPara.maintenanceEndDate; in >> RFIDPara.needMaintenance; in >> oldRuntimeSec; in >> RFIDPara.maintenanceHours; in >> RFIDPara.addedInk; in >> RFIDPara.addedSolvent; in >> RFIDPara.cardInk; in >> RFIDPara.cardSolvent; in >> para.rfidCountDown; in >> status.showInkWarningNumber >> status.showSolventWarningNumber; in >> RFIDPara.inInkAndRFIDProgress >> RFIDPara.inSolventAndRFIDProgress >> RFIDPara.runtimeMs; // 兼容获取旧的运行时间,如果新的运行时间为0且旧的运行时间大于0,则使用旧的运行时间 // 新时间所占用的8字节空间,在旧实现上也是没有用的,它们总是被写入为0,因此RFIDPara.runtimeMs为 0 ,表示软件刚刚升级,第一次运行,应该使用旧的运行时间 if(RFIDPara.runtimeMs == 0){ RFIDPara.runtimeMs = oldRuntimeSec * 1000; } file.close(); return true; } void SysPara::comparePrintStruct(){ if(print.charBold != printPre.charBold){ printInit.charBold = print.charBold; } if(print.SynCntEn != printPre.SynCntEn){ printInit.SynCntEn = print.SynCntEn; } if(print.cnt1CurrValue != printPre.cnt1CurrValue){ printInit.cnt1CurrValue = print.cnt1CurrValue; } if(print.cnt1EndValue != printPre.cnt1EndValue){ printInit.cnt1EndValue = print.cnt1EndValue; } if(print.Cnt1NatureValue != printPre.Cnt1NatureValue){ printInit.Cnt1NatureValue = print.Cnt1NatureValue; } if(print.charBold != printPre.charBold){ printInit.charBold = print.charBold; } if(print.cnt1RepeateValue != printPre.cnt1RepeateValue){ printInit.cnt1RepeateValue = printPre.cnt1RepeateValue; } if(print.cnt1StartValue != printPre.cnt1StartValue){ printInit.cnt1StartValue = print.cnt1StartValue; } if(print.cnt1StepValue != printPre.cnt1StepValue ){ printInit.cnt1StepValue = print.cnt1StepValue; } if(print.cnt2CurrValue != printPre.cnt2CurrValue){ printInit.cnt2CurrValue = print.cnt2CurrValue; } if(print.cnt2EndValue != printPre.cnt2EndValue){ printInit.cnt2EndValue = print.cnt2EndValue; } if(print.cnt2RepeateValue != printPre.cnt2RepeateValue){ printInit.cnt2RepeateValue = print.cnt2RepeateValue; } if(print.cnt2StartValue != printPre.cnt2StartValue){ printInit.cnt2StartValue = print.cnt2StartValue; } if(print.cnt2StepValue != printPre.cnt2StepValue ){ printInit.cnt2StepValue = print.cnt2StepValue; } if(print.cnt4CurrValue != printPre.cnt4CurrValue){ printInit.cnt4CurrValue = print.cnt4CurrValue; } if(print.HiddenConditionValue != printPre.HiddenConditionValue){ printInit.HiddenConditionValue = print.HiddenConditionValue; } if(print.HiddenFuncEnable != printPre.HiddenFuncEnable){ printInit.HiddenFuncEnable = print.HiddenFuncEnable; } if(print.HiddenMeterEnable != printPre.HiddenMeterEnable){ printInit.HiddenMeterEnable = print.HiddenMeterEnable; } if(print.currPrintMode != printPre.currPrintMode ){ printInit.currPrintMode = print.currPrintMode; } if(print.elecEyeTriggerInterval != printPre.elecEyeTriggerInterval){ printInit.elecEyeTriggerInterval = print.elecEyeTriggerInterval; } if(print.eleEyeClearCntInSynMode != printPre.eleEyeClearCntInSynMode){ printInit.eleEyeClearCntInSynMode = print.eleEyeClearCntInSynMode; } if(print.eleEyeTriggerPrintDelay != printPre.eleEyeTriggerPrintDelay){ printInit.eleEyeTriggerPrintDelay = print.eleEyeTriggerPrintDelay; } if(print.eleEyeTriggerSynPrintEn != printPre.eleEyeTriggerSynPrintEn){ printInit.eleEyeTriggerSynPrintEn = print.eleEyeTriggerSynPrintEn; } if(print.HighVoltageAmplitude != printPre.HighVoltageAmplitude){ printInit.HighVoltageAmplitude = print.HighVoltageAmplitude; } if(print.leftRightInverse != printPre.leftRightInverse){ printInit.leftRightInverse = print.leftRightInverse; } if(print.outputPulseDelayMs != printPre.outputPulseDelayMs){ printInit.outputPulseDelayMs = print.outputPulseDelayMs; } if(print.photoElectricityRepeateNum != printPre.photoElectricityRepeateNum){ printInit.photoElectricityRepeateNum = print.photoElectricityRepeateNum; } if(print.printColDelay != printPre.printColDelay){ printInit.printColDelay = print.printColDelay; } if(print.printDelayMs != printPre.printDelayMs){ printInit.printDelayMs = print.printDelayMs; } if(print.printTriggerMode != printPre.printTriggerMode){ printInit.printTriggerMode = print.printTriggerMode; } if(print.productCntPerOutputPulse != printPre.productCntPerOutputPulse){ printInit.productCntPerOutputPulse = print.productCntPerOutputPulse; } if(print.pulseOutputEnable != printPre.pulseOutputEnable){ printInit.pulseOutputEnable = print.pulseOutputEnable; } if(print.reducedPixelNumRatio != printPre.reducedPixelNumRatio){ printInit.reducedPixelNumRatio = print.reducedPixelNumRatio; } if(print.synClearCntInEleEyeMode != printPre.synClearCntInEleEyeMode){ printInit.synClearCntInEleEyeMode = print.synClearCntInEleEyeMode; } if(print.synTriggerPrintLenMm != printPre.synTriggerPrintLenMm){ printInit.synTriggerPrintLenMm = print.synTriggerPrintLenMm; } if(print.sysTriggerPrintMode != printPre.sysTriggerPrintMode){ printInit.sysTriggerPrintMode = print.sysTriggerPrintMode; } if(print.timeTriggerPrintDelayMs != printPre.timeTriggerPrintDelayMs){ printInit.timeTriggerPrintDelayMs = print.timeTriggerPrintDelayMs; } if(print.timeTriggerPrintMode != printPre.timeTriggerPrintMode){ printInit.timeTriggerPrintMode = print.timeTriggerPrintMode; } if(print.upDownInverse != printPre.upDownInverse){ printInit.upDownInverse = print.upDownInverse; } if(print.eleMaskTime != printPre.eleMaskTime){ printInit.eleMaskTime = print.eleMaskTime; } if(print.varLen != printPre.varLen){ printInit.varLen = print.varLen; } if(print.varLen1 != printPre.varLen1){ printInit.varLen1 = print.varLen1; } if(print.varLenEn != printPre.varLenEn){ printInit.varLenEn = print.varLenEn; } if(print.headLen != printPre.headLen){ printInit.headLen = print.headLen; } if(print.endLen != printPre.endLen){ printInit.endLen = print.endLen; } if(print.textEditLineSpace != printPre.textEditLineSpace){ printInit.textEditLineSpace = print.textEditLineSpace; } if(print.textEditCharSpace != printPre.textEditCharSpace){ printInit.textEditCharSpace = print.textEditCharSpace; } }