last week
This commit is contained in:
@@ -51,77 +51,6 @@
|
|||||||
#include "rfid/rfidfunction.h"
|
#include "rfid/rfidfunction.h"
|
||||||
#include <QElapsedTimer>
|
#include <QElapsedTimer>
|
||||||
|
|
||||||
#define PRINT_CTRL_ADDR_BASE 0xa400
|
|
||||||
|
|
||||||
#define PRINT_DIGITAL_CHAR_BASE_ADDR (0xe000)
|
|
||||||
|
|
||||||
#define WRITE_CALENDAR_DAT_ADDR (0xb100)
|
|
||||||
|
|
||||||
#define RECYCLE_SLOT_STOP 0x1
|
|
||||||
#define RECYCLE_SLOT_CLOSE 0x2
|
|
||||||
#define RECYCLE_SLOT_OPEN 0x0
|
|
||||||
#define PRINT_START_STOP_CTRL (PRINT_CTRL_ADDR_BASE + 0x40)
|
|
||||||
#define PRINT_RESET_PRODUCT_CNT (PRINT_CTRL_ADDR_BASE + 0x41)
|
|
||||||
#define RECYCLE_SLOT_CTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x42)
|
|
||||||
#define RESUME_FAULT_ADDR (PRINT_CTRL_ADDR_BASE + 0x43)
|
|
||||||
|
|
||||||
#define VAR_CNT_ADDR (PRINT_CTRL_ADDR_BASE + 0x50)
|
|
||||||
#define VAR_CTRL_REG_ADDR (PRINT_CTRL_ADDR_BASE + 0x51)
|
|
||||||
#define MAININKCTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x59)
|
|
||||||
//#define MAININKCTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x5a)
|
|
||||||
#define WRITE_CNT1GROUP_COUNT 0xB13E
|
|
||||||
#define WRITE_CNT1GROUP_NUM 0xB13F
|
|
||||||
#define WRITE_CNT1GROUP_SETTING 0xB140
|
|
||||||
#define READ_CNT1GROUP_CURR_LOOP 0x0190
|
|
||||||
#define READ_CNT1GROUP_CURR_INDEX 0x0194
|
|
||||||
|
|
||||||
#define FPGA_STATUS_BASE_ADDR 0x0000
|
|
||||||
#define FPGA_VERSOIN_NUM (FPGA_STATUS_BASE_ADDR + 0xfe)
|
|
||||||
|
|
||||||
|
|
||||||
#define READ_BUILD_DAT (FPGA_STATUS_BASE_ADDR + 0xf0)
|
|
||||||
|
|
||||||
#define READ_PRINTDATA_XOR (FPGA_STATUS_BASE_ADDR + 0xf2)
|
|
||||||
#define READ_SYNC_COUNTER (FPGA_STATUS_BASE_ADDR + 0xf4)
|
|
||||||
|
|
||||||
#define PHASE_DETECT_HIGH_VOLTAGE_TM 0x100
|
|
||||||
#define READ_CALENDAR_DAT_ADDR 0x180
|
|
||||||
|
|
||||||
#define READ_RAND_FIFO_ADDR 0x200 // 读FPGA的随机码FIFO
|
|
||||||
|
|
||||||
#define ROW_PRINT_SEQNENCE_ADDR 0xb200 //行扫描顺序
|
|
||||||
#define DAC_TABLE_ADDR 0xb280 //每一个行点对应的DAC值
|
|
||||||
#define NOT_GAP_DAC_TABLE_ADDR 0xb380 //每一个不隔点对应的DAC值
|
|
||||||
#define FULL_COL_DAC_TABLE_ADDR 0xb480 //每一个不隔点对应的DAC值
|
|
||||||
|
|
||||||
#define MATCH_FULL_DAC_TABLE_ADDR 0xB500 // 匹配满列 DAC表 起始地址
|
|
||||||
#define MATCH_1_DAC_TABLE_ADDR 0xB600 // 匹配单点 DAC表 起始地址
|
|
||||||
#define MATCH_2_DAC_TABLE_ADDR 0xB700 // 匹配两点 DAC表 起始地址
|
|
||||||
#define MATCH_3_DAC_TABLE_ADDR 0xB800 // 匹配三点 DAC表 起始地址
|
|
||||||
#define MATCH_4_DAC_TABLE_ADDR 0xB900 // 匹配四点 DAC表 起始地址
|
|
||||||
#define MATCH_5_DAC_TABLE_ADDR 0xBA00 // 匹配五点 DAC表 起始地址
|
|
||||||
#define MATCH_G1_DAC_TABLE_ADDR 0xBC00 // 匹配空一点 DAC表 起始地址
|
|
||||||
#define MATCH_G2_DAC_TABLE_ADDR 0xBC80 // 匹配空两点 DAC表 起始地址
|
|
||||||
#define MATCH_G3_DAC_TABLE_ADDR 0xBD00 // 匹配空三点 DAC表 起始地址
|
|
||||||
#define MATCH_G4_DAC_TABLE_ADDR 0xBD80 // 匹配空四点 DAC表 起始地址
|
|
||||||
#define MATCH_G5_DAC_TABLE_ADDR 0xBE00 // 匹配空五点 DAC表 起始地址
|
|
||||||
#define MATCH_G6_DAC_TABLE_ADDR 0xBE80 // 匹配空六点 DAC表 起始地址
|
|
||||||
#define MATCH_P1_DAC_TABLE_ADDR 0xBF00 // 匹配预备一 DAC表 起始地址
|
|
||||||
#define MATCH_P2_DAC_TABLE_ADDR 0xBF80 // 匹配预备二 DAC表 起始地址
|
|
||||||
#define MATCH_C_DAC_TABLE_ADDR 0xC000 // 匹配复杂 DAC表 起始地址
|
|
||||||
|
|
||||||
#define WRITE_COUNTER3_ADDR (0xb150)
|
|
||||||
#define WRITE_COUNTER4_ADDR (0xb164)
|
|
||||||
//#define READ_CNT3_CURVALUE_ADDR 0x01b4
|
|
||||||
#define READ_CNT3_CURVALUE_ADDR 0x1834
|
|
||||||
|
|
||||||
#define LOCADDR '1'
|
|
||||||
|
|
||||||
#define NOLEDLIGHT 0x10
|
|
||||||
#define REDLIGHTCODE 0X11
|
|
||||||
#define YELLOWLIGHTCODE 0X13
|
|
||||||
#define GREENLIGHTCODE 0X12
|
|
||||||
|
|
||||||
unsigned short DACArray[64];
|
unsigned short DACArray[64];
|
||||||
quint16 notGapDACArray[64];
|
quint16 notGapDACArray[64];
|
||||||
quint16 fullColDACArray[64];
|
quint16 fullColDACArray[64];
|
||||||
@@ -2629,16 +2558,16 @@ int DevOp::writeFpgaPrintPara(bool ignoreWarn){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(type == 6 || type == 8){
|
else if(sysPara->status.build_dat.builTime == 73){
|
||||||
if(sysPara->status.currVoltageVersion != sysPara->status.lastVoltageVersion){
|
if(sysPara->status.currVoltageVersion != sysPara->status.lastVoltageVersion){
|
||||||
writeDacValue2Fpga_No72NewVoltData();
|
writeDacValue2Fpga_No73();
|
||||||
sysPara->status.lastVoltageVersion = sysPara->status.currVoltageVersion;
|
sysPara->status.lastVoltageVersion = sysPara->status.currVoltageVersion;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(sysPara->status.build_dat.builTime == 73){
|
else if(type == 6 || type == 8){
|
||||||
if(sysPara->status.currVoltageVersion != sysPara->status.lastVoltageVersion){
|
if(sysPara->status.currVoltageVersion != sysPara->status.lastVoltageVersion){
|
||||||
writeDacValue2Fpga_No73();
|
writeDacValue2Fpga_No72NewVoltData();
|
||||||
sysPara->status.lastVoltageVersion = sysPara->status.currVoltageVersion;
|
sysPara->status.lastVoltageVersion = sysPara->status.currVoltageVersion;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2827,38 +2756,54 @@ int DevOp::writeFpgaPrintPara(bool ignoreWarn){
|
|||||||
sysPara->status.configDone = 1;
|
sysPara->status.configDone = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
QString arrayToStr(const T* arr, int n) {
|
||||||
|
if (n <= 0) return QString();
|
||||||
|
|
||||||
|
QString result;
|
||||||
|
for (int i = 0; i < n; ++i) {
|
||||||
|
if (i != 0) result += ',';
|
||||||
|
result += QString::number(arr[i]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void DevOp::writeDacValue2Fpga_No73()
|
void DevOp::writeDacValue2Fpga_No73()
|
||||||
{
|
{
|
||||||
// LogInfo::setRunStatusText(tr("No73 send DAC Data."));
|
LogInfo::setRunStatusText(tr("No73 send DAC Data."));
|
||||||
quint16 matchFullDACArray[48];
|
static quint16 matchFullDACArray[48];
|
||||||
quint16 matchStealDACArray[48];
|
static quint16 matchStealDACArray[48];
|
||||||
quint16 matchContinousDACArray[48];
|
static quint16 matchContinousDACArray[48];
|
||||||
|
|
||||||
quint16 rowDelayArray[64];
|
static quint16 rowDelayArray[64];
|
||||||
quint16 head1RowDelayArray[64];
|
static quint8 head1RowDelayArray[64];
|
||||||
|
static quint8 fullColRowDelayArray[64];
|
||||||
|
|
||||||
quint8 adjDACParameter[64];
|
static quint8 adjDACParameter[64];
|
||||||
|
|
||||||
quint8 matchTotalTableDACArray[15][64];
|
static quint16 matchTotalTableDACArray[15][64];
|
||||||
quint8* matchOneDACArray = &matchTotalTableDACArray[0][0];
|
quint16* matchOneDACArray = &matchTotalTableDACArray[0][0];
|
||||||
quint8* matchTwoDACArray = &matchTotalTableDACArray[1][0];
|
quint16* matchTwoDACArray = &matchTotalTableDACArray[1][0];
|
||||||
quint8* matchThreeDACArray = &matchTotalTableDACArray[3][0];
|
quint16* matchThreeDACArray = &matchTotalTableDACArray[3][0];
|
||||||
quint8* matchFourDACArray = &matchTotalTableDACArray[6][0];
|
quint16* matchFourDACArray = &matchTotalTableDACArray[6][0];
|
||||||
quint8* matchFiveDACArray = &matchTotalTableDACArray[10][0];
|
quint16* matchFiveDACArray = &matchTotalTableDACArray[10][0];
|
||||||
|
|
||||||
quint8 matchPrevious1DotDACArray[48];
|
static quint8 matchPrevious1DotDACArray[48];
|
||||||
quint8 matchPrevious2DotDACArray[48];
|
static quint8 matchPrevious2DotDACArray[48];
|
||||||
quint8 matchPrevious3DotDACArray[48];
|
static quint8 matchPrevious3DotDACArray[48];
|
||||||
quint8 matchPrevious4DotDACArray[48];
|
static quint8 matchPrevious4DotDACArray[48];
|
||||||
quint8 matchPrevious5DotDACArray[48];
|
static quint8 matchPrevious5DotDACArray[48];
|
||||||
quint8 matchGapDACArray[64][5];
|
static quint8 matchGapDACArray[64][5];
|
||||||
quint8 matchP3dotGapDACArray[64][5];
|
static quint8 matchP3dotGapDACArray[64][5];
|
||||||
|
|
||||||
memset(matchFullDACArray, 0, sizeof(matchFullDACArray));
|
memset(matchFullDACArray, 0, sizeof(matchFullDACArray));
|
||||||
memset(matchStealDACArray, 0, sizeof(matchStealDACArray));
|
memset(matchStealDACArray, 0, sizeof(matchStealDACArray));
|
||||||
memset(matchContinousDACArray, 0, sizeof(matchContinousDACArray));
|
memset(matchContinousDACArray, 0, sizeof(matchContinousDACArray));
|
||||||
memset(rowDelayArray, 0, sizeof(rowDelayArray));
|
memset(rowDelayArray, 0, sizeof(rowDelayArray));
|
||||||
memset(head1RowDelayArray, 0, sizeof(head1RowDelayArray));
|
memset(head1RowDelayArray, 0, sizeof(head1RowDelayArray));
|
||||||
|
memset(fullColRowDelayArray, 0, sizeof(fullColRowDelayArray));
|
||||||
|
|
||||||
memset(matchTotalTableDACArray, 0, sizeof(matchTotalTableDACArray));
|
memset(matchTotalTableDACArray, 0, sizeof(matchTotalTableDACArray));
|
||||||
|
|
||||||
@@ -2871,6 +2816,8 @@ void DevOp::writeDacValue2Fpga_No73()
|
|||||||
memset(matchP3dotGapDACArray, 0, sizeof(matchP3dotGapDACArray));
|
memset(matchP3dotGapDACArray, 0, sizeof(matchP3dotGapDACArray));
|
||||||
memset(adjDACParameter, 0, sizeof(adjDACParameter));
|
memset(adjDACParameter, 0, sizeof(adjDACParameter));
|
||||||
|
|
||||||
|
int baseDacScale = sysPara->para.endVoltage;
|
||||||
|
|
||||||
QFile file("./conf/full_dac_raw.txt");
|
QFile file("./conf/full_dac_raw.txt");
|
||||||
file.open(QIODevice::WriteOnly);
|
file.open(QIODevice::WriteOnly);
|
||||||
for (int i = 0; i < 48; i++)
|
for (int i = 0; i < 48; i++)
|
||||||
@@ -2920,13 +2867,24 @@ void DevOp::writeDacValue2Fpga_No73()
|
|||||||
out << sysPara->voltePara_No73.head1_row_delay_table[i]<< "\n";
|
out << sysPara->voltePara_No73.head1_row_delay_table[i]<< "\n";
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
|
file.setFileName("./conf/full_row_delay.txt");
|
||||||
|
file.open(QIODevice::WriteOnly);
|
||||||
|
for (int i = 0; i < 48; i++)
|
||||||
|
{
|
||||||
|
QTextStream out(&file);
|
||||||
|
fullColRowDelayArray[i] = sysPara->voltePara_No73.full_row_delay_table[i];
|
||||||
|
out << sysPara->voltePara_No73.full_row_delay_table[i]<< "\n";
|
||||||
|
}
|
||||||
|
file.close();
|
||||||
|
|
||||||
file.setFileName("./conf/1_table_dac_raw.txt");
|
file.setFileName("./conf/1_table_dac_raw.txt");
|
||||||
file.open(QIODevice::WriteOnly);
|
file.open(QIODevice::WriteOnly);
|
||||||
for (int i = 0; i < 48; i++)
|
for (int i = 0; i < 48; i++)
|
||||||
{
|
{
|
||||||
QTextStream out(&file);
|
QTextStream out(&file);
|
||||||
*matchOneDACArray = sysPara->voltePara_No73.pixel_1_table[i];// - head1_base_table[i];
|
*matchOneDACArray = sysPara->voltePara_No73.pixel_1_table[i];// - head1_base_table[i];
|
||||||
out << sysPara->voltePara_No73.pixel_1_table[i] <<" "<< *matchOneDACArray << "\n";
|
out << sysPara->voltePara_No73.pixel_1_table[i] << "\n";
|
||||||
++matchOneDACArray;
|
++matchOneDACArray;
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
@@ -3065,27 +3023,92 @@ void DevOp::writeDacValue2Fpga_No73()
|
|||||||
|
|
||||||
file.setFileName("./conf/general_dac_parameter.txt");
|
file.setFileName("./conf/general_dac_parameter.txt");
|
||||||
file.open(QIODevice::WriteOnly);
|
file.open(QIODevice::WriteOnly);
|
||||||
for (int i = 0; i < sizeof(sysPara->voltePara_No73.pixel_general_dac_parameter)/sizeof(sysPara->voltePara_No73.pixel_general_dac_parameter[0]); i++)
|
for (int i = 0; i < sizeof(sysPara->voltePara_No73.pixel_para_table)/sizeof(sysPara->voltePara_No73.pixel_para_table[0]); i++)
|
||||||
{
|
{
|
||||||
adjDACParameter[i] = sysPara->voltePara_No73.pixel_general_dac_parameter[i];
|
adjDACParameter[i] = sysPara->voltePara_No73.pixel_para_table[i];
|
||||||
QTextStream out(&file);
|
QTextStream out(&file);
|
||||||
out << adjDACParameter[i];
|
out << adjDACParameter[i];
|
||||||
out << "\n";
|
out << "\n";
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
|
#if 0 /* apply scale */
|
||||||
|
for (int i = 0; i < sizeof(matchFullDACArray)/sizeof (matchFullDACArray[0]); i++)
|
||||||
|
{
|
||||||
|
matchFullDACArray[i] = (matchFullDACArray[i] * baseDacScale)/100;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < sizeof(matchContinousDACArray)/sizeof (matchContinousDACArray[0]); i++)
|
||||||
|
{
|
||||||
|
matchContinousDACArray[i] = (matchContinousDACArray[i] * baseDacScale)/100;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 15; i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < 64; j++)
|
||||||
|
{
|
||||||
|
matchTotalTableDACArray[i][j] = (matchTotalTableDACArray[i][j] * baseDacScale)/100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 48; i++)
|
||||||
|
{
|
||||||
|
QTextStream out(&file);
|
||||||
|
sysPara->voltePara_No73.pixel_full_table[i] = (sysPara->voltePara_No73.pixel_full_table[i]* baseDacScale)/100;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 48; i++)
|
||||||
|
{
|
||||||
|
QTextStream out(&file);
|
||||||
|
sysPara->voltePara_No73.pixel_continous_table[i] = (sysPara->voltePara_No73.pixel_continous_table[i]* baseDacScale)/100;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 48; i++)
|
||||||
|
{
|
||||||
|
sysPara->voltePara_No73.pixel_1_table[i] = (sysPara->voltePara_No73.pixel_1_table[i]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_2_table[i][0] = (sysPara->voltePara_No73.pixel_2_table[i][0]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_2_table[i][1] = (sysPara->voltePara_No73.pixel_2_table[i][1]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_3_table[i][0] = (sysPara->voltePara_No73.pixel_3_table[i][0]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_3_table[i][1] = (sysPara->voltePara_No73.pixel_3_table[i][1]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_3_table[i][2] = (sysPara->voltePara_No73.pixel_3_table[i][2]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_4_table[i][0] = (sysPara->voltePara_No73.pixel_4_table[i][0]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_4_table[i][1] = (sysPara->voltePara_No73.pixel_4_table[i][1]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_4_table[i][2] = (sysPara->voltePara_No73.pixel_4_table[i][2]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_4_table[i][3] = (sysPara->voltePara_No73.pixel_4_table[i][3]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_5_table[i][0] = (sysPara->voltePara_No73.pixel_5_table[i][0]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_5_table[i][1] = (sysPara->voltePara_No73.pixel_5_table[i][1]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_5_table[i][2] = (sysPara->voltePara_No73.pixel_5_table[i][2]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_5_table[i][3] = (sysPara->voltePara_No73.pixel_5_table[i][3]* baseDacScale)/100;
|
||||||
|
sysPara->voltePara_No73.pixel_5_table[i][4] = (sysPara->voltePara_No73.pixel_5_table[i][4]* baseDacScale)/100;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
fpgaWr(0xB300, (unsigned char *)(matchFullDACArray), sizeof (matchFullDACArray));
|
fpgaWr(0xB300, (unsigned char *)(matchFullDACArray), sizeof (matchFullDACArray));
|
||||||
fpgaWr(0xB380, (unsigned char *)(matchContinousDACArray), sizeof (matchContinousDACArray));
|
fpgaWr(0xB380, (unsigned char *)(matchContinousDACArray), sizeof (matchContinousDACArray));
|
||||||
|
|
||||||
fpgaWr(0xB400, (unsigned char *)(&rowDelayArray[0]), sizeof (rowDelayArray));
|
fpgaWr(0xB400, (unsigned char *)(&rowDelayArray[0]), sizeof (rowDelayArray));
|
||||||
fpgaWr(0xB480, (unsigned char *)(&head1RowDelayArray[0]), sizeof (head1RowDelayArray));
|
fpgaWr(0xB480, (unsigned char *)(&head1RowDelayArray[0]), sizeof(head1RowDelayArray));
|
||||||
|
fpgaWr(0xB4C0, (unsigned char *)(&fullColRowDelayArray[0]), sizeof (fullColRowDelayArray));
|
||||||
|
|
||||||
fpgaWr(0xB500, (unsigned char *)(matchTotalTableDACArray[0]), sizeof (matchTotalTableDACArray));
|
fpgaWr(0xA600, (unsigned char *)(matchTotalTableDACArray[0]), sizeof (matchTotalTableDACArray));
|
||||||
fpgaWr(0xBC00, (unsigned char *)(matchP3dotGapDACArray[0]), sizeof (matchP3dotGapDACArray));
|
// fpgaWr(0xA600, (unsigned char *)(sysPara->voltePara_No73.pixel_1_table), sizeof(sysPara->voltePara_No73.pixel_1_table));
|
||||||
|
|
||||||
|
//fpgaWr(0xB500, (unsigned char *)(matchTotalTableDACArray[0]), sizeof (matchTotalTableDACArray));
|
||||||
|
fpgaWr(0xBC00, (unsigned char *)(matchP3dotGapDACArray[0]), sizeof (matchP3dotGapDACArray)); // 0xBC00 - 0xBD40
|
||||||
fpgaWr(0xBE00, (unsigned char *)(matchGapDACArray[0]), sizeof (matchGapDACArray));
|
fpgaWr(0xBE00, (unsigned char *)(matchGapDACArray[0]), sizeof (matchGapDACArray));
|
||||||
fpgaWr(0xC000, (unsigned char *)sysPara->voltePara_No73.pixel_big_table, sizeof(sysPara->voltePara_No73.pixel_big_table));// 写入8个 big data
|
fpgaWr(0xC000, (unsigned char *)sysPara->voltePara_No73.pixel_big_table, sizeof(sysPara->voltePara_No73.pixel_big_table));// 写入8个 big data
|
||||||
fpgaWr(0xC100, (unsigned char *)adjDACParameter, sizeof(adjDACParameter));// 写入8个
|
fpgaWr(0xC100, (unsigned char *)adjDACParameter, sizeof(adjDACParameter));// 写入8个
|
||||||
|
|
||||||
|
LogInfo::setRunStatusText("Write dac value to fpga no 73:");
|
||||||
|
// TODO:: 用setRunStatusText输出上面十组数据的前10位的十六进制值
|
||||||
|
|
||||||
|
LogInfo::setRunStatusText("0xB300: 0x" + arrayToStr(matchFullDACArray, 10));
|
||||||
|
LogInfo::setRunStatusText("0xB380: 0x" + arrayToStr(matchContinousDACArray, 10));
|
||||||
|
LogInfo::setRunStatusText("0xB400: 0x" + arrayToStr(rowDelayArray, 10));
|
||||||
|
LogInfo::setRunStatusText("0xB480: 0x" + arrayToStr(head1RowDelayArray, 10));
|
||||||
|
LogInfo::setRunStatusText("0xB4C0: 0x" + arrayToStr(fullColRowDelayArray, 10));
|
||||||
|
LogInfo::setRunStatusText("0xA600: 0x" + arrayToStr(matchTotalTableDACArray[0], 10));
|
||||||
|
LogInfo::setRunStatusText("0xBC00: 0x" + arrayToStr(matchP3dotGapDACArray[6], 5));
|
||||||
|
LogInfo::setRunStatusText("0xBE00: 0x" + arrayToStr(matchGapDACArray[6], 5));
|
||||||
|
LogInfo::setRunStatusText("0xC000: 0x" + arrayToStr(sysPara->voltePara_No73.pixel_big_table[0], 8));
|
||||||
|
LogInfo::setRunStatusText("0xC100: 0x" + arrayToStr(adjDACParameter, 5));
|
||||||
}
|
}
|
||||||
// 齿轮泵设置
|
// 齿轮泵设置
|
||||||
unsigned char dataofGearPump[2];
|
unsigned char dataofGearPump[2];
|
||||||
@@ -3270,6 +3293,7 @@ void DevOp::printCtrl2(int cmd){
|
|||||||
unsigned int DevOp::readFpgaVersionNum(){
|
unsigned int DevOp::readFpgaVersionNum(){
|
||||||
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));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,76 @@ class SysPara;
|
|||||||
#define WARN_STATUS_HDINT (1<<1) /*喷头盖,盖上为0,否则为1,必须盖上才能打印,电磁铁有正反面*/
|
#define WARN_STATUS_HDINT (1<<1) /*喷头盖,盖上为0,否则为1,必须盖上才能打印,电磁铁有正反面*/
|
||||||
#define WARN_STATUS_VISCOTITY_MEASURE_READY (1<<0) // 球已经到上位等灯
|
#define WARN_STATUS_VISCOTITY_MEASURE_READY (1<<0) // 球已经到上位等灯
|
||||||
|
|
||||||
|
#define PRINT_CTRL_ADDR_BASE 0xa400
|
||||||
|
|
||||||
|
#define PRINT_DIGITAL_CHAR_BASE_ADDR (0xe000)
|
||||||
|
|
||||||
|
#define WRITE_CALENDAR_DAT_ADDR (0xb100)
|
||||||
|
|
||||||
|
#define RECYCLE_SLOT_STOP 0x1
|
||||||
|
#define RECYCLE_SLOT_CLOSE 0x2
|
||||||
|
#define RECYCLE_SLOT_OPEN 0x0
|
||||||
|
#define PRINT_START_STOP_CTRL (PRINT_CTRL_ADDR_BASE + 0x40)
|
||||||
|
#define PRINT_RESET_PRODUCT_CNT (PRINT_CTRL_ADDR_BASE + 0x41)
|
||||||
|
#define RECYCLE_SLOT_CTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x42)
|
||||||
|
#define RESUME_FAULT_ADDR (PRINT_CTRL_ADDR_BASE + 0x43)
|
||||||
|
|
||||||
|
#define VAR_CNT_ADDR (PRINT_CTRL_ADDR_BASE + 0x50)
|
||||||
|
#define VAR_CTRL_REG_ADDR (PRINT_CTRL_ADDR_BASE + 0x51)
|
||||||
|
#define MAININKCTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x59)
|
||||||
|
//#define MAININKCTRL_ADDR (PRINT_CTRL_ADDR_BASE + 0x5a)
|
||||||
|
#define WRITE_CNT1GROUP_COUNT 0xB13E
|
||||||
|
#define WRITE_CNT1GROUP_NUM 0xB13F
|
||||||
|
#define WRITE_CNT1GROUP_SETTING 0xB140
|
||||||
|
#define READ_CNT1GROUP_CURR_LOOP 0x0190
|
||||||
|
#define READ_CNT1GROUP_CURR_INDEX 0x0194
|
||||||
|
|
||||||
|
#define FPGA_STATUS_BASE_ADDR 0x0000
|
||||||
|
#define FPGA_VERSOIN_NUM (FPGA_STATUS_BASE_ADDR + 0xfe)
|
||||||
|
|
||||||
|
|
||||||
|
#define READ_BUILD_DAT (FPGA_STATUS_BASE_ADDR + 0xf0)
|
||||||
|
|
||||||
|
#define READ_PRINTDATA_XOR (FPGA_STATUS_BASE_ADDR + 0xf2)
|
||||||
|
#define READ_SYNC_COUNTER (FPGA_STATUS_BASE_ADDR + 0xf4)
|
||||||
|
|
||||||
|
#define PHASE_DETECT_HIGH_VOLTAGE_TM 0x100
|
||||||
|
#define READ_CALENDAR_DAT_ADDR 0x180
|
||||||
|
|
||||||
|
#define READ_RAND_FIFO_ADDR 0x200 // 读FPGA的随机码FIFO
|
||||||
|
|
||||||
|
#define ROW_PRINT_SEQNENCE_ADDR 0xb200 //行扫描顺序
|
||||||
|
#define DAC_TABLE_ADDR 0xb280 //每一个行点对应的DAC值
|
||||||
|
#define NOT_GAP_DAC_TABLE_ADDR 0xb380 //每一个不隔点对应的DAC值
|
||||||
|
#define FULL_COL_DAC_TABLE_ADDR 0xb480 //每一个不隔点对应的DAC值
|
||||||
|
|
||||||
|
#define MATCH_FULL_DAC_TABLE_ADDR 0xB500 // 匹配满列 DAC表 起始地址
|
||||||
|
#define MATCH_1_DAC_TABLE_ADDR 0xB600 // 匹配单点 DAC表 起始地址
|
||||||
|
#define MATCH_2_DAC_TABLE_ADDR 0xB700 // 匹配两点 DAC表 起始地址
|
||||||
|
#define MATCH_3_DAC_TABLE_ADDR 0xB800 // 匹配三点 DAC表 起始地址
|
||||||
|
#define MATCH_4_DAC_TABLE_ADDR 0xB900 // 匹配四点 DAC表 起始地址
|
||||||
|
#define MATCH_5_DAC_TABLE_ADDR 0xBA00 // 匹配五点 DAC表 起始地址
|
||||||
|
#define MATCH_G1_DAC_TABLE_ADDR 0xBC00 // 匹配空一点 DAC表 起始地址
|
||||||
|
#define MATCH_G2_DAC_TABLE_ADDR 0xBC80 // 匹配空两点 DAC表 起始地址
|
||||||
|
#define MATCH_G3_DAC_TABLE_ADDR 0xBD00 // 匹配空三点 DAC表 起始地址
|
||||||
|
#define MATCH_G4_DAC_TABLE_ADDR 0xBD80 // 匹配空四点 DAC表 起始地址
|
||||||
|
#define MATCH_G5_DAC_TABLE_ADDR 0xBE00 // 匹配空五点 DAC表 起始地址
|
||||||
|
#define MATCH_G6_DAC_TABLE_ADDR 0xBE80 // 匹配空六点 DAC表 起始地址
|
||||||
|
#define MATCH_P1_DAC_TABLE_ADDR 0xBF00 // 匹配预备一 DAC表 起始地址
|
||||||
|
#define MATCH_P2_DAC_TABLE_ADDR 0xBF80 // 匹配预备二 DAC表 起始地址
|
||||||
|
#define MATCH_C_DAC_TABLE_ADDR 0xC000 // 匹配复杂 DAC表 起始地址
|
||||||
|
|
||||||
|
#define WRITE_COUNTER3_ADDR (0xb150)
|
||||||
|
#define WRITE_COUNTER4_ADDR (0xb164)
|
||||||
|
//#define READ_CNT3_CURVALUE_ADDR 0x01b4
|
||||||
|
#define READ_CNT3_CURVALUE_ADDR 0x1834
|
||||||
|
|
||||||
|
#define LOCADDR '1'
|
||||||
|
|
||||||
|
#define NOLEDLIGHT 0x10
|
||||||
|
#define REDLIGHTCODE 0X11
|
||||||
|
#define YELLOWLIGHTCODE 0X13
|
||||||
|
#define GREENLIGHTCODE 0X12
|
||||||
|
|
||||||
#define FPGA_SYS_HZ 100000000
|
#define FPGA_SYS_HZ 100000000
|
||||||
|
|
||||||
|
|||||||
+156
-32
@@ -53,25 +53,27 @@ InkJetPrinter::InkJetPrinter(QWidget* parent)
|
|||||||
InkJetPrinter::~InkJetPrinter()
|
InkJetPrinter::~InkJetPrinter()
|
||||||
{
|
{
|
||||||
if(m_serialThreadFPGA->isRunning()){
|
if(m_serialThreadFPGA->isRunning()){
|
||||||
|
m_serialThreadFPGA->requestInterruption();
|
||||||
m_serialThreadFPGA->quit();
|
m_serialThreadFPGA->quit();
|
||||||
m_serialThreadFPGA->wait();
|
m_serialThreadFPGA->wait();
|
||||||
}
|
}
|
||||||
if(m_serialThreadSTM32->isRunning()){
|
if(m_serialThreadSTM32->isRunning()){
|
||||||
|
m_serialThreadSTM32->requestInterruption();
|
||||||
m_serialThreadSTM32->quit();
|
m_serialThreadSTM32->quit();
|
||||||
m_serialThreadSTM32->wait();
|
m_serialThreadSTM32->wait();
|
||||||
}
|
}
|
||||||
if(serialFPGA)
|
if(serialFPGA){
|
||||||
delete serialFPGA;
|
delete serialFPGA;
|
||||||
if(serialSTM32)
|
serialFPGA = nullptr;
|
||||||
|
}
|
||||||
|
if(serialSTM32){
|
||||||
delete serialSTM32;
|
delete serialSTM32;
|
||||||
|
serialSTM32 = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::init()
|
void InkJetPrinter::init()
|
||||||
{
|
{
|
||||||
timer = new QTimer();
|
|
||||||
connect(timer, SIGNAL(timeout()), this, SLOT(timerHandler()));
|
|
||||||
timer->start(10);
|
|
||||||
|
|
||||||
// 创建自定义子控件(原逻辑不变)
|
// 创建自定义子控件(原逻辑不变)
|
||||||
m_MainWidget = new MainWidget(this);
|
m_MainWidget = new MainWidget(this);
|
||||||
m_TestPrintWidget = new TestPrintWidget(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(getFPGAXXXDay(unsigned char*)),this,SLOT(saveFPGAXXXDay(unsigned char*)));
|
||||||
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
||||||
connect(serialFPGA,SIGNAL(queueFPGASizeSIG(int)),this,SLOT(showqueueFPGAsize(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();
|
m_serialThreadSTM32 = new QThread();
|
||||||
serialSTM32 = new Serial("/dev/ttyAS2");
|
serialSTM32 = new Serial("/dev/ttyAS2");
|
||||||
@@ -232,10 +239,19 @@ void InkJetPrinter::init()
|
|||||||
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
|
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
|
||||||
|
|
||||||
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),this,SLOT(showSTM32queuesize(int)));
|
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(sigToCloseSerialFPGA()),this,SLOT(closeSerialFPGA()));
|
||||||
connect(m_SystemManage,SIGNAL(sigToCloseSerialSTM32()),this,SLOT(closeSerialSTM32()));
|
connect(m_SystemManage,SIGNAL(sigToCloseSerialSTM32()),this,SLOT(closeSerialSTM32()));
|
||||||
connect(m_SystemManage,SIGNAL(restartSerial()),this,SLOT(restartSerialPort()));
|
connect(m_SystemManage,SIGNAL(restartSerial()),this,SLOT(restartSerialPort()));
|
||||||
|
connect(m_SystemManage, &SystemManage::rebootAppAcquired, this, &InkJetPrinter::rebootApp);
|
||||||
flagOfSerialThreadStratEn = true;
|
flagOfSerialThreadStratEn = true;
|
||||||
|
|
||||||
connect(m_SystemManage,SIGNAL(enableClick(bool)),this,SLOT(enableInkJetTabClick(bool)));
|
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::sendUpDateChARLIBSignal,m_SystemManage,&SystemManage::on_pushButtonUpdateCharLib_pressed);
|
||||||
connect(m_SystemUpdate,&SystemUpdate::sendButtonClickedSignal,this,&InkJetPrinter::getSystemManageWidgetButtonClickSlot);
|
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->status.machineMac = m_MainInstruction->dlgInputAddr->jd.addr;
|
||||||
sysPara->para.rfidCountDown = 5;
|
sysPara->para.rfidCountDown = 5;
|
||||||
|
|
||||||
|
timer = new QTimer();
|
||||||
|
connect(timer, SIGNAL(timeout()), this, SLOT(timerHandler()));
|
||||||
|
timer->start(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
// type 1,2: 分别显示计数器1或2的界面
|
// type 1,2: 分别显示计数器1或2的界面
|
||||||
@@ -747,10 +753,6 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
// sysPara->devOp->controlRedLight(false);
|
// 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);
|
sysPara->status.gearPumpRunSpeed = (PulseCnt * 60 * 1000) / (500 * 2);
|
||||||
if(!sysPara->para.gearPumpEnable)
|
if(!sysPara->para.gearPumpEnable)
|
||||||
sysPara->status.PRESSURE *= 5; //响应群众号召,数值放大五倍
|
sysPara->status.PRESSURE *= 5; //响应群众号召,数值放大五倍
|
||||||
@@ -1253,7 +1255,7 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
sysPara->status.waitHightVolOff--;
|
sysPara->status.waitHightVolOff--;
|
||||||
if(sysPara->status.waitHightVolOff==0){
|
if(sysPara->status.waitHightVolOff==0){
|
||||||
sysPara->devOp->highVoltageCtrl(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];
|
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;
|
sysPara->status.isPrinting = sysPara->status.dummy;
|
||||||
m_MainWidget->updatePrintDisplayLabel();
|
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)
|
QString STM32Ver = QString("%1.%2.%3").arg((sysPara->status.stm32Verion>>16)&0xFF)
|
||||||
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF);
|
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF);
|
||||||
qDebug()<<"STM32Ver:"<<STM32Ver;
|
qDebug()<<"STM32Ver:"<<STM32Ver;
|
||||||
|
|
||||||
|
LogInfo::setRunStatusText(QString("STM32Ver: %1").arg(STM32Ver));
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::saveSTM32Time(unsigned char *data){
|
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 Second = QString("%1").arg(datatime[7], 2, 10, QChar('0'));
|
||||||
QString date = Year+"-"+Month+"-"+Day+" "+Hour+":"+Minute+":"+Second;
|
QString date = Year+"-"+Month+"-"+Day+" "+Hour+":"+Minute+":"+Second;
|
||||||
qDebug()<<QString("readSTM32Date: %1").arg(date);
|
qDebug()<<QString("readSTM32Date: %1").arg(date);
|
||||||
// LogInfo::setRunStatusText(QString("readSTM32Date: %1").arg(date));
|
LogInfo::setRunStatusText(QString("readSTM32Date: %1").arg(date));
|
||||||
// LogInfo::setRunStatusText(QString("readSTM32Week: %1").arg(Week));
|
LogInfo::setRunStatusText(QString("readSTM32Week: %1").arg(Week));
|
||||||
m_SystemManage->PowerOnSetTime(date);
|
m_SystemManage->PowerOnSetTime(date);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1846,24 +1850,34 @@ void InkJetPrinter::closedSerial(){
|
|||||||
|
|
||||||
void InkJetPrinter::closeSerialFPGA(){
|
void InkJetPrinter::closeSerialFPGA(){
|
||||||
if(m_serialThreadFPGA->isRunning()){
|
if(m_serialThreadFPGA->isRunning()){
|
||||||
|
m_serialThreadFPGA->requestInterruption();
|
||||||
m_serialThreadFPGA->quit();
|
m_serialThreadFPGA->quit();
|
||||||
m_serialThreadFPGA->wait();
|
m_serialThreadFPGA->wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(serialFPGA)
|
if(serialFPGA){
|
||||||
delete serialFPGA;
|
delete serialFPGA;
|
||||||
|
serialFPGA = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::closeSerialSTM32(){
|
void InkJetPrinter::closeSerialSTM32(){
|
||||||
if(m_serialThreadSTM32->isRunning()){
|
if(m_serialThreadSTM32->isRunning()){
|
||||||
|
m_serialThreadSTM32->requestInterruption();
|
||||||
m_serialThreadSTM32->quit();
|
m_serialThreadSTM32->quit();
|
||||||
m_serialThreadSTM32->wait();
|
m_serialThreadSTM32->wait();
|
||||||
}
|
}
|
||||||
if(serialSTM32)
|
if(serialSTM32){
|
||||||
delete serialSTM32;
|
delete serialSTM32;
|
||||||
|
serialSTM32 = nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::restartSerialPort(){
|
void InkJetPrinter::restartSerialPort(){
|
||||||
|
|
||||||
|
closeSerialFPGA();
|
||||||
|
closeSerialSTM32();
|
||||||
|
|
||||||
serialFPGA = new Serial("/dev/ttyAS5");
|
serialFPGA = new Serial("/dev/ttyAS5");
|
||||||
serialFPGA->moveToThread(m_serialThreadFPGA);
|
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(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(getFPGAXXXDay(unsigned char*)),this,SLOT(saveFPGAXXXDay(unsigned char*)));
|
||||||
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
connect(serialFPGA,SIGNAL(queueSizeFPGA(int)),this,SLOT(showFPGAqueuesize(int)));
|
||||||
connect(serialFPGA,SIGNAL(queueFPGASizeSIG(int)),this,SLOT(showqueueFPGAsize(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 = new Serial("/dev/ttyAS2");
|
||||||
serialSTM32->moveToThread(m_serialThreadSTM32);
|
serialSTM32->moveToThread(m_serialThreadSTM32);
|
||||||
@@ -1894,6 +1912,14 @@ void InkJetPrinter::restartSerialPort(){
|
|||||||
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
|
connect(serialSTM32,SIGNAL(powerOffReady()),m_MainWidget,SLOT(powerOffConfirmed()));
|
||||||
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
|
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
|
||||||
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),this,SLOT(showSTM32queuesize(int)));
|
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;
|
flagOfSerialThreadStratEn = true;
|
||||||
}
|
}
|
||||||
@@ -2356,6 +2382,104 @@ void InkJetPrinter::viscosity_timerHandler()
|
|||||||
firstTime = 0;
|
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()
|
void InkJetPrinter::handleInitedPID()
|
||||||
{
|
{
|
||||||
PID_init();
|
PID_init();
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ private slots:
|
|||||||
// void getMainInterfaceWidgetButtonClickedSlot(int index);
|
// void getMainInterfaceWidgetButtonClickedSlot(int index);
|
||||||
void viscosity_timerHandler();
|
void viscosity_timerHandler();
|
||||||
|
|
||||||
|
void rebootApp();
|
||||||
|
|
||||||
void getFontSetWidgetButtonClickedSlot(int index);
|
void getFontSetWidgetButtonClickedSlot(int index);
|
||||||
void getPrintSettingButtonClickedSlot(int index);
|
void getPrintSettingButtonClickedSlot(int index);
|
||||||
void getMainInstructWidgetButtonClickedSlot(int index);
|
void getMainInstructWidgetButtonClickedSlot(int index);
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ void Serial::initSerialPort(const QString comport){
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
qDebug() << "STM32串口打开成功";
|
qDebug() << "STM32串口打开成功";
|
||||||
|
emit STM32Connected(true, "");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(comport == "/dev/ttyAS5"){
|
if(comport == "/dev/ttyAS5"){
|
||||||
@@ -72,6 +73,7 @@ void Serial::initSerialPort(const QString comport){
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
qDebug() << "STM32串口打开失败:" << serial->errorString();
|
qDebug() << "STM32串口打开失败:" << serial->errorString();
|
||||||
|
emit STM32Connected(false, serial->errorString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->FPGARecDataSavePtr=NULL;
|
this->FPGARecDataSavePtr=NULL;
|
||||||
@@ -257,8 +259,15 @@ void Serial::readFPGAData(QByteArray data) {
|
|||||||
memcpy(dataFPGA_1B8,recData.constData(),12);
|
memcpy(dataFPGA_1B8,recData.constData(),12);
|
||||||
emit getFPGAXXXDay(dataFPGA_1B8);
|
emit getFPGAXXXDay(dataFPGA_1B8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case READ_BUILD_DAT: {
|
||||||
|
int fpgaBuildDat = 0;
|
||||||
|
fpgaBuildDat = recData[7];
|
||||||
|
emit FPGABuildDat(fpgaBuildDat);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,9 @@ signals:
|
|||||||
void resendFPGAData(int,int,unsigned char *,int,int);
|
void resendFPGAData(int,int,unsigned char *,int,int);
|
||||||
void sendQueueData(int,int,unsigned char *,int,int);
|
void sendQueueData(int,int,unsigned char *,int,int);
|
||||||
void progress(int,int);
|
void progress(int,int);
|
||||||
|
void FPGABuildDat(int buildTime);
|
||||||
|
|
||||||
|
void STM32Connected(bool ok, QString errorMsg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void sendDataToFPGA(int,int,unsigned char*,int);
|
void sendDataToFPGA(int,int,unsigned char*,int);
|
||||||
|
|||||||
+5
-1
@@ -900,6 +900,7 @@ void SysPara::loadVolteParaFromFile(PRINT_MODE mode)
|
|||||||
{
|
{
|
||||||
volParaFilePath = PARA_ROOT_DIR"VoltParaStd.bin";
|
volParaFilePath = PARA_ROOT_DIR"VoltParaStd.bin";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(status.build_dat.builTime == 73){
|
if(status.build_dat.builTime == 73){
|
||||||
volParaFilePath = ":/conf/VoltePara_No73.bin";
|
volParaFilePath = ":/conf/VoltePara_No73.bin";
|
||||||
status.currVoltageVersion = VersionOf73;
|
status.currVoltageVersion = VersionOf73;
|
||||||
@@ -935,7 +936,8 @@ void SysPara::loadVolteParaFromFile(PRINT_MODE mode)
|
|||||||
status.currVoltageVersion = VersionOf72And32R;
|
status.currVoltageVersion = VersionOf72And32R;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// LogInfo::setRunStatusText(QString("volParaFilePath:%1").arg(volParaFilePath));
|
|
||||||
|
LogInfo::setRunStatusText(QString("volParaFilePath:%1").arg(volParaFilePath));
|
||||||
|
|
||||||
QFile file(volParaFilePath);
|
QFile file(volParaFilePath);
|
||||||
|
|
||||||
@@ -954,6 +956,8 @@ void SysPara::loadVolteParaFromFile(PRINT_MODE mode)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qDebug() << "loadVolteParaFromFile: " << volParaFilePath;
|
||||||
|
|
||||||
if (file.exists(volParaFilePath)){
|
if (file.exists(volParaFilePath)){
|
||||||
if (!file.open(QIODevice::ReadOnly)){
|
if (!file.open(QIODevice::ReadOnly)){
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -864,6 +864,7 @@ typedef struct
|
|||||||
|
|
||||||
qint16 row_delay_table[48];
|
qint16 row_delay_table[48];
|
||||||
qint16 head1_row_delay_table[48];
|
qint16 head1_row_delay_table[48];
|
||||||
|
qint16 full_row_delay_table[48];
|
||||||
qint16 pixel_general_dac_parameter[64];
|
qint16 pixel_general_dac_parameter[64];
|
||||||
}voltePara_t_No73;
|
}voltePara_t_No73;
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
+12
-29
@@ -20,6 +20,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
//#include "LogInfo.h"
|
//#include "LogInfo.h"
|
||||||
#include <QDirIterator>
|
#include <QDirIterator>
|
||||||
|
#include "LogInfo.h"
|
||||||
|
|
||||||
#define RECLAIN_TANK_TEST_MAX_COUNT 10
|
#define RECLAIN_TANK_TEST_MAX_COUNT 10
|
||||||
enum ReclainTankTestEnum{ReclainTankTest_eNotStart,ReclainTankTest_eOpenning,ReclainTankTest_eOpened,ReclainTankTest_eClosing,ReclainTankTest_Closed};
|
enum ReclainTankTestEnum{ReclainTankTest_eNotStart,ReclainTankTest_eOpenning,ReclainTankTest_eOpened,ReclainTankTest_eClosing,ReclainTankTest_Closed};
|
||||||
@@ -250,7 +251,7 @@ void SystemManage::setPumpValveBottonEnable(bool enable){
|
|||||||
|
|
||||||
ui->pushButtonViscosityPump->setEnabled(enable);
|
ui->pushButtonViscosityPump->setEnabled(enable);
|
||||||
//ui->pushButtonCleanUP->setEnabled(enable);
|
//ui->pushButtonCleanUP->setEnabled(enable);
|
||||||
ui->pushButtonAutoClean->setEnabled(enable);
|
// ui->pushButtonAutoClean->setEnabled(enable);
|
||||||
// ui->pushButtonMotorTest->setEnabled(enable);
|
// ui->pushButtonMotorTest->setEnabled(enable);
|
||||||
ui->pushButtonPushAir->setEnabled(enable);
|
ui->pushButtonPushAir->setEnabled(enable);
|
||||||
if(sysPara)
|
if(sysPara)
|
||||||
@@ -1187,34 +1188,16 @@ void SystemManage::onAutoCleanStart(void)
|
|||||||
|
|
||||||
void SystemManage::on_pushButtonAutoClean_pressed()
|
void SystemManage::on_pushButtonAutoClean_pressed()
|
||||||
{
|
{
|
||||||
sysPara->saveParaToFile(); // 关机前将相关配置保存
|
QMessageBox::StandardButton ret = QMessageBox::Ok;
|
||||||
sysPara->saveRFIDPara();
|
ret = QMessageBox::warning(this, tr("警告"),
|
||||||
MySleep(200);
|
tr("是否确认重启?"),
|
||||||
system("sync");//缓存同步
|
|
||||||
QCoreApplication::quit();
|
|
||||||
/*
|
|
||||||
QMessageBox::StandardButton ret;
|
|
||||||
ret = QMessageBox::information(this, tr("警告"),
|
|
||||||
tr("是否确认启动自动清洗?"),
|
|
||||||
QMessageBox::Ok | QMessageBox::Cancel);
|
|
||||||
if (ret == QMessageBox::Ok){
|
|
||||||
ret = QMessageBox::information(this, tr("警告"),
|
|
||||||
tr("是否确认墨水排除,加入清洗剂?"),
|
|
||||||
QMessageBox::Ok | QMessageBox::Cancel);
|
QMessageBox::Ok | QMessageBox::Cancel);
|
||||||
if (ret == QMessageBox::Ok) {
|
if (ret != QMessageBox::Ok){
|
||||||
dialogAutoClean = new QProgressDialog(this);
|
LogInfo::setRunStatusText("The user canceled the reboot operation.");
|
||||||
dialogAutoClean->setWindowModality(Qt::WindowModal);
|
return;
|
||||||
dialogAutoClean->setMinimumDuration(2);
|
}
|
||||||
dialogAutoClean->setCancelButtonText(tr("Cancel"));
|
|
||||||
dialogAutoClean->setWindowTitle(tr("(1/3) Cleaning"));
|
emit rebootAppAcquired();
|
||||||
dialogAutoClean->setRange(0, AUTOCLEAN_STATUS_STEP1_TIME);
|
|
||||||
dialogAutoClean->setAutoClose(true);
|
|
||||||
dialogAutoClean->setAutoReset(true);
|
|
||||||
emit autoCleanStart();
|
|
||||||
autoCleanTimer->start(1000); // 1000 ms
|
|
||||||
dialogAutoClean->show();
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemManage::on_pushButtonMotorTest_pressed()
|
void SystemManage::on_pushButtonMotorTest_pressed()
|
||||||
@@ -1335,7 +1318,7 @@ void SystemManage::on_pushButtonProgamFPGA_clicked()
|
|||||||
void SystemManage::programFPGAProcess(){
|
void SystemManage::programFPGAProcess(){
|
||||||
QMessageBox::StandardButton ret = QMessageBox::information(this, tr("提示"),
|
QMessageBox::StandardButton ret = QMessageBox::information(this, tr("提示"),
|
||||||
tr("确定要升级FPGA软件吗?"),
|
tr("确定要升级FPGA软件吗?"),
|
||||||
QMessageBox::Ok);
|
QMessageBox::Ok | QMessageBox::Cancel);
|
||||||
if (ret == QMessageBox::Ok) {
|
if (ret == QMessageBox::Ok) {
|
||||||
QFile FpgaFile("/home/plg/FPGAFile.rbf");
|
QFile FpgaFile("/home/plg/FPGAFile.rbf");
|
||||||
if(FpgaFile.exists())
|
if(FpgaFile.exists())
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ Q_SIGNALS:
|
|||||||
void restartSerial();
|
void restartSerial();
|
||||||
void enableClick(bool);
|
void enableClick(bool);
|
||||||
void upgradeSTM32(QString);
|
void upgradeSTM32(QString);
|
||||||
|
void rebootAppAcquired();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sendButtonClickedSignal(int index);
|
void sendButtonClickedSignal(int index);
|
||||||
|
|||||||
+4
-4
@@ -21,8 +21,8 @@
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight:500;
|
font-weight:500;
|
||||||
width: 180px;
|
height: 45px;
|
||||||
height: 90px;
|
width: 90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:hover {
|
QPushButton:hover {
|
||||||
@@ -38,8 +38,8 @@
|
|||||||
<widget class="QPushButton" name="closeBtn">
|
<widget class="QPushButton" name="closeBtn">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>680</x>
|
<x>650</x>
|
||||||
<y>492</y>
|
<y>500</y>
|
||||||
<width>100</width>
|
<width>100</width>
|
||||||
<height>41</height>
|
<height>41</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
|||||||
@@ -167,6 +167,7 @@ void SystemSetting::updateSysParaToUI(){
|
|||||||
ui->spinBoxSeptalPostion->setValue(sysPara->para.septalPostion);
|
ui->spinBoxSeptalPostion->setValue(sysPara->para.septalPostion);
|
||||||
ui->comboBoxDiameter->setCurrentIndex(sysPara->para.diameter);
|
ui->comboBoxDiameter->setCurrentIndex(sysPara->para.diameter);
|
||||||
ui->comboBoxDiaphramOffset->setCurrentIndex(sysPara->para.diaphramOffset/5-1);
|
ui->comboBoxDiaphramOffset->setCurrentIndex(sysPara->para.diaphramOffset/5-1);
|
||||||
|
ui->enableReclaimAlgorithm->setChecked(sysPara->para.flagOfReclaimPumEnable);
|
||||||
|
|
||||||
if(sysPara->para.EditMode>SCENE)
|
if(sysPara->para.EditMode>SCENE)
|
||||||
sysPara->para.EditMode=TXTFILE;
|
sysPara->para.EditMode=TXTFILE;
|
||||||
@@ -202,6 +203,7 @@ void SystemSetting::applyUIPara(){
|
|||||||
else {
|
else {
|
||||||
QMessageBox::critical(this,tr("错误"),tr("实际频率不能为%1").arg(freq));
|
QMessageBox::critical(this,tr("错误"),tr("实际频率不能为%1").arg(freq));
|
||||||
}
|
}
|
||||||
|
sysPara->para.flagOfReclaimPumEnable = ui->enableReclaimAlgorithm->isChecked();
|
||||||
sysPara->para.FanTemperature = ui->spinBoxFanTemperature->value();
|
sysPara->para.FanTemperature = ui->spinBoxFanTemperature->value();
|
||||||
sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value();
|
sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value();
|
||||||
quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1);
|
quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1);
|
||||||
|
|||||||
+9
-6
@@ -4,6 +4,7 @@
|
|||||||
#include "Public.h"
|
#include "Public.h"
|
||||||
#include "InputMethod.h"
|
#include "InputMethod.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
SystemUpdate::SystemUpdate(QWidget *parent) :
|
SystemUpdate::SystemUpdate(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
@@ -49,15 +50,15 @@ void SystemUpdate::applyStyleSheet()
|
|||||||
background-color: #BAE7FF;
|
background-color: #BAE7FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton {
|
QPushButton {
|
||||||
background-color: #5396C1;
|
background-color: #5396C1;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border: 1px solid #000000;
|
border: 1px solid #000000;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight:500;
|
font-weight:500;
|
||||||
width: 180px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 45px;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:hover {
|
QPushButton:hover {
|
||||||
@@ -99,9 +100,11 @@ void SystemUpdate::on_pushButtonUpdateCharLib_clicked()
|
|||||||
void SystemUpdate::on_pushButtonFontToUdisk_clicked()
|
void SystemUpdate::on_pushButtonFontToUdisk_clicked()
|
||||||
{
|
{
|
||||||
QMessageBox::StandardButton ret;
|
QMessageBox::StandardButton ret;
|
||||||
ret = QMessageBox::information(this, tr("警告"),
|
|
||||||
tr("是否确认导出字库到U盘?"),
|
QMessageBox box(QMessageBox::Information, tr("警告"), tr("是否确认导出字库到U盘?"), QMessageBox::Ok | QMessageBox::Cancel, this);
|
||||||
QMessageBox::Ok | QMessageBox::Cancel);
|
box.setStyleSheet("");
|
||||||
|
box.exec();
|
||||||
|
ret = box.result();
|
||||||
if (ret == QMessageBox::Ok)
|
if (ret == QMessageBox::Ok)
|
||||||
{
|
{
|
||||||
QFile file("/udisk");
|
QFile file("/udisk");
|
||||||
|
|||||||
Binary file not shown.
+8
-5
@@ -1766,11 +1766,11 @@ int MainWidget::getCurrPrintStatus()
|
|||||||
|
|
||||||
void MainWidget::setReclaimStatus(bool isOpen, int rate)
|
void MainWidget::setReclaimStatus(bool isOpen, int rate)
|
||||||
{
|
{
|
||||||
if (!sysPara->devOp->isReclaimTankOpenEnable()) {
|
// if (!sysPara->devOp->isReclaimTankOpenEnable()) {
|
||||||
QString str = isOpen? tr("停止开启") : tr("停止关闭");
|
// QString str = isOpen? tr("停止开启") : tr("停止关闭");
|
||||||
setRunStatus(str);
|
// setRunStatus(str);
|
||||||
return;
|
// return;
|
||||||
};
|
// };
|
||||||
|
|
||||||
if (isOpen) {
|
if (isOpen) {
|
||||||
QString str = rate == 100? tr("喷嘴已开启"):tr("喷嘴开启中");
|
QString str = rate == 100? tr("喷嘴已开启"):tr("喷嘴开启中");
|
||||||
@@ -3406,6 +3406,9 @@ void MainWidget::RefreshStatusLight(){//100ms
|
|||||||
// setRunStatus(tr("暂停喷印..."));
|
// setRunStatus(tr("暂停喷印..."));
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
if(sysPara->status.isPrinting && sysPara->status.selfCheckDone){
|
||||||
|
setRunStatus(tr("正在喷印......."));
|
||||||
|
}
|
||||||
|
|
||||||
// 20160620 新增主界面显示:压力,粘度,隔膜位置,晶振电压数,相位
|
// 20160620 新增主界面显示:压力,粘度,隔膜位置,晶振电压数,相位
|
||||||
|
|
||||||
|
|||||||
@@ -833,6 +833,19 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="10" column="2">
|
||||||
|
<widget class="QCheckBox" name="enableReclaimAlgorithm">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>31</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>启用回收泵算法</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget_2">
|
<widget class="QWidget" name="layoutWidget_2">
|
||||||
|
|||||||
Reference in New Issue
Block a user