hlp:修改版本号规则

This commit is contained in:
kite_lucs
2026-08-27 09:10:41 +08:00
parent cbeb5f0e0a
commit ee7792077d
12 changed files with 664 additions and 633 deletions
+25 -16
View File
@@ -2700,23 +2700,30 @@ int DevOp::writeFpgaPrintPara(bool ignoreWarn){
QMessageBox::critical(NULL,tr("错误"),tr("在同步计米的情况下无打印串或显示区域为零")); QMessageBox::critical(NULL,tr("错误"),tr("在同步计米的情况下无打印串或显示区域为零"));
} }
else { else {
if(currPrintCol && type == 2){ // if(currPrintCol && type == 2){
int synNumPerCol = displayAreaTotalSynNum*(1<<8)/(currPrintCol*(1 + sysPara->para.charBold)); // int synNumPerCol = displayAreaTotalSynNum*(1<<8)/(currPrintCol*(1 + sysPara->para.charBold));
//加宽的时候,相当于列数翻倍 // //加宽的时候,相当于列数翻倍
if(displayAreaTotalSynNum >= (1<<24)){ // if(displayAreaTotalSynNum >= (1<<24)){
if(!ignoreWarn) // if(!ignoreWarn)
QMessageBox::critical(NULL,tr("错误"),tr("在同步计米的情况下喷印同步脉冲数过多,请检查你的配置")); // QMessageBox::critical(NULL,tr("错误"),tr("在同步计米的情况下喷印同步脉冲数过多,请检查你的配置"));
} // }
if(synNumPerCol >= (1<< 16)){ // if(synNumPerCol >= (1<< 16)){
if(!ignoreWarn) // if(!ignoreWarn)
QMessageBox::critical(NULL,tr("警告"),tr("喷印字符串太短,请增加字符串长度或在打印设置中减少喷印长度")); // QMessageBox::critical(NULL,tr("警告"),tr("喷印字符串太短,请增加字符串长度或在打印设置中减少喷印长度"));
} // }
if(synNumPerCol < 5){ // if(synNumPerCol < 5){
if(!ignoreWarn) // if(!ignoreWarn)
QMessageBox::critical(NULL,tr("警告"),tr("喷印长度太短,请减少字符串长度或在打印设置中增加喷印长度")); // QMessageBox::critical(NULL,tr("警告"),tr("喷印长度太短,请减少字符串长度或在打印设置中增加喷印长度"));
} // }
sysPara->para.synNumPerCol = synNumPerCol; // sysPara->para.synNumPerCol = synNumPerCol;
// sysPara->para.synNumPerCol = sysPara->para.printColDelay << 8;
// }/
if(currPrintCol){
sysPara->para.synNumPerCol = sysPara->para.printColDelay << 8;
} }
if(sysPara->para.synPulseNumPerMm<1 || sysPara->para.synPulseNumPerMm>50) { if(sysPara->para.synPulseNumPerMm<1 || sysPara->para.synPulseNumPerMm>50) {
} }
sysPara->para.synPulsePerMmX8 = (unsigned short)((unsigned int)sysPara->para.synPulseNumPerMm <<8); sysPara->para.synPulsePerMmX8 = (unsigned short)((unsigned int)sysPara->para.synPulseNumPerMm <<8);
@@ -3377,6 +3384,8 @@ void DevOp::printCtrl2(int cmd){
} }
unsigned int DevOp::readFpgaVersionNum(){ unsigned int DevOp::readFpgaVersionNum(){
if (sysPara == NULL) return 0;
fpgaRd(0x00EC,&sysPara->status.FPGAChipType,1); fpgaRd(0x00EC,&sysPara->status.FPGAChipType,1);
fpgaRd(0x00FE,(unsigned char *)&sysPara->status.fpgaVersionNum,2); fpgaRd(0x00FE,(unsigned char *)&sysPara->status.fpgaVersionNum,2);
fpgaRd(READ_BUILD_DAT, (unsigned char *)&sysPara->status.build_dat.builTime, sizeof(sysPara->status.build_dat.builTime)); fpgaRd(READ_BUILD_DAT, (unsigned char *)&sysPara->status.build_dat.builTime, sizeof(sysPara->status.build_dat.builTime));
+574 -536
View File
File diff suppressed because it is too large Load Diff
+26 -8
View File
@@ -101,14 +101,32 @@ private:
QTimer* viscosity_timer; QTimer* viscosity_timer;
QTimer* timer; QTimer* timer;
QTime t1; QTime t1;
bool m_rampDone = false; // pressureAdj 软启动完成标志
int m_adjSkip = 0; // pressureAdj 节拍计数 // 隔膜泵状态枚举
int m_lastPressure = 0; // pressureAdj 上次采样压力(稳定检测用) enum DiaphragmPumpState {
int m_stableCount = 0; // pressureAdj 压力连续稳定计数 DPUMP_STOPPED = 0, // 停止状态
int m_pressureBuf[10] = {}; // pressureAdj 压力滑动平均缓冲(10点=1s) DPUMP_STARTING = 1, // 启动爬升状态
int m_bufIdx = 0; // pressureAdj 滑动平均写入索引 DPUMP_RUNNING = 2 // 运行微调状态
bool m_lastReclaimMode = false; // 上次 flagOfReclaimPumEnable 状态,用于检测切换 };
bool m_lastByHand = false; // 上次 isPumpValveControledByHand 状态,用于检测手动、自动
// 隔膜泵控制参数
DiaphragmPumpState m_pumpState = DPUMP_STOPPED; // 泵当前状态
int m_stateChangeCount = 0; // 状态切换计数器(用于实现800ms间隔)
int m_adjSkip = 0; // 调节跳过计数器
int m_lastActualPressure = 0; // 上次实时压力(微分项用)
int m_startingStepCount = 0; // 启动步进计数器
int m_pressureBuf[10] = {}; // 压力滑动平均缓冲(10点=1s)
int m_bufIdx = 0; // 滑动平均写入索引
int m_bufValidCount = 0; // 缓冲区有效点数(用于启动阶段判断)
bool m_lastReclaimMode = false; // 上次回收泵使能状态
bool m_lastByHand = false; // 上次手动控制状态
// 隔膜泵控制函数
float calculateTargetSpeed(int err);
void handleStoppedState(int err, bool canSwitch);
void handleStartingState(int err, int actual, int target);
void handleRunningState(int err, bool canSwitch);
void autoControlHeater(); void autoControlHeater();
void autoControlValvePump(); void autoControlValvePump();
void detectAndcontrolReclaimTank(); void detectAndcontrolReclaimTank();
+3 -2
View File
@@ -417,13 +417,14 @@ void PrintSetting::updateSysParaToUI(){
void PrintSetting::showMachInfo(QString Mac) void PrintSetting::showMachInfo(QString Mac)
{ {
QString VernonBach; QString VernonBach;
VernonBach.sprintf("%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER; VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER;
} }
void PrintSetting::showRemoteControl(QString SuperNodeIP,QString EdgeIP) void PrintSetting::showRemoteControl(QString SuperNodeIP,QString EdgeIP)
{ {
QString VernonBach; QString VernonBach;
VernonBach.sprintf("%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); // VernonBach.sprintf("%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
VernonBach=SUB_RFID;
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER; VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER;
} }
+2 -23
View File
@@ -369,33 +369,12 @@ QString Public::DateToString(char const *time){
int month, day, year; int month, day, year;
//struct tm t = {0}; //struct tm t = {0};
static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
//qDebug()<<time;
sscanf(time, "%s %d %d", s_month, &day, &year); sscanf(time, "%s %d %d", s_month, &day, &year);
//qDebug()<<time<<s_month<<day<<year;
month = ((strstr(month_names, s_month)-month_names)/3)+1; month = ((strstr(month_names, s_month)-month_names)/3)+1;
//qDebug()<<month<<s_month;
QString s; QString s;
s.sprintf("%04d-%02d-%02d",year,month,day); // s.sprintf("%04d-%02d-%02d",year,month,day);
return s; s.sprintf("%02d%02d",month,day);
}
QString Public::ArmDate2String(const char *date, const char *time)
{
char s_month[5];
int month, day, year;
static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
sscanf(date, "%s %d %d", s_month, &day, &year);
month = ((strstr(month_names, s_month)-month_names)/3)+1;
QString dateStr;
dateStr.sprintf("A%04d%02d%02d",year,month,day);
int hour, min, secend;
sscanf(time, "%d:%d:%d", &hour, &min, &secend);
QString timeStr;
timeStr.sprintf("%02d%02d", hour, min);
QString s = dateStr+timeStr;
return s; return s;
} }
-2
View File
@@ -36,8 +36,6 @@ public:
static time_t getDateFromMacro(const char *time); static time_t getDateFromMacro(const char *time);
static QString DateToString(const char *time); static QString DateToString(const char *time);
static QString ArmDate2String(const char * date, const char * time);
static QString ReadKeyBoardUse(); static QString ReadKeyBoardUse();
static int getType(int vartype); // 将变量类型进行转换,以处理横向字体 static int getType(int vartype); // 将变量类型进行转换,以处理横向字体
+1 -1
View File
@@ -57,7 +57,7 @@ DEFINES+=WARNING
DEFINES+=TEMPMIMA DEFINES+=TEMPMIMA
DEFINES+=COUNTER1_BY_GROUP #分段计米 DEFINES+=COUNTER1_BY_GROUP #分段计米
# DEFINES+=COUNTER2_BY_GROUP #分段计米2 #DEFINES+=COUNTER2_BY_GROUP #分段计米2
DEFINES+=_2DCODE_ #QR二维码 DEFINES+=_2DCODE_ #QR二维码
DEFINES+=PICSCENE DEFINES+=PICSCENE
#DEFINES+=__2451WIFI__ #DEFINES+=__2451WIFI__
+7 -21
View File
@@ -93,13 +93,11 @@ TriggerCtrl::TriggerCtrl(QWidget *parent) :
connect(pulseNumFix,SIGNAL(pulseNuxFixDone(float)),this,SLOT(onPulseNumFixDone(float))); connect(pulseNumFix,SIGNAL(pulseNuxFixDone(float)),this,SLOT(onPulseNumFixDone(float)));
updateSysStatusToUI(); updateSysStatusToUI();
QString s; QString s;
// s.sprintf("%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
s.sprintf("%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); s.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
s = s + (QString) Public::DateToString(__DATE__)+"_"+ QString(__TIME__)+"_"; s = s + (QString) Public::DateToString(__DATE__)+"."+SUB_VER+SUB_RFID;
// hlp :邓总要求,采用新的格式进行转换 0727
// s = Public::ArmDate2String(__DATE__, __TIME__);
ui->test_version->setText(s); ui->test_version->setText(s);
ui->checkBoxEleEyeMakeClean->setVisible(false); ui->checkBoxEleEyeMakeClean->setVisible(false);
tr("独立参数"); tr("独立参数");
@@ -398,16 +396,6 @@ void TriggerCtrl::updateSysStatusToUI(){
ui->spinBoxpluseSinal->setValue(sysPara->para.pulse_sinal_value); ui->spinBoxpluseSinal->setValue(sysPara->para.pulse_sinal_value);
t_init = 1; t_init = 1;
} }
// if((sysPara->para.printTriggerMode == PRINT_TRIGGER_SYNCHRONIZER))
// {
// ui->lineEditPulseCount ->setText(QString::number((int )((sysPara->para.synTriggerPrintLenMm)*sysPara->para.synPulseNumPerMm)));
// }
// else if(((sysPara->para.printTriggerMode == PRINT_TRIGGER_ELEC_EYE_VOLTATE_LEVEL
// ||sysPara->para.printTriggerMode == PRINT_TRIGGER_ELEC_EYE_EDGE)
// && sysPara->para.eleEyeTriggerSynPrintEn))
// {
// ui->lineEditPulseCount ->setText(QString::number( (int )((sysPara->para.elecEyeTriggerInterval)*sysPara->para.synPulseNumPerMm)));
// }
} }
} }
@@ -511,11 +499,9 @@ void TriggerCtrl::on_checkBoxPulseOutputEnable_clicked()
void TriggerCtrl::setBuildTime(QString s1) void TriggerCtrl::setBuildTime(QString s1)
{ {
QString s; QString s;
s.sprintf("A%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); // s.sprintf("A%d.%d.%02d%s%s_", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
s = s + (QString) Public::DateToString(__DATE__)+ "_"+ QString(__TIME__); s.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
// hlp :邓总要求,采用新的格式进行转换 0727 s = s + (QString) Public::DateToString(__DATE__)+"."+SUB_VER+SUB_RFID;//+ "_"+ QString(__TIME__)
// s = Public::ArmDate2String(__DATE__, __TIME__);
ui->test_version->setText(s+s1); ui->test_version->setText(s+s1);
} }
+6 -10
View File
@@ -2,21 +2,17 @@
#define VERBVERSION_H #define VERBVERSION_H
#include "myinclude.h" #include "myinclude.h"
/* /*
Major.Minor.Rivison.yyyy-MM-DD_Beta VX5.D.0826.0100-C
MACHINAE_VER.PUMP_VER.MMdd.SUB_VER+SUB_RFID
*/ */
#define UP_PRINTER_MAJOR_VER 6 #define MACHINAE_VER "VX5"
#define UP_PRINTER_MINOR_VER 8 #define PUMP_VER "D"
#define UP_PRINTER_RIVISION_VER 3 #define SUB_VER "0100"
// #define SUB_VERSION "_GuiL"
//#define SUB_VERSION "_JingZ"
//#define SUB_VERSION "_RFID"
#define SUB_VERSION "_Std"
// #define SUB_VERSION "_Std_VZ"
#ifdef __RFID_OLD #ifdef __RFID_OLD
#define SUB_RFID "_RO" #define SUB_RFID "_RO"
#else #else
#define SUB_RFID "" #define SUB_RFID "-C"
#endif #endif
//#define UP_PRINTER_STAGE_VER "Std" //#define UP_PRINTER_STAGE_VER "Std"
//#define UP_PRINTER_STAGE_VER "Beta" //#define UP_PRINTER_STAGE_VER "Beta"
+18 -12
View File
@@ -706,12 +706,12 @@ bool MainWindow::updatePhaseIndicatorLight(){
return sysPara->status.lastPhaseFault; return sysPara->status.lastPhaseFault;
} }
int MainWindow::getMaxSpeedCalcPara(){ double MainWindow::getMaxSpeedCalcPara(){
sysPara->para.printRowDelay = sysPara->para.currPrintMode; sysPara->para.printRowDelay = sysPara->para.currPrintMode;
if(sysPara->status.isPrinting == false) if(sysPara->status.isPrinting == false)
sysPara->status.pixNumPerCol = sysPara->status.currPrintRow; sysPara->status.pixNumPerCol = sysPara->status.currPrintRow;
else // else
sysPara->status.currPrintRow = sysPara->status.pixNumPerCol; // sysPara->status.currPrintRow = sysPara->status.pixNumPerCol;
sysPara->para.pixNumPerCol = sysPara->status.pixNumPerCol; sysPara->para.pixNumPerCol = sysPara->status.pixNumPerCol;
sysPara->para.reducedPixelNum = sysPara->para.reducedPixelNumRatio*sysPara->para.pixNumPerCol/100; sysPara->para.reducedPixelNum = sysPara->para.reducedPixelNumRatio*sysPara->para.pixNumPerCol/100;
@@ -724,9 +724,15 @@ int MainWindow::getMaxSpeedCalcPara(){
int dotNum = sysPara->para.divideRatio?(FPGA_SYS_HZ/(sysPara->para.divideRatio*2)):0;// 1s时间内墨点数 (即晶振频率 64000) int dotNum = sysPara->para.divideRatio?(FPGA_SYS_HZ/(sysPara->para.divideRatio*2)):0;// 1s时间内墨点数 (即晶振频率 64000)
int colNum = dotNumPerCol?dotNum/dotNumPerCol:0; // 第列可用墨点数 = 1s时间内墨点数/ 列需要墨点数 int colNum = dotNumPerCol?dotNum/dotNumPerCol:0; // 第列可用墨点数 = 1s时间内墨点数/ 列需要墨点数
int pulseNum = colNum*sysPara->para.synNumPerCol/(1<<8); //synNumPerCol是被放大后的值 double pulseNum = colNum*sysPara->para.synNumPerCol/(1<<8); //synNumPerCol是被放大后的值
return pulseNum; if(sysPara->para.divideRatio == 0 || sysPara->para.synPulseNumPerMm == 0)
return 600.0f;
double freq = (FPGA_SYS_HZ/(sysPara->para.divideRatio*2));
double ddotNumPerCol = sysPara->status.currPrintRow - (sysPara->status.currPrintRow * sysPara->para.reducedPixelNumRatio / 100.0);
pulseNum = sysPara->para.printColDelay / sysPara->para.synPulseNumPerMm / 1000.0 * freq / ddotNumPerCol * 60.0;
return qBound(0.0, pulseNum, 600.0);
} }
static int reclaimTankDelay = 0; static int reclaimTankDelay = 0;
@@ -792,8 +798,8 @@ void MainWindow::updateSysStatusToUI(){ //100ms
} }
else else
{ {
int pulsePS = getMaxSpeedCalcPara();//No67 double speed = getMaxSpeedCalcPara();//No67
maxMM = (pulsePS/sysPara->para.synPulseNumPerMm) * 60;// 列的最大间距 maxMM = int(speed * 1000.0);
} }
ui->labelSynRate->setText(tr("%1.%2[%3.%4]米/分").arg(mm/1000).arg(mm%1000,3,10,QLatin1Char('0')) ui->labelSynRate->setText(tr("%1.%2[%3.%4]米/分").arg(mm/1000).arg(mm%1000,3,10,QLatin1Char('0'))
.arg(maxMM/1000).arg(maxMM%1000,3,10,QLatin1Char('0'))); .arg(maxMM/1000).arg(maxMM%1000,3,10,QLatin1Char('0')));
@@ -846,8 +852,8 @@ void MainWindow::updateSysStatusToUI(){ //100ms
emit readFPGAVersionReady(); emit readFPGAVersionReady();
logflag5 = false; logflag5 = false;
sysPara->devOp->writeFpgaPrintPara(true); sysPara->devOp->writeFpgaPrintPara(true);
QString ARM_Version; QString ARM_Version = SUB_RFID;
ARM_Version.sprintf("%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); // ARM_Version.sprintf("%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
ui->labelFpgaVersionNum->setText(QString("A%1/F%2.%3.%4").arg(ARM_Version).arg(sysPara->status.fpgaVersionNum >> 12) ui->labelFpgaVersionNum->setText(QString("A%1/F%2.%3.%4").arg(ARM_Version).arg(sysPara->status.fpgaVersionNum >> 12)
.arg((sysPara->status.fpgaVersionNum>>8) & 0x0f).arg(sysPara->status.fpgaVersionNum&0xff) ); .arg((sysPara->status.fpgaVersionNum>>8) & 0x0f).arg(sysPara->status.fpgaVersionNum&0xff) );
} }
@@ -4621,8 +4627,8 @@ void MainWindow::UpdateUIVersion(){
QString STM32Ver = QString("S:%1.%2.%3_B%4").arg((sysPara->status.stm32Verion>>16)&0x7F) QString STM32Ver = QString("S:%1.%2.%3_B%4").arg((sysPara->status.stm32Verion>>16)&0x7F)
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF).arg(baudRateValue); .arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF).arg(baudRateValue);
QString VernonBach; QString VernonBach = SUB_RFID;
VernonBach.sprintf("A%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID); // VernonBach.sprintf("A%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
QString Mac = QString::number(sysPara->status.machineMac); QString Mac = QString::number(sysPara->status.machineMac);
LogInfo::showVerionInformation(Mac,VernonBach,fpgaVersion,STM32Ver,sysPara->status.flagOfPowerOnMode); LogInfo::showVerionInformation(Mac,VernonBach,fpgaVersion,STM32Ver,sysPara->status.flagOfPowerOnMode);
@@ -4642,4 +4648,4 @@ void MainWindow::checkPrintingInterval(){
return; return;
} }
} }
} }
+1 -1
View File
@@ -63,7 +63,7 @@ public:
void enableReclaimCtrlButton(bool enable); void enableReclaimCtrlButton(bool enable);
void resetReclaimCtrlButtonText(); void resetReclaimCtrlButtonText();
void enablePushButtonStart(bool enable); void enablePushButtonStart(bool enable);
int getMaxSpeedCalcPara(); double getMaxSpeedCalcPara();
void PreviewPressed(); void PreviewPressed();
int getCurrPrintStatus(); int getCurrPrintStatus();
+1 -1
View File
@@ -301,7 +301,7 @@ QTabBar::tab:selected {background-color: rgb(255, 170, 127)}
QTabBar::tab:!selected {margin-top: 5px;}</string> QTabBar::tab:!selected {margin-top: 5px;}</string>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tab_3"> <widget class="QWidget" name="tab_3">
<attribute name="title"> <attribute name="title">