Compare commits
23
Commits
cbeb5f0e0a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cade51a9c | ||
|
|
ed0c2484cc | ||
|
|
baa8882d09 | ||
|
|
065b146998 | ||
|
|
e533ea8e0b | ||
|
|
16f1448c58 | ||
|
|
26455d5bc4 | ||
|
|
e358abf461 | ||
|
|
eb5d824e02 | ||
|
|
a882c30e09 | ||
|
|
fbdd064adb | ||
|
|
0fa8ce4b51 | ||
|
|
77370b17ab | ||
|
|
1e48e6a47b | ||
|
|
b96e36a6a6 | ||
|
|
9eebd81d51 | ||
|
|
a636ba3400 | ||
|
|
f7b7faab2e | ||
|
|
7abac963e4 | ||
|
|
a20552e8d0 | ||
|
|
f29fafca9e | ||
|
|
ee7792077d | ||
|
|
ab8363f47c |
@@ -1,381 +1,381 @@
|
||||
/*
|
||||
* DevOp.h
|
||||
*
|
||||
* Created on: Jun 25, 2013
|
||||
* Author: yiyu
|
||||
* QQ:1036184468
|
||||
* Descriptoin:
|
||||
|
||||
*/
|
||||
|
||||
#ifndef DEVOP_H_
|
||||
#define DEVOP_H_
|
||||
|
||||
/************以前的硬件版本,跟VX5版本号冲突,取消
|
||||
#define JETV1 1
|
||||
#define JETV2 2
|
||||
#define JETV3 3 // EP3C10F144
|
||||
#define JETV23 4 // V5,V4主板编号均为4; V6没有正式投入使用
|
||||
#define JETV7 7 // EP4CE15F144, ARM 335X
|
||||
#define PRODUCT_VERSION(ver) ((ver>>13) & 0x7)
|
||||
**********************/
|
||||
class SysPara;
|
||||
|
||||
#include <stdio.h>
|
||||
#include <QString>
|
||||
#include "myinclude.h"
|
||||
#include <QObject>
|
||||
#include <QQueue>
|
||||
#include <QMetaType>
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QReadWriteLock>
|
||||
#include <QSerialPort>
|
||||
|
||||
#define DisTraceMsg() printf("###############TRACE,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisWarnmsg() printf("~~~~~~~~~~~~~~~WARN,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisErrorMsg() printf("!!!!!!!!!!!!!!!ERROR! ,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
|
||||
#define PRINT_CTRL_STOP 0
|
||||
#define PRINT_CTRL_START 1
|
||||
#define PRINT_CTRL_PAUSE 2
|
||||
#define PRINT_CTRL_DAC_DISABLE 3
|
||||
#define PRINT_CTRL_DAC_ENABLE 4
|
||||
#define PRINT_CTRL_STOPSYNCNT 5
|
||||
|
||||
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_NEW ((1<<12)*95/100) //由于硬件原因,当DAC大于一定值后,电压不再变化,所以做一下限制
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_V1 (255) //老板子的最大值到256
|
||||
//#define MAX_FPGA_DAC_VALUE ((PRODUCT_VERSION(sysPara->status.fpgaVersionNum) == JETV1)?MAX_FPGA_DAC_VALUE_FOR_V1:MAX_FPGA_DAC_VALUE_FOR_NEW)
|
||||
#define MAX_FPGA_DAC_VALUE MAX_FPGA_DAC_VALUE_FOR_NEW
|
||||
|
||||
#define MAX_POINT_DISTANCE_ADJUST_VAL (1<<10) //点距微调的最大值
|
||||
|
||||
#define MAX_MOTOR_RUN_CURRENT 600
|
||||
#define MIN_MOTOR_RUN_CURRENT 80
|
||||
|
||||
#define MAX_RECLAIM_BLOCK_CNT 5 //500ms
|
||||
|
||||
#define MAX_RELEASE_VALVE_DELAY_CNT 4
|
||||
/*所有警告都是高电平警告*/
|
||||
#define WARN_STATUS_INK_SWINT (1<<7) /*墨线开头,来自喷头,必须开的时候才能打印,关的时候为1,开的时候为0*/
|
||||
#define WARN_STATUS_POWER_MON (1<<6) //高压报警
|
||||
#define WARN_STATUS_RECYCLE_FAULT (1<<5) //高电平表示有故障
|
||||
#define WARN_STATUS_INK_WARN (1<<4)
|
||||
#define WARN_STATUS_SOLV_WARN (1<<3)
|
||||
#define WARN_STATUS_SUMP_WARN (1<<2) //墨水渗漏
|
||||
#define WARN_STATUS_HDINT (1<<1) /*喷头盖,盖上为0,否则为1,必须盖上才能打印,电磁铁有正反面*/
|
||||
#define WARN_STATUS_VISCOTITY_MEASURE_READY (1<<0) // 球已经到上位等灯
|
||||
|
||||
|
||||
#define FPGA_SYS_HZ 100000000
|
||||
|
||||
#define MAX_WR_MEM_SIZE (1<<16) //写空间最大地址范围
|
||||
#define MAX_WR_MEM_SIZE_MASK (MAX_WR_MEM_SIZE - 1)
|
||||
#define MAX_RD_MEM_SIZE (1<<9) //读空间最大地址范围
|
||||
#define MAX_RD_MEM_SIZE_MASK (MAX_RD_MEM_SIZE - 1)
|
||||
|
||||
/* am335x core board control pwm output */
|
||||
#define VISCO_PUMP_REQUEST "echo 1 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RELEASE "echo 0 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RUN "echo 1 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_STOP "echo 0 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_50Hz "echo 50 > /sys/class/pwm/ecap.2/period_freq"
|
||||
#define VISCO_PUMP_50P "echo 50 > /sys/class/pwm/ecap.2/duty_percent"
|
||||
#define VISCO_PUMP_HIGH "echo 1 > /sys/class/pwm/ecap.2/polarity"
|
||||
#define VISCO_PUMP_LOW "echo 0 > /sys/class/pwm/ecap.2/polarity"
|
||||
|
||||
#define SUCTION_PUMP_REQUEST "echo 1 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RELEASE "echo 0 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RUN "echo 1 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_STOP "echo 0 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_HIGH "echo 1 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_LOW "echo 0 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_90P "echo 90 > /sys/class/pwm/ehrpwm.0:1/duty_percent"
|
||||
#define SUCTION_PUMP_12000Hz "echo 12000 > /sys/class/pwm/ehrpwm.0:1/period_freq"
|
||||
|
||||
#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 WRITE_CNT2GROUP_COUNT 0xB16E
|
||||
#define WRITE_CNT2GROUP_NUM 0xB16F
|
||||
#define WRITE_CNT2GROUP_SETTING 0xB170
|
||||
#define READ_CNT2GROUP_CURR_LOOP 0x0195
|
||||
#define READ_CNT2GROUP_CURR_INDEX 0x0199
|
||||
|
||||
#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 LED_COLOR_NONE 0x00 // 0000 0000
|
||||
#define LED_COLOR_YELLOW 0x10 // 0001 0000
|
||||
#define LED_COLOR_GREEN 0x20 // 0010 0000
|
||||
#define LED_COLOR_RED 0x30 // 0011 0000
|
||||
// 低四位:操作
|
||||
#define LED_OP_OFF 0x00 // 灭
|
||||
#define LED_OP_ON 0x01 // 亮
|
||||
#define LED_OP_FLASH 0x02 // 闪烁
|
||||
|
||||
//绿灯
|
||||
#define LED_COLOR_GREEN_ON LED_COLOR_GREEN|LED_OP_ON //绿灯亮
|
||||
#define LED_COLOR_GREEN_OFF LED_COLOR_GREEN|LED_OP_OFF //绿灯灭
|
||||
#define LED_COLOR_GREEN_FLASH LED_COLOR_GREEN|LED_OP_FLASH //绿灯闪烁
|
||||
//红灯
|
||||
#define LED_COLOR_RED_ON LED_COLOR_RED|LED_OP_ON //红灯亮
|
||||
#define LED_COLOR_RED_OFF LED_COLOR_RED|LED_OP_OFF //红灯灭
|
||||
#define LED_COLOR_RED_FLASH LED_COLOR_RED|LED_OP_FLASH //红灯闪烁
|
||||
//黄灯
|
||||
#define LED_COLOR_YELLOW_ON LED_COLOR_YELLOW|LED_OP_ON //黄灯亮
|
||||
#define LED_COLOR_YELLOW_OFF LED_COLOR_YELLOW|LED_OP_OFF //黄灯灭
|
||||
#define LED_COLOR_YELLOW_FLASH LED_COLOR_YELLOW|LED_OP_FLASH //黄灯闪烁
|
||||
|
||||
#define LED_ALL_OFF 0x00 //关闭所有灯
|
||||
|
||||
/*
|
||||
* 请不要直接初始化此函数,如果需要,请通过SysPara的devOP来访问此类
|
||||
* */
|
||||
class DevOp : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public :
|
||||
DevOp(SysPara * sysPara);
|
||||
~DevOp();
|
||||
|
||||
void set_totalSynPulseNum(bool wren);// 设置可变长度
|
||||
void WriteMoterPump();
|
||||
void controlReleaseValve(bool openFlag);
|
||||
void controlMixValve(bool openFlag);
|
||||
void controlInkValve(bool openFlag); //控制墨线,即供墨阀
|
||||
void controlInkValvePWMSTM32(int PWMPulse);
|
||||
void controlCycleValve(bool openFlag);
|
||||
void controlCompressPump(bool openFlag);
|
||||
void controlViscosityPump(bool openFlag);
|
||||
void controlMainInkPump(bool openFlag);
|
||||
void setHighVoltageAmplitudetoSTM32();
|
||||
void controlReclaimPump(bool openFlag,bool fullSpeed);
|
||||
void controlReclaimPump2();
|
||||
void controlInkValvePWM(bool openFlag);
|
||||
void controlInkValvePWM2();
|
||||
void controlHeater(bool openFlag);
|
||||
void controlBeeper(bool openFlag);
|
||||
|
||||
void controlReclaimTankOpen(bool enableFlag);
|
||||
void controlReclaimTankClose(bool enableFlag);
|
||||
|
||||
void powerOff(void);
|
||||
|
||||
bool isReleaseValveOpen();
|
||||
bool isMixValveOpen();
|
||||
bool isInkValveOpen();
|
||||
bool isInkValveOpen1();
|
||||
bool isCycleValveOpen();
|
||||
bool isCompressPumpOpen();
|
||||
bool isViscosityPumpOpen();
|
||||
bool isMainInkPumpOpen();
|
||||
bool isReclaimPumpOpen();
|
||||
bool isHighVoltageOpen();
|
||||
|
||||
bool isReclaimTankOpenEnable();
|
||||
bool isReclaimTankCloseEnable();
|
||||
bool isBeeperEnable();
|
||||
bool isHearterEnable();
|
||||
|
||||
int writeFpgaPrintPara(bool ignoreWarn = false);
|
||||
void readFgaStatus(void);
|
||||
void writeDacValue2Fpga_No73();
|
||||
|
||||
void printCtrl(int cmd);
|
||||
void ReadCnt1GroupStatus(void);
|
||||
void ReadCnt2GroupStatus(void);
|
||||
void writeCnt1GroupSetting(bool bCntByGroupEnable);
|
||||
void writeCnt2GroupSetting(bool bCntByGroupEnable);
|
||||
void writeFpgaCalandar(bool Enable);
|
||||
void writeFpgaVariCtrl();
|
||||
void readCalandarDat();
|
||||
void resumeFault();
|
||||
void highVoltageCtrl(int val);
|
||||
void maxHighVoltageDACCtrl(int val);
|
||||
void setPhaseByHand(int val);
|
||||
void readPhaseDetectHighTm();
|
||||
void setPhaseDetectVoltageDutyCycle(int duty);
|
||||
void setBlickLightPeriod(int value);
|
||||
void setOscillatorVoltage(int value);
|
||||
void setDivideRatio(int value);
|
||||
void setLastLineEndPointFixedValue(int value);
|
||||
|
||||
void mainInkCtrl();
|
||||
void pumpValveCtrl(int viscosityAdjustByTemp=0);
|
||||
void clearProductCnt(unsigned int mode);
|
||||
unsigned int readFpgaVersionNum(void);
|
||||
void fpgaWr(int addr,unsigned char*dat,int len);
|
||||
void fpgaRd(int addr,unsigned char*dat,int len);
|
||||
void fpgaWrD(int addr,unsigned int dat,int len);
|
||||
void fpgaWrD2(int addr,unsigned char*dat,int len);
|
||||
void fpgaResetWarning(char mode);
|
||||
void sendSTM32SetPowerOnTimer(quint16);
|
||||
void DACValueWithVoltageAdj();
|
||||
void writeDataToFpga_No67HighSpeedMode(Voltage_Version version,bool flag);
|
||||
bool fpgaDevOpenFlag;
|
||||
|
||||
void stm32Rd(int addr,unsigned char*dat,int len);
|
||||
void stm32Wr(int addr,unsigned char*dat,int len);
|
||||
|
||||
unsigned char memWrMap[MAX_WR_MEM_SIZE];
|
||||
unsigned char memRdMap[MAX_RD_MEM_SIZE];
|
||||
unsigned char color_flag;
|
||||
void controlRedLight(bool openFlag);
|
||||
void controlGreenLight(bool openFlag);
|
||||
void controlYellowLight(bool openFlag);
|
||||
void controlFan1(bool openFlag);
|
||||
void controlFan2(bool openFlag);
|
||||
|
||||
bool isGreenLightEnable();
|
||||
bool isYellowLightEnable();
|
||||
bool isRedLightEnable();
|
||||
void readbuilDat();
|
||||
void readPrintDataXor();
|
||||
void readSyncCounterAtZero();
|
||||
void printCtrl2(int cmd);
|
||||
void ReadSomeDataForLostPrint(void);
|
||||
void readSTM32Version(void);
|
||||
void readSTM32Time(void);
|
||||
bool stopSendDataFPGA;
|
||||
bool stopSendDataSTM32;
|
||||
|
||||
void Read_RanddomFromFpga(); // 读FPGARANDFIFO
|
||||
void RandTxtBakup(char ok);
|
||||
void showData(QByteArray dat);
|
||||
void writeDacValue2Fpga_No72NewVoltData();
|
||||
|
||||
|
||||
public slots:
|
||||
void resendFPGADate(int,int,unsigned char *,int,int);
|
||||
void resendSTM32Date(int,int,unsigned char *,int,int);
|
||||
|
||||
signals:
|
||||
void dataReceived(char,const QByteArray &dataReceived,int);
|
||||
/***cmd:1--读 2--写*********************************************/
|
||||
/***addr:地址***************************************************/
|
||||
/***dat:数据指针*************************************************/
|
||||
/***len:数据长度*************************************************/
|
||||
/***type:1--FPGA 2--STM32***************************************/
|
||||
void sendSerialDataToSTM32(int cmd,int addr,unsigned char *dat,int len,int type);
|
||||
void sendSerialDataToFPGA(int cmd,int addr,unsigned char *dat,int len,int type);
|
||||
|
||||
|
||||
private:
|
||||
int WdgttyUsb0Cnt;
|
||||
bool releaseValveOpenFlag;
|
||||
bool mixValveFlag;
|
||||
bool inkValveOpenFlag;
|
||||
bool inkValveOpenFlag1;
|
||||
bool cycleValveOpenFlag;
|
||||
bool compressPumpOpenFlag;
|
||||
bool viscosityPumpOpenFlag;
|
||||
bool mainInkPumpOpenFlag;
|
||||
bool reclaimPumpOpenFlag;
|
||||
bool highVoltageOpenFlag;
|
||||
|
||||
bool reclaimTankOpenEnableFlag;
|
||||
bool reclaimTankCloseEnableFlag;
|
||||
bool beeperOnFlag;
|
||||
|
||||
bool RedLightOnFlag;
|
||||
bool GreenLightOnFlag;
|
||||
bool YellowLightOnFlag;
|
||||
|
||||
bool heaterOnFlag;
|
||||
int com2;
|
||||
int pwm_sp;
|
||||
int pwm_fd;
|
||||
int Interrupt_fd;
|
||||
int iocontrl;
|
||||
int DAdataout;
|
||||
int pwm_ink;
|
||||
int adc_fd;
|
||||
qint8 OscillatorVoltage[100];//VX 电路不一样,所以需要重新调整
|
||||
SysPara *sysPara;
|
||||
|
||||
|
||||
unsigned int fpgaRdD(int addr,int len);
|
||||
|
||||
// 0xA451--- 为什么ARM的顺序相反呢?
|
||||
typedef struct {
|
||||
unsigned int varDigitalNum:4; // 数字的个数
|
||||
unsigned int charRamBaseAddr:12; // 基址
|
||||
unsigned int colOffset:16; // 列偏移
|
||||
unsigned int horizonWidth:9;//字模宽度
|
||||
unsigned int verticalOffset:6; // 行偏移
|
||||
unsigned int charRowNum:6; // 每个字符占行个数
|
||||
unsigned int charColNum:6; // 每个字符占列个数
|
||||
unsigned int varTypeSel:4;
|
||||
unsigned int dummy:1;
|
||||
}reg_var_print_ctrl_t;
|
||||
|
||||
};
|
||||
|
||||
#endif /* DEVOP_H_ */
|
||||
/*
|
||||
* DevOp.h
|
||||
*
|
||||
* Created on: Jun 25, 2013
|
||||
* Author: yiyu
|
||||
* QQ:1036184468
|
||||
* Descriptoin:
|
||||
|
||||
*/
|
||||
|
||||
#ifndef DEVOP_H_
|
||||
#define DEVOP_H_
|
||||
|
||||
/************以前的硬件版本,跟VX5版本号冲突,取消
|
||||
#define JETV1 1
|
||||
#define JETV2 2
|
||||
#define JETV3 3 // EP3C10F144
|
||||
#define JETV23 4 // V5,V4主板编号均为4; V6没有正式投入使用
|
||||
#define JETV7 7 // EP4CE15F144, ARM 335X
|
||||
#define PRODUCT_VERSION(ver) ((ver>>13) & 0x7)
|
||||
**********************/
|
||||
class SysPara;
|
||||
|
||||
#include <stdio.h>
|
||||
#include <QString>
|
||||
#include "myinclude.h"
|
||||
#include <QObject>
|
||||
#include <QQueue>
|
||||
#include <QMetaType>
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QReadWriteLock>
|
||||
#include <QSerialPort>
|
||||
|
||||
#define DisTraceMsg() printf("###############TRACE,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisWarnmsg() printf("~~~~~~~~~~~~~~~WARN,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisErrorMsg() printf("!!!!!!!!!!!!!!!ERROR! ,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
|
||||
#define PRINT_CTRL_STOP 0
|
||||
#define PRINT_CTRL_START 1
|
||||
#define PRINT_CTRL_PAUSE 2
|
||||
#define PRINT_CTRL_DAC_DISABLE 3
|
||||
#define PRINT_CTRL_DAC_ENABLE 4
|
||||
#define PRINT_CTRL_STOPSYNCNT 5
|
||||
|
||||
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_NEW ((1<<12)*95/100) //由于硬件原因,当DAC大于一定值后,电压不再变化,所以做一下限制
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_V1 (255) //老板子的最大值到256
|
||||
//#define MAX_FPGA_DAC_VALUE ((PRODUCT_VERSION(sysPara->status.fpgaVersionNum) == JETV1)?MAX_FPGA_DAC_VALUE_FOR_V1:MAX_FPGA_DAC_VALUE_FOR_NEW)
|
||||
#define MAX_FPGA_DAC_VALUE MAX_FPGA_DAC_VALUE_FOR_NEW
|
||||
|
||||
#define MAX_POINT_DISTANCE_ADJUST_VAL (1<<10) //点距微调的最大值
|
||||
|
||||
#define MAX_MOTOR_RUN_CURRENT 600
|
||||
#define MIN_MOTOR_RUN_CURRENT 80
|
||||
|
||||
#define MAX_RECLAIM_BLOCK_CNT 5 //500ms
|
||||
|
||||
#define MAX_RELEASE_VALVE_DELAY_CNT 4
|
||||
/*所有警告都是高电平警告*/
|
||||
#define WARN_STATUS_INK_SWINT (1<<7) /*墨线开头,来自喷头,必须开的时候才能打印,关的时候为1,开的时候为0*/
|
||||
#define WARN_STATUS_POWER_MON (1<<6) //高压报警
|
||||
#define WARN_STATUS_RECYCLE_FAULT (1<<5) //高电平表示有故障
|
||||
#define WARN_STATUS_INK_WARN (1<<4)
|
||||
#define WARN_STATUS_SOLV_WARN (1<<3)
|
||||
#define WARN_STATUS_SUMP_WARN (1<<2) //墨水渗漏
|
||||
#define WARN_STATUS_HDINT (1<<1) /*喷头盖,盖上为0,否则为1,必须盖上才能打印,电磁铁有正反面*/
|
||||
#define WARN_STATUS_VISCOTITY_MEASURE_READY (1<<0) // 球已经到上位等灯
|
||||
|
||||
|
||||
#define FPGA_SYS_HZ 100000000
|
||||
|
||||
#define MAX_WR_MEM_SIZE (1<<16) //写空间最大地址范围
|
||||
#define MAX_WR_MEM_SIZE_MASK (MAX_WR_MEM_SIZE - 1)
|
||||
#define MAX_RD_MEM_SIZE (1<<9) //读空间最大地址范围
|
||||
#define MAX_RD_MEM_SIZE_MASK (MAX_RD_MEM_SIZE - 1)
|
||||
|
||||
/* am335x core board control pwm output */
|
||||
#define VISCO_PUMP_REQUEST "echo 1 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RELEASE "echo 0 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RUN "echo 1 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_STOP "echo 0 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_50Hz "echo 50 > /sys/class/pwm/ecap.2/period_freq"
|
||||
#define VISCO_PUMP_50P "echo 50 > /sys/class/pwm/ecap.2/duty_percent"
|
||||
#define VISCO_PUMP_HIGH "echo 1 > /sys/class/pwm/ecap.2/polarity"
|
||||
#define VISCO_PUMP_LOW "echo 0 > /sys/class/pwm/ecap.2/polarity"
|
||||
|
||||
#define SUCTION_PUMP_REQUEST "echo 1 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RELEASE "echo 0 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RUN "echo 1 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_STOP "echo 0 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_HIGH "echo 1 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_LOW "echo 0 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_90P "echo 90 > /sys/class/pwm/ehrpwm.0:1/duty_percent"
|
||||
#define SUCTION_PUMP_12000Hz "echo 12000 > /sys/class/pwm/ehrpwm.0:1/period_freq"
|
||||
|
||||
#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 WRITE_CNT2GROUP_COUNT 0xB16E
|
||||
#define WRITE_CNT2GROUP_NUM 0xB16F
|
||||
#define WRITE_CNT2GROUP_SETTING 0xB170
|
||||
#define READ_CNT2GROUP_CURR_LOOP 0x0195
|
||||
#define READ_CNT2GROUP_CURR_INDEX 0x0199
|
||||
|
||||
#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 LED_COLOR_NONE 0x00 // 0000 0000
|
||||
#define LED_COLOR_YELLOW 0x10 // 0001 0000
|
||||
#define LED_COLOR_GREEN 0x20 // 0010 0000
|
||||
#define LED_COLOR_RED 0x30 // 0011 0000
|
||||
// 低四位:操作
|
||||
#define LED_OP_OFF 0x00 // 灭
|
||||
#define LED_OP_ON 0x01 // 亮
|
||||
#define LED_OP_FLASH 0x02 // 闪烁
|
||||
|
||||
//绿灯
|
||||
#define LED_COLOR_GREEN_ON LED_COLOR_GREEN|LED_OP_ON //绿灯亮
|
||||
#define LED_COLOR_GREEN_OFF LED_COLOR_GREEN|LED_OP_OFF //绿灯灭
|
||||
#define LED_COLOR_GREEN_FLASH LED_COLOR_GREEN|LED_OP_FLASH //绿灯闪烁
|
||||
//红灯
|
||||
#define LED_COLOR_RED_ON LED_COLOR_RED|LED_OP_ON //红灯亮
|
||||
#define LED_COLOR_RED_OFF LED_COLOR_RED|LED_OP_OFF //红灯灭
|
||||
#define LED_COLOR_RED_FLASH LED_COLOR_RED|LED_OP_FLASH //红灯闪烁
|
||||
//黄灯
|
||||
#define LED_COLOR_YELLOW_ON LED_COLOR_YELLOW|LED_OP_ON //黄灯亮
|
||||
#define LED_COLOR_YELLOW_OFF LED_COLOR_YELLOW|LED_OP_OFF //黄灯灭
|
||||
#define LED_COLOR_YELLOW_FLASH LED_COLOR_YELLOW|LED_OP_FLASH //黄灯闪烁
|
||||
|
||||
#define LED_ALL_OFF 0x00 //关闭所有灯
|
||||
|
||||
/*
|
||||
* 请不要直接初始化此函数,如果需要,请通过SysPara的devOP来访问此类
|
||||
* */
|
||||
class DevOp : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public :
|
||||
DevOp(SysPara * sysPara);
|
||||
~DevOp();
|
||||
|
||||
void set_totalSynPulseNum(bool wren);// 设置可变长度
|
||||
void WriteMoterPump();
|
||||
void controlReleaseValve(bool openFlag);
|
||||
void controlMixValve(bool openFlag);
|
||||
void controlInkValve(bool openFlag); //控制墨线,即供墨阀
|
||||
void controlInkValvePWMSTM32(int PWMPulse);
|
||||
void controlCycleValve(bool openFlag);
|
||||
void controlCompressPump(bool openFlag);
|
||||
void controlViscosityPump(bool openFlag);
|
||||
void controlMainInkPump(bool openFlag);
|
||||
void setHighVoltageAmplitudetoSTM32();
|
||||
void controlReclaimPump(bool openFlag,bool fullSpeed);
|
||||
void controlReclaimPump2();
|
||||
void controlInkValvePWM(bool openFlag);
|
||||
void controlInkValvePWM2();
|
||||
void controlHeater(bool openFlag);
|
||||
void controlBeeper(bool openFlag);
|
||||
|
||||
void controlReclaimTankOpen(bool enableFlag);
|
||||
void controlReclaimTankClose(bool enableFlag);
|
||||
|
||||
void powerOff(void);
|
||||
|
||||
bool isReleaseValveOpen();
|
||||
bool isMixValveOpen();
|
||||
bool isInkValveOpen();
|
||||
bool isInkValveOpen1();
|
||||
bool isCycleValveOpen();
|
||||
bool isCompressPumpOpen();
|
||||
bool isViscosityPumpOpen();
|
||||
bool isMainInkPumpOpen();
|
||||
bool isReclaimPumpOpen();
|
||||
bool isHighVoltageOpen();
|
||||
|
||||
bool isReclaimTankOpenEnable();
|
||||
bool isReclaimTankCloseEnable();
|
||||
bool isBeeperEnable();
|
||||
bool isHearterEnable();
|
||||
|
||||
int writeFpgaPrintPara(bool ignoreWarn = false);
|
||||
void readFgaStatus(void);
|
||||
void writeDacValue2Fpga_No73();
|
||||
|
||||
void printCtrl(int cmd);
|
||||
void ReadCnt1GroupStatus(void);
|
||||
void ReadCnt2GroupStatus(void);
|
||||
void writeCnt1GroupSetting(bool bCntByGroupEnable);
|
||||
void writeCnt2GroupSetting(bool bCntByGroupEnable);
|
||||
void writeFpgaCalandar(bool Enable);
|
||||
void writeFpgaVariCtrl();
|
||||
void readCalandarDat();
|
||||
void resumeFault();
|
||||
void highVoltageCtrl(int val);
|
||||
void maxHighVoltageDACCtrl(int val);
|
||||
void setPhaseByHand(int val);
|
||||
void readPhaseDetectHighTm();
|
||||
void setPhaseDetectVoltageDutyCycle(int duty);
|
||||
void setBlickLightPeriod(int value);
|
||||
void setOscillatorVoltage(int value);
|
||||
void setDivideRatio(int value);
|
||||
void setLastLineEndPointFixedValue(int value);
|
||||
|
||||
void mainInkCtrl();
|
||||
void pumpValveCtrl(int viscosityAdjustByTemp=0);
|
||||
void clearProductCnt(unsigned int mode);
|
||||
unsigned int readFpgaVersionNum(void);
|
||||
void fpgaWr(int addr,unsigned char*dat,int len);
|
||||
void fpgaRd(int addr,unsigned char*dat,int len);
|
||||
void fpgaWrD(int addr,unsigned int dat,int len);
|
||||
void fpgaWrD2(int addr,unsigned char*dat,int len);
|
||||
void fpgaResetWarning(char mode);
|
||||
void sendSTM32SetPowerOnTimer(quint16);
|
||||
void DACValueWithVoltageAdj();
|
||||
void writeDataToFpga_No67HighSpeedMode(Voltage_Version version,bool flag);
|
||||
bool fpgaDevOpenFlag;
|
||||
|
||||
void stm32Rd(int addr,unsigned char*dat,int len);
|
||||
void stm32Wr(int addr,unsigned char*dat,int len);
|
||||
|
||||
unsigned char memWrMap[MAX_WR_MEM_SIZE];
|
||||
unsigned char memRdMap[MAX_RD_MEM_SIZE];
|
||||
unsigned char color_flag;
|
||||
void controlRedLight(bool openFlag);
|
||||
void controlGreenLight(bool openFlag);
|
||||
void controlYellowLight(bool openFlag);
|
||||
void controlFan1(bool openFlag);
|
||||
void controlFan2(bool openFlag);
|
||||
|
||||
bool isGreenLightEnable();
|
||||
bool isYellowLightEnable();
|
||||
bool isRedLightEnable();
|
||||
void readbuilDat();
|
||||
void readPrintDataXor();
|
||||
void readSyncCounterAtZero();
|
||||
void printCtrl2(int cmd);
|
||||
void ReadSomeDataForLostPrint(void);
|
||||
void readSTM32Version(void);
|
||||
void readSTM32Time(void);
|
||||
bool stopSendDataFPGA;
|
||||
bool stopSendDataSTM32;
|
||||
|
||||
void Read_RanddomFromFpga(); // 读FPGARANDFIFO
|
||||
void RandTxtBakup(char ok);
|
||||
void showData(QByteArray dat);
|
||||
void writeDacValue2Fpga_No72NewVoltData();
|
||||
|
||||
|
||||
public slots:
|
||||
void resendFPGADate(int,int,unsigned char *,int,int);
|
||||
void resendSTM32Date(int,int,unsigned char *,int,int);
|
||||
|
||||
signals:
|
||||
void dataReceived(char,const QByteArray &dataReceived,int);
|
||||
/***cmd:1--读 2--写*********************************************/
|
||||
/***addr:地址***************************************************/
|
||||
/***dat:数据指针*************************************************/
|
||||
/***len:数据长度*************************************************/
|
||||
/***type:1--FPGA 2--STM32***************************************/
|
||||
void sendSerialDataToSTM32(int cmd,int addr,unsigned char *dat,int len,int type);
|
||||
void sendSerialDataToFPGA(int cmd,int addr,unsigned char *dat,int len,int type);
|
||||
|
||||
|
||||
private:
|
||||
int WdgttyUsb0Cnt;
|
||||
bool releaseValveOpenFlag;
|
||||
bool mixValveFlag;
|
||||
bool inkValveOpenFlag;
|
||||
bool inkValveOpenFlag1;
|
||||
bool cycleValveOpenFlag;
|
||||
bool compressPumpOpenFlag;
|
||||
bool viscosityPumpOpenFlag;
|
||||
bool mainInkPumpOpenFlag;
|
||||
bool reclaimPumpOpenFlag;
|
||||
bool highVoltageOpenFlag;
|
||||
|
||||
bool reclaimTankOpenEnableFlag;
|
||||
bool reclaimTankCloseEnableFlag;
|
||||
bool beeperOnFlag;
|
||||
|
||||
bool RedLightOnFlag;
|
||||
bool GreenLightOnFlag;
|
||||
bool YellowLightOnFlag;
|
||||
|
||||
bool heaterOnFlag;
|
||||
int com2;
|
||||
int pwm_sp;
|
||||
int pwm_fd;
|
||||
int Interrupt_fd;
|
||||
int iocontrl;
|
||||
int DAdataout;
|
||||
int pwm_ink;
|
||||
int adc_fd;
|
||||
qint8 OscillatorVoltage[100];//VX 电路不一样,所以需要重新调整
|
||||
SysPara *sysPara;
|
||||
|
||||
|
||||
unsigned int fpgaRdD(int addr,int len);
|
||||
|
||||
// 0xA451--- 为什么ARM的顺序相反呢?
|
||||
typedef struct {
|
||||
unsigned int varDigitalNum:4; // 数字的个数
|
||||
unsigned int charRamBaseAddr:12; // 基址
|
||||
unsigned int colOffset:16; // 列偏移
|
||||
unsigned int horizonWidth:9;//字模宽度
|
||||
unsigned int verticalOffset:6; // 行偏移
|
||||
unsigned int charRowNum:6; // 每个字符占行个数
|
||||
unsigned int charColNum:6; // 每个字符占列个数
|
||||
unsigned int varTypeSel:4;
|
||||
unsigned int dummy:1;
|
||||
}reg_var_print_ctrl_t;
|
||||
|
||||
};
|
||||
|
||||
#endif /* DEVOP_H_ */
|
||||
|
||||
@@ -1,380 +0,0 @@
|
||||
/*
|
||||
* DevOp.h
|
||||
*
|
||||
* Created on: Jun 25, 2013
|
||||
* Author: yiyu
|
||||
* QQ:1036184468
|
||||
* Descriptoin:
|
||||
|
||||
*/
|
||||
|
||||
#ifndef DEVOP_H_
|
||||
#define DEVOP_H_
|
||||
|
||||
#define JETV1 1
|
||||
#define JETV2 2
|
||||
#define JETV3 3 // EP3C10F144
|
||||
#define JETV23 4 // V5,V4主板编号均为4; V6没有正式投入使用
|
||||
#define JETV7 7 // EP4CE15F144, ARM 335X
|
||||
#define PRODUCT_VERSION(ver) ((ver>>13) & 0x7)
|
||||
|
||||
class SysPara;
|
||||
|
||||
#include <stdio.h>
|
||||
#include <QString>
|
||||
#include "myinclude.h"
|
||||
#include <QObject>
|
||||
#include <QQueue>
|
||||
#include <QMetaType>
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QReadWriteLock>
|
||||
|
||||
#ifdef UART2
|
||||
#include "posix_qextserialport.h"
|
||||
#endif
|
||||
|
||||
#define DisTraceMsg() printf("###############TRACE,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisWarnmsg() printf("~~~~~~~~~~~~~~~WARN,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
#define DisErrorMsg() printf("!!!!!!!!!!!!!!!ERROR! ,Line:%d File:%s Fun:%s\n",__LINE__,__FILE__,__FUNCTION__);
|
||||
|
||||
#define PRINT_CTRL_STOP 0
|
||||
#define PRINT_CTRL_START 1
|
||||
#define PRINT_CTRL_PAUSE 2
|
||||
#define PRINT_CTRL_DAC_DISABLE 3
|
||||
#define PRINT_CTRL_DAC_ENABLE 4
|
||||
#define PRINT_CTRL_STOPSYNCNT 5
|
||||
|
||||
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_NEW ((1<<12)*95/100) //由于硬件原因,当DAC大于一定值后,电压不再变化,所以做一下限制
|
||||
#define MAX_FPGA_DAC_VALUE_FOR_V1 (255) //老板子的最大值到256
|
||||
#define MAX_FPGA_DAC_VALUE ((PRODUCT_VERSION(sysPara->status.fpgaVersionNum) == JETV1)?MAX_FPGA_DAC_VALUE_FOR_V1:MAX_FPGA_DAC_VALUE_FOR_NEW)
|
||||
|
||||
#define MAX_POINT_DISTANCE_ADJUST_VAL (1<<10) //点距微调的最大值
|
||||
|
||||
#define MAX_MOTOR_RUN_CURRENT 600
|
||||
#define MIN_MOTOR_RUN_CURRENT 80
|
||||
|
||||
#define MAX_RECLAIM_BLOCK_CNT 5 //500ms
|
||||
|
||||
#define MAX_RELEASE_VALVE_DELAY_CNT 4
|
||||
/*所有警告都是高电平警告*/
|
||||
#define WARN_STATUS_INK_SWINT (1<<7) /*墨线开头,来自喷头,必须开的时候才能打印,关的时候为1,开的时候为0*/
|
||||
#define WARN_STATUS_POWER_MON (1<<6) //高压报警
|
||||
#define WARN_STATUS_RECYCLE_FAULT (1<<5) //高电平表示有故障
|
||||
#define WARN_STATUS_INK_WARN (1<<4)
|
||||
#define WARN_STATUS_SOLV_WARN (1<<3)
|
||||
#define WARN_STATUS_SUMP_WARN (1<<2) //墨水渗漏
|
||||
#define WARN_STATUS_HDINT (1<<1) /*喷头盖,盖上为0,否则为1,必须盖上才能打印,电磁铁有正反面*/
|
||||
#define WARN_STATUS_VISCOTITY_MEASURE_READY (1<<0) // 球已经到上位等灯
|
||||
|
||||
|
||||
#define FPGA_SYS_HZ 100000000
|
||||
|
||||
#define MAX_WR_MEM_SIZE (1<<16) //写空间最大地址范围
|
||||
#define MAX_WR_MEM_SIZE_MASK (MAX_WR_MEM_SIZE - 1)
|
||||
#define MAX_RD_MEM_SIZE (1<<9) //读空间最大地址范围
|
||||
#define MAX_RD_MEM_SIZE_MASK (MAX_RD_MEM_SIZE - 1)
|
||||
|
||||
/* am335x core board control pwm output */
|
||||
#define VISCO_PUMP_REQUEST "echo 1 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RELEASE "echo 0 > /sys/class/pwm/ecap.2/request"
|
||||
#define VISCO_PUMP_RUN "echo 1 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_STOP "echo 0 > /sys/class/pwm/ecap.2/run"
|
||||
#define VISCO_PUMP_50Hz "echo 50 > /sys/class/pwm/ecap.2/period_freq"
|
||||
#define VISCO_PUMP_50P "echo 50 > /sys/class/pwm/ecap.2/duty_percent"
|
||||
#define VISCO_PUMP_HIGH "echo 1 > /sys/class/pwm/ecap.2/polarity"
|
||||
#define VISCO_PUMP_LOW "echo 0 > /sys/class/pwm/ecap.2/polarity"
|
||||
|
||||
#define SUCTION_PUMP_REQUEST "echo 1 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RELEASE "echo 0 > /sys/class/pwm/ehrpwm.0:1/request"
|
||||
#define SUCTION_PUMP_RUN "echo 1 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_STOP "echo 0 > /sys/class/pwm/ehrpwm.0:1/run"
|
||||
#define SUCTION_PUMP_HIGH "echo 1 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_LOW "echo 0 > /sys/class/pwm/ehrpwm.0:1/polarity"
|
||||
#define SUCTION_PUMP_90P "echo 90 > /sys/class/pwm/ehrpwm.0:1/duty_percent"
|
||||
#define SUCTION_PUMP_12000Hz "echo 12000 > /sys/class/pwm/ehrpwm.0:1/period_freq"
|
||||
|
||||
#ifdef __ADC_INPUT__
|
||||
#define BOART_TEMP_DEVICE "/sys/bus/iio/devices/iio:device0/in_voltage4_raw"
|
||||
#define INK_TEMP_DEVICE "/sys/bus/iio/devices/iio:device0/in_voltage5_raw"
|
||||
#define REVERSE_TEMP_DEVICE "/sys/bus/iio/devices/iio:device0/in_voltage6_raw"
|
||||
#endif
|
||||
|
||||
#ifdef UART2
|
||||
class UartThread;
|
||||
typedef struct {
|
||||
char mode;
|
||||
int addr;
|
||||
int len;
|
||||
char flag_m;
|
||||
QByteArray Buf;
|
||||
}rec_cmd_t;
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 请不要直接初始化此函数,如果需要,请通过SysPara的devOP来访问此类
|
||||
* */
|
||||
class DevOp : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public :
|
||||
DevOp(SysPara * sysPara);
|
||||
~DevOp();
|
||||
|
||||
void set_totalSynPulseNum(bool wren);// 设置可变长度
|
||||
void TTYS0ToConsole();
|
||||
void WriteMoterPump(int);
|
||||
void controlReleaseValve(bool openFlag);
|
||||
void controlMixValve(bool openFlag);
|
||||
void controlInkValve(bool openFlag); //控制墨线,即供墨阀
|
||||
void controlInkValvePWMSTM32(int PWMPulse);
|
||||
void controlCycleValve(bool openFlag);
|
||||
void controlCompressPump(bool openFlag);
|
||||
void controlViscosityPump(bool openFlag);
|
||||
void controlMainInkPump(bool openFlag);
|
||||
void setHighVoltageAmplitudetoSTM32();
|
||||
void controlReclaimPump(bool openFlag,bool fullSpeed);
|
||||
void controlReclaimPump2();
|
||||
void controlInkValvePWM(bool openFlag);
|
||||
void controlInkValvePWM2();
|
||||
void controlHeater(bool openFlag);
|
||||
void controlBeeper(bool openFlag);
|
||||
|
||||
void controlReclaimTankOpen(bool enableFlag);
|
||||
void controlReclaimTankClose(bool enableFlag);
|
||||
|
||||
void powerOff(void);
|
||||
|
||||
bool isReleaseValveOpen();
|
||||
bool isMixValveOpen();
|
||||
bool isInkValveOpen();
|
||||
bool isInkValveOpen1();
|
||||
bool isCycleValveOpen();
|
||||
bool isCompressPumpOpen();
|
||||
bool isViscosityPumpOpen();
|
||||
bool isMainInkPumpOpen();
|
||||
bool isReclaimPumpOpen();
|
||||
|
||||
bool isReclaimTankOpenEnable();
|
||||
bool isReclaimTankCloseEnable();
|
||||
bool isBeeperEnable();
|
||||
bool isHearterEnable();
|
||||
|
||||
int writeFpgaPrintPara(bool ignoreWarn = false);
|
||||
void readFgaStatus(void);
|
||||
void writeDacValue2Fpga_No73();
|
||||
|
||||
void printCtrl(int cmd);
|
||||
void ReadCnt1GroupStatus(void);
|
||||
void writeCnt1GroupSetting(bool bCntByGroupEnable);
|
||||
void writeFpgaCalandar(bool Enable);
|
||||
void writeFpgaVariCtrl();
|
||||
void readCalandarDat();
|
||||
void resumeFault();
|
||||
void highVoltageCtrl(int val);
|
||||
void maxHighVoltageDACCtrl(int val);
|
||||
void setPhaseByHand(int val);
|
||||
void readPhaseDetectHighTm();
|
||||
void setPhaseDetectVoltageDutyCycle(int duty);
|
||||
void setBlickLightPeriod(int value);
|
||||
void setOscillatorVoltage(int value);
|
||||
void setDivideRatio(int value);
|
||||
void setLastLineEndPointFixedValue(int value);
|
||||
// void checkAuthorization(QString str);
|
||||
|
||||
void mainInkCtrl();
|
||||
void pumpValveCtrl(int viscosityAdjustByTemp=0);
|
||||
void clearProductCnt(unsigned int mode);
|
||||
unsigned int readFpgaVersionNum(void);
|
||||
void fpgaWr(int addr,unsigned char*dat,int len);
|
||||
void fpgaRd(int addr,unsigned char*dat,int len);
|
||||
void fpgaWrD(int addr,unsigned int dat,int len);
|
||||
void fpgaResetWarning(char mode);
|
||||
bool fpgaDevOpenFlag;
|
||||
|
||||
void stm32Rd(int addr,unsigned char*dat,int len);
|
||||
void stm32Wr(int addr,unsigned char*dat,int len);
|
||||
|
||||
unsigned char memWrMap[MAX_WR_MEM_SIZE];
|
||||
unsigned char memRdMap[MAX_RD_MEM_SIZE];
|
||||
unsigned char color_flag;
|
||||
void controlRedLight(bool openFlag);
|
||||
void controlGreenLight(bool openFlag);
|
||||
void controlYellowLight(bool openFlag);
|
||||
void controlFan1(bool openFlag);
|
||||
void controlFan2(bool openFlag);
|
||||
|
||||
bool isGreenLightEnable();
|
||||
bool isYellowLightEnable();
|
||||
bool isRedLightEnable();
|
||||
void readbuilDat();
|
||||
void readPrintDataXor();
|
||||
void readSyncCounterAtZero();
|
||||
void printCtrl2(int cmd);
|
||||
void ReadSomeDataForLostPrint(void);
|
||||
|
||||
bool stopSendDataFPGA;
|
||||
bool stopSendDataSTM32;
|
||||
// unsigned char *dataOfViscosity;
|
||||
|
||||
#ifdef __STC_POWER__
|
||||
int Heartbeat(char bPowerOn);
|
||||
int setWakeUpTimer(char wakeUpTime_day);
|
||||
int getPowerSource(void);
|
||||
Posix_QextSerialPort *comForPower;
|
||||
void comForPower_init();
|
||||
#endif
|
||||
#ifdef __RFID_CARD
|
||||
Posix_QextSerialPort *comForRFID;
|
||||
void comForRFID_init();
|
||||
int comReadRFID_data();
|
||||
int comWriteRFID_data();
|
||||
int setRFIDCarKey(void);
|
||||
int setRFIDReaderKey(void);
|
||||
int setRFIDReaderOriginalKey(void);
|
||||
int setRFIDReaderWorkMode(void);
|
||||
int receiveReadRFID_data(void);
|
||||
int queryReadRFID_address(void);
|
||||
QString strRevdata;
|
||||
bool noticeICReaderError;
|
||||
bool setICReaderModeFlag;
|
||||
uint checkCardIntervalTime;
|
||||
QReadWriteLock CardDataRwLock;
|
||||
#endif
|
||||
|
||||
#ifdef __ADC_INPUT__
|
||||
qint8 GetTemp(QString ainFile, quint8 *pTemp);
|
||||
#endif
|
||||
void Read_RanddomFromFpga(); // 读FPGARANDFIFO
|
||||
void RandTxtBakup(char ok);
|
||||
// 上海外接屏功能
|
||||
int BigDisp(unsigned char Module[], unsigned char Wirediameter[]);
|
||||
int RecDim();//unsigned char buf[], unsigned char Dim[]);
|
||||
int SmallDisp(unsigned char Module[], unsigned char Wirediameter[]);
|
||||
void DatToDisp(char FileName[], bool big);
|
||||
void DatToDisp2();
|
||||
void showData(QByteArray dat);
|
||||
void uart2Init();
|
||||
void writeDacValue2Fpga_No72NewVoltData();
|
||||
|
||||
#ifdef UART2
|
||||
Posix_QextSerialPort *myCom;
|
||||
// MySerialPort * myserialport;
|
||||
QByteArray recData;
|
||||
QQueue<QByteArray> recQueue;
|
||||
int recLen;
|
||||
void stopReceiving();
|
||||
bool isReceivingEnable() const;
|
||||
void disableReceiving();
|
||||
void enableReceiving();
|
||||
|
||||
uchar sendData(const QByteArray &data);
|
||||
|
||||
void stopSending();
|
||||
bool isSendingEnable() const;
|
||||
void disableSending();
|
||||
void enableSending();
|
||||
uchar uartThreadStart();
|
||||
|
||||
//void printCtrl2(int cmd);
|
||||
int recUart2();
|
||||
|
||||
public slots:
|
||||
void readCom(char mode,QByteArray recData,int addr);
|
||||
void sendCom(QString s);
|
||||
void sendCom(char *buf, int len);
|
||||
void resendFPGADate(int,int,unsigned char *,int,int);
|
||||
void resendSTM32Date(int,int,unsigned char *,int,int);
|
||||
|
||||
signals:
|
||||
void dataReceived(char,const QByteArray &dataReceived,int);
|
||||
void sendSerialDataToSTM32(int,int,unsigned char *,int,int);
|
||||
void sendSerialDataToFPGA(int,int,unsigned char *,int,int);
|
||||
#endif
|
||||
|
||||
private:
|
||||
int WdgttyUsb0Cnt;
|
||||
bool releaseValveOpenFlag;
|
||||
bool mixValveFlag;
|
||||
bool inkValveOpenFlag;
|
||||
bool inkValveOpenFlag1;
|
||||
bool cycleValveOpenFlag;
|
||||
bool compressPumpOpenFlag;
|
||||
bool viscosityPumpOpenFlag;
|
||||
bool mainInkPumpOpenFlag;
|
||||
bool reclaimPumpOpenFlag;
|
||||
|
||||
bool reclaimTankOpenEnableFlag;
|
||||
bool reclaimTankCloseEnableFlag;
|
||||
bool beeperOnFlag;
|
||||
|
||||
bool RedLightOnFlag;
|
||||
bool GreenLightOnFlag;
|
||||
bool YellowLightOnFlag;
|
||||
|
||||
bool heaterOnFlag;
|
||||
int com2;
|
||||
int pwm_sp;
|
||||
int pwm_fd;
|
||||
int Interrupt_fd;
|
||||
int iocontrl;
|
||||
int DAdataout;
|
||||
int pwm_ink;
|
||||
int adc_fd;
|
||||
#ifdef __VX_OSC_VOL__
|
||||
qint8 OscillatorVoltage[100];//VX 电路不一样,所以需要重新调整
|
||||
#endif
|
||||
SysPara *sysPara;
|
||||
|
||||
|
||||
unsigned int fpgaRdD(int addr,int len);
|
||||
|
||||
// 0xA451--- 为什么ARM的顺序相反呢?
|
||||
typedef struct {
|
||||
unsigned int varDigitalNum:4; // 数字的个数
|
||||
unsigned int charRamBaseAddr:12; // 基址
|
||||
unsigned int colOffset:16; // 列偏移
|
||||
unsigned int horizonWidth:9;//字模宽度
|
||||
unsigned int verticalOffset:6; // 行偏移
|
||||
unsigned int charRowNum:6; // 每个字符占行个数
|
||||
unsigned int charColNum:6; // 每个字符占列个数
|
||||
unsigned int varTypeSel:4;
|
||||
unsigned int dummy:1;
|
||||
}reg_var_print_ctrl_t;
|
||||
|
||||
#ifdef UART2
|
||||
UartThread *uartThread;
|
||||
bool sendingEnable;
|
||||
bool receivingEnable;
|
||||
bool saveStateReceiveData;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
#ifdef UART2
|
||||
class UartThread : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
UartThread(Posix_QextSerialPort &adrPort);
|
||||
~UartThread();
|
||||
void stopReceiving();
|
||||
QQueue<QByteArray> dataToSend;
|
||||
QMutex mutexSend;
|
||||
void stopSending();
|
||||
void addDataToSend(const QByteArray &dataToAdd);
|
||||
protected:
|
||||
void run();
|
||||
signals:
|
||||
void dataReceived(char,const QByteArray &dataReceived,int);
|
||||
private :
|
||||
Posix_QextSerialPort &port;
|
||||
QMutex mutexReceive;
|
||||
bool stopped;
|
||||
rec_cmd_t rec_cmd;
|
||||
};
|
||||
#endif
|
||||
#endif /* DEVOP_H_ */
|
||||
+3471
-3356
File diff suppressed because it is too large
Load Diff
+29
-8
@@ -101,14 +101,35 @@ private:
|
||||
QTimer* viscosity_timer;
|
||||
QTimer* timer;
|
||||
QTime t1;
|
||||
bool m_rampDone = false; // pressureAdj 软启动完成标志
|
||||
int m_adjSkip = 0; // pressureAdj 节拍计数
|
||||
int m_lastPressure = 0; // pressureAdj 上次采样压力(稳定检测用)
|
||||
int m_stableCount = 0; // pressureAdj 压力连续稳定计数
|
||||
int m_pressureBuf[10] = {}; // pressureAdj 压力滑动平均缓冲(10点=1s)
|
||||
int m_bufIdx = 0; // pressureAdj 滑动平均写入索引
|
||||
bool m_lastReclaimMode = false; // 上次 flagOfReclaimPumEnable 状态,用于检测切换
|
||||
bool m_lastByHand = false; // 上次 isPumpValveControledByHand 状态,用于检测手动、自动
|
||||
// 因为原先vx5没有状态管理,容易在刚开机时和排气中互相抢占显示
|
||||
bool check_flag = true;
|
||||
|
||||
// 隔膜泵状态枚举
|
||||
enum DiaphragmPumpState {
|
||||
DPUMP_STOPPED = 0, // 停止状态
|
||||
DPUMP_STARTING = 1, // 启动爬升状态
|
||||
DPUMP_RUNNING = 2 // 运行微调状态
|
||||
};
|
||||
|
||||
// 隔膜泵控制参数
|
||||
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; // 上次手动控制状态
|
||||
bool m_powerOffPressureControlActive = 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 autoControlValvePump();
|
||||
void detectAndcontrolReclaimTank();
|
||||
|
||||
+2350
-2354
File diff suppressed because it is too large
Load Diff
+229
-229
@@ -1,229 +1,229 @@
|
||||
#ifndef PRINTSETTING_H
|
||||
#define PRINTSETTING_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "dialogmodifypasswd.h"
|
||||
#include "DialogAuthorization.h"
|
||||
#include "ParaSettingUI.h"
|
||||
#include "dlginputaddr.h"
|
||||
|
||||
#include "dlgvarlength.h"
|
||||
#include "dialogshowcounter.h"
|
||||
|
||||
#include "TextEditOption.h" // 需要使用文件文本编辑功能
|
||||
#include <QLineEdit>
|
||||
#include <QString>
|
||||
#include <QTableWidget>
|
||||
#include "dialogmoduleseletion.h"
|
||||
#include "SectionalCounting/sectionalwid.h"
|
||||
//#include "mainwindow.h"
|
||||
|
||||
namespace Ui {
|
||||
class PrintSetting;
|
||||
}
|
||||
|
||||
class PicScene;
|
||||
class PicTextItem;
|
||||
|
||||
class PrintSetting : public QWidget,public ParaSettingUI
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PrintSetting(QWidget *parent = 0);
|
||||
~PrintSetting();
|
||||
QString cmd;
|
||||
QString addr;
|
||||
QString data;
|
||||
QString len;
|
||||
// QString comport;
|
||||
QString type;
|
||||
|
||||
void updateSysParaToUI(); //重载
|
||||
void applyUIPara(); //重载
|
||||
void updateCnt1GroupsTblWgt();
|
||||
|
||||
void ApplyCnt1GroupSetting();
|
||||
void updateSysStatusToUI();
|
||||
void updateAuthorization(int auth);
|
||||
void PreviewEdit(); //
|
||||
void bindSysPara(SysPara *sysPara);
|
||||
//分段计米
|
||||
void LoadCnt1GroupSettingsToUI();
|
||||
void rowWidgetCreate(int rowIndex);
|
||||
void moveRow(int currentRow, int toRow);
|
||||
void on_moveUp_clicked();
|
||||
void on_moveDown_clicked();
|
||||
//分段计米end
|
||||
|
||||
void PrintSettingLog();
|
||||
|
||||
DlgInputAddr *dlgInputAddr;
|
||||
DialogModuleSeletion *dialogModuleSeletion;
|
||||
bool flagOfSpecailSettng ;
|
||||
bool flagOfEngineeringMode;
|
||||
void SpecailSettingsDisplay();
|
||||
void EngineeringModeDisplay();
|
||||
bool flagOfModuleDecimal;
|
||||
bool flagOfModuleHide;
|
||||
void ModuleDecimalDisplay();
|
||||
void ModuleHideDisplay();
|
||||
void ModuleDecimalHideDisplay(const bool bEnabled);
|
||||
void uiSettingForNo66();
|
||||
void uiSettingForNo67();
|
||||
void uiSettingForNo72();
|
||||
void uiSettingForNo73();
|
||||
void specailMachineSetting(bool);
|
||||
void displayForAdjustVoltage(bool);
|
||||
void setForAdjustVoltage();
|
||||
|
||||
public slots:
|
||||
void updateUIForSpecialCondition();
|
||||
|
||||
void getFpgaVersionSetDisable();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
signals:
|
||||
void HiddenFunction(bool);
|
||||
void sendDataToFPGA(QString,QString,QString,QString,QString);
|
||||
void engineerMode(bool);
|
||||
void checkPrintIntervalSignal();
|
||||
|
||||
private slots:
|
||||
void showMotorIsenVal(int,int);
|
||||
void showReclaimTankstatusslot(unsigned char);
|
||||
void on_radioButtonSpecialCondition_clicked(bool checked);
|
||||
void refreshtimerHandler(void);
|
||||
|
||||
void ondialogShowCounterAccepted(void);
|
||||
|
||||
void on_checkVarLenChg();
|
||||
void on_VarLenSet();
|
||||
|
||||
void on_pushButtonRanddomBackUP_pressed();
|
||||
void PrintupdateSysParaToUI();
|
||||
void showVolDacEdit(int auth);
|
||||
void on_pushButtonApply_pressed();
|
||||
void on_checkBoxResetCnt1CurrValue_released();
|
||||
void on_checkBoxResetCnt2CurrValue_released();
|
||||
void on_pushButtonClearRunTime_pressed();
|
||||
void on_pushOnlyCNT1Clear_pressed();
|
||||
void on_pushOnlyCNT2Clear_pressed();
|
||||
|
||||
void ondialogAuthorizationAccepted();
|
||||
void ondialogAuthVarSetAccepted();
|
||||
void on_dialogModPasswdAccepted();
|
||||
|
||||
void on_checkBoxSuspendAfterPhaseFault_clicked();
|
||||
void on_checkBoxPowerOffAfterPhaseFault_clicked();
|
||||
|
||||
void on_pushButtonAuth_pressed();
|
||||
// void on_pushButtonXFileSelect_pressed();
|
||||
|
||||
void on_spinBoxLastLineEndPointFixedValue_valueChanged(int arg1);
|
||||
|
||||
void on_pushButtonRecommendedSetting_clicked();
|
||||
// todo
|
||||
void onUpdateCnt1GroupDisp(bool bChangeToNext);
|
||||
|
||||
void on_Cnt3AddRowBtn_pressed();
|
||||
|
||||
void on_Cnt3RemoveRowBtn_pressed();
|
||||
|
||||
void on_Cnt3InsertRowBtn_pressed();
|
||||
|
||||
void on_checkBoxGroupCnt1_clicked(bool checked);
|
||||
|
||||
void on_cnt3RemoveAllRowsBtn_pressed();
|
||||
|
||||
void on_comboBoxAlterPrintEnable_currentIndexChanged(int index);
|
||||
|
||||
void on_checkVol1of8En_clicked(bool checked);
|
||||
|
||||
void on_checkmode0211_clicked(bool checked);
|
||||
void on_spinBoxExpiryDate_valueChanged(int arg1);
|
||||
|
||||
void on_CBDateFormat1_currentIndexChanged(int index);
|
||||
void showMachInfo(QString);
|
||||
void showRemoteControl(QString SuperNodeIP,QString EdgeIP);
|
||||
|
||||
void on_volButton_clicked();
|
||||
|
||||
void on_spinBoxColDelay_valueChanged(int arg1);
|
||||
|
||||
void on_radioButtonFUllColFIxVal_clicked(bool checked);
|
||||
|
||||
void on_metreCountButton_clicked();
|
||||
|
||||
void on_lockoulsepushButton_clicked();
|
||||
|
||||
void on_spinBoxCnt1EndValue_valueChanged(int arg1);
|
||||
|
||||
//todo
|
||||
void on_pushButtonUpRow_clicked();
|
||||
|
||||
void on_pushButtonDownRow_clicked();
|
||||
|
||||
|
||||
void on_checkBoxResetCnt3CurrValue_released();
|
||||
void on_checkBoxSaveCNTStateValue_released();
|
||||
void on_checkBoxCircleProductCnt_released();
|
||||
|
||||
void on_pushOnlyCNT3Clear_pressed();
|
||||
void setCNT1BackColor(bool flag);
|
||||
void setCNT2BackColor(bool flag);
|
||||
void setCNT3BackColor(bool flag);
|
||||
// void setDisableFontWidth(bool);
|
||||
void updateMachineMac(QString);
|
||||
void setDisableFontWidth(bool);
|
||||
private slots:
|
||||
void autoUpdateFontWidth(const unsigned int);
|
||||
|
||||
void on_checkBox_FastMode_clicked();
|
||||
|
||||
|
||||
|
||||
void on_spinBox_1_valueChanged(int arg1);
|
||||
|
||||
void on_pushButton_2_pressed();
|
||||
|
||||
void on_pushButton_3_pressed();
|
||||
|
||||
void on_pushButton_4_pressed();
|
||||
|
||||
void slt_updateCntShow(bool);
|
||||
Q_SIGNALS:
|
||||
void authChanged(int auth);
|
||||
void printPriveiw();
|
||||
void change_OutputPulse();
|
||||
void SwitchTimerShowItem(bool flag);
|
||||
private:
|
||||
Ui::PrintSetting *ui;
|
||||
//MainWindow *mainWindow;
|
||||
DialogAuthorization *dialogAuthorization;
|
||||
DialogAuthorization *dialogAuthVarSet;
|
||||
DlgVarLength *dlgvarLen;
|
||||
int auth;
|
||||
|
||||
Dialogmodifypasswd *dialogModPasswd;
|
||||
DialogShowCounter *dialogShowCounter;
|
||||
int modify_vol;
|
||||
int keepVolVal;
|
||||
QTimer *refresh_timer;
|
||||
|
||||
int lockpulse;
|
||||
int area_end;
|
||||
int last_area_end;
|
||||
PicScene* pGetPicScene;
|
||||
|
||||
//当前打印的长度
|
||||
unsigned int current_print_col_num;
|
||||
|
||||
// 分段计米
|
||||
SectionalWid* sectionalWid = nullptr;
|
||||
void initSection();
|
||||
};
|
||||
|
||||
#endif // PRINTSETTING_H
|
||||
#ifndef PRINTSETTING_H
|
||||
#define PRINTSETTING_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "dialogmodifypasswd.h"
|
||||
#include "DialogAuthorization.h"
|
||||
#include "ParaSettingUI.h"
|
||||
#include "dlginputaddr.h"
|
||||
|
||||
#include "dlgvarlength.h"
|
||||
#include "dialogshowcounter.h"
|
||||
|
||||
#include "TextEditOption.h" // 需要使用文件文本编辑功能
|
||||
#include <QLineEdit>
|
||||
#include <QString>
|
||||
#include <QTableWidget>
|
||||
#include "dialogmoduleseletion.h"
|
||||
#include "SectionalCounting/sectionalwid.h"
|
||||
//#include "mainwindow.h"
|
||||
|
||||
namespace Ui {
|
||||
class PrintSetting;
|
||||
}
|
||||
|
||||
class PicScene;
|
||||
class PicTextItem;
|
||||
|
||||
class PrintSetting : public QWidget,public ParaSettingUI
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PrintSetting(QWidget *parent = 0);
|
||||
~PrintSetting();
|
||||
QString cmd;
|
||||
QString addr;
|
||||
QString data;
|
||||
QString len;
|
||||
// QString comport;
|
||||
QString type;
|
||||
|
||||
void updateSysParaToUI(); //重载
|
||||
void applyUIPara(); //重载
|
||||
void updateCnt1GroupsTblWgt();
|
||||
|
||||
void ApplyCnt1GroupSetting();
|
||||
void updateSysStatusToUI();
|
||||
void updateAuthorization(int auth);
|
||||
void PreviewEdit(); //
|
||||
void bindSysPara(SysPara *sysPara);
|
||||
//分段计米
|
||||
void LoadCnt1GroupSettingsToUI();
|
||||
void rowWidgetCreate(int rowIndex);
|
||||
void moveRow(int currentRow, int toRow);
|
||||
void on_moveUp_clicked();
|
||||
void on_moveDown_clicked();
|
||||
//分段计米end
|
||||
|
||||
void PrintSettingLog();
|
||||
|
||||
DlgInputAddr *dlgInputAddr;
|
||||
DialogModuleSeletion *dialogModuleSeletion;
|
||||
bool flagOfSpecailSettng ;
|
||||
bool flagOfEngineeringMode;
|
||||
void SpecailSettingsDisplay();
|
||||
void EngineeringModeDisplay();
|
||||
bool flagOfModuleDecimal;
|
||||
bool flagOfModuleHide;
|
||||
void ModuleDecimalDisplay();
|
||||
void ModuleHideDisplay();
|
||||
void ModuleDecimalHideDisplay(const bool bEnabled);
|
||||
void uiSettingForNo66();
|
||||
void uiSettingForNo67();
|
||||
void uiSettingForNo72();
|
||||
void uiSettingForNo73();
|
||||
void specailMachineSetting(bool);
|
||||
void displayForAdjustVoltage(bool);
|
||||
void setForAdjustVoltage();
|
||||
|
||||
public slots:
|
||||
void updateUIForSpecialCondition();
|
||||
|
||||
void getFpgaVersionSetDisable();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
signals:
|
||||
void HiddenFunction(bool);
|
||||
void sendDataToFPGA(QString,QString,QString,QString,QString);
|
||||
void engineerMode(bool);
|
||||
void checkPrintIntervalSignal();
|
||||
|
||||
private slots:
|
||||
void showMotorIsenVal(int,int);
|
||||
void showReclaimTankstatusslot(unsigned char);
|
||||
void on_radioButtonSpecialCondition_clicked(bool checked);
|
||||
void refreshtimerHandler(void);
|
||||
|
||||
void ondialogShowCounterAccepted(void);
|
||||
|
||||
void on_checkVarLenChg();
|
||||
void on_VarLenSet();
|
||||
|
||||
void on_pushButtonRanddomBackUP_pressed();
|
||||
void PrintupdateSysParaToUI();
|
||||
void showVolDacEdit(int auth);
|
||||
void on_pushButtonApply_pressed();
|
||||
void on_checkBoxResetCnt1CurrValue_released();
|
||||
void on_checkBoxResetCnt2CurrValue_released();
|
||||
void on_pushButtonClearRunTime_pressed();
|
||||
void on_pushOnlyCNT1Clear_pressed();
|
||||
void on_pushOnlyCNT2Clear_pressed();
|
||||
|
||||
void ondialogAuthorizationAccepted();
|
||||
void ondialogAuthVarSetAccepted();
|
||||
void on_dialogModPasswdAccepted();
|
||||
|
||||
void on_checkBoxSuspendAfterPhaseFault_clicked();
|
||||
void on_checkBoxPowerOffAfterPhaseFault_clicked();
|
||||
|
||||
void on_pushButtonAuth_pressed();
|
||||
// void on_pushButtonXFileSelect_pressed();
|
||||
|
||||
void on_spinBoxLastLineEndPointFixedValue_valueChanged(int arg1);
|
||||
|
||||
void on_pushButtonRecommendedSetting_clicked();
|
||||
// todo
|
||||
void onUpdateCnt1GroupDisp(bool bChangeToNext);
|
||||
|
||||
void on_Cnt3AddRowBtn_pressed();
|
||||
|
||||
void on_Cnt3RemoveRowBtn_pressed();
|
||||
|
||||
void on_Cnt3InsertRowBtn_pressed();
|
||||
|
||||
void on_checkBoxGroupCnt1_clicked(bool checked);
|
||||
|
||||
void on_cnt3RemoveAllRowsBtn_pressed();
|
||||
|
||||
void on_comboBoxAlterPrintEnable_currentIndexChanged(int index);
|
||||
|
||||
void on_checkVol1of8En_clicked(bool checked);
|
||||
|
||||
void on_checkmode0211_clicked(bool checked);
|
||||
void on_spinBoxExpiryDate_valueChanged(int arg1);
|
||||
|
||||
void on_CBDateFormat1_currentIndexChanged(int index);
|
||||
void showMachInfo(QString);
|
||||
void showRemoteControl(QString SuperNodeIP,QString EdgeIP);
|
||||
|
||||
void on_volButton_clicked();
|
||||
|
||||
void on_spinBoxColDelay_valueChanged(int arg1);
|
||||
|
||||
void on_radioButtonFUllColFIxVal_clicked(bool checked);
|
||||
|
||||
void on_metreCountButton_clicked();
|
||||
|
||||
void on_lockoulsepushButton_clicked();
|
||||
|
||||
void on_spinBoxCnt1EndValue_valueChanged(int arg1);
|
||||
|
||||
//todo
|
||||
void on_pushButtonUpRow_clicked();
|
||||
|
||||
void on_pushButtonDownRow_clicked();
|
||||
|
||||
|
||||
void on_checkBoxResetCnt3CurrValue_released();
|
||||
void on_checkBoxSaveCNTStateValue_released();
|
||||
void on_checkBoxCircleProductCnt_released();
|
||||
|
||||
void on_pushOnlyCNT3Clear_pressed();
|
||||
void setCNT1BackColor(bool flag);
|
||||
void setCNT2BackColor(bool flag);
|
||||
void setCNT3BackColor(bool flag);
|
||||
// void setDisableFontWidth(bool);
|
||||
void updateMachineMac(QString);
|
||||
void setDisableFontWidth(bool);
|
||||
private slots:
|
||||
void autoUpdateFontWidth(const unsigned int);
|
||||
|
||||
void on_checkBox_FastMode_clicked();
|
||||
|
||||
|
||||
|
||||
void on_spinBox_1_valueChanged(int arg1);
|
||||
|
||||
void on_pushButton_2_pressed();
|
||||
|
||||
void on_pushButton_3_pressed();
|
||||
|
||||
void on_pushButton_4_pressed();
|
||||
|
||||
void slt_updateCntShow(bool);
|
||||
Q_SIGNALS:
|
||||
void authChanged(int auth);
|
||||
void printPriveiw();
|
||||
void change_OutputPulse();
|
||||
void SwitchTimerShowItem(bool flag);
|
||||
private:
|
||||
Ui::PrintSetting *ui;
|
||||
//MainWindow *mainWindow;
|
||||
DialogAuthorization *dialogAuthorization;
|
||||
DialogAuthorization *dialogAuthVarSet;
|
||||
DlgVarLength *dlgvarLen;
|
||||
int auth;
|
||||
|
||||
Dialogmodifypasswd *dialogModPasswd;
|
||||
DialogShowCounter *dialogShowCounter;
|
||||
int modify_vol;
|
||||
int keepVolVal;
|
||||
QTimer *refresh_timer;
|
||||
|
||||
int lockpulse;
|
||||
int area_end;
|
||||
int last_area_end;
|
||||
PicScene* pGetPicScene;
|
||||
|
||||
//当前打印的长度
|
||||
unsigned int current_print_col_num;
|
||||
|
||||
// 分段计米
|
||||
SectionalWid* sectionalWid = nullptr;
|
||||
void initSection();
|
||||
};
|
||||
|
||||
#endif // PRINTSETTING_H
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Public.h
|
||||
*
|
||||
* Created on: Jul 16, 2013
|
||||
* Author: yiyu
|
||||
* QQ:1036184468
|
||||
* Descriptoin:
|
||||
|
||||
*/
|
||||
|
||||
#ifndef PUBLIC_H_
|
||||
#define PUBLIC_H_
|
||||
|
||||
#include <Qt>
|
||||
#include <QString>
|
||||
#include <stdlib.h>
|
||||
#include <QFont>
|
||||
|
||||
extern void MySleep(unsigned int msec);
|
||||
|
||||
class Public{
|
||||
public:
|
||||
Public();
|
||||
~Public();
|
||||
static int getMinFontPixelSize();
|
||||
static QString getFontFamily(int pixelSize);
|
||||
static QString getFontFamily(int pixelSize, int vartype);// 20160812
|
||||
static int derivePixelSizeFromHeight(int value);
|
||||
static int derivePixelSizeFromHeightNx(int value);
|
||||
static int getAdjustedPixelSize(int value);
|
||||
static void resetPara();
|
||||
static void backupPara();
|
||||
static QString readLanguageType();
|
||||
static QString ReadLanguageName();
|
||||
static int getNumberHeight(QFont font);
|
||||
static time_t getDateFromMacro(const char *time);
|
||||
static QString DateToString(const char *time);
|
||||
|
||||
static int getType(int vartype); // 将变量类型进行转换,以处理横向字体
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* PUBLIC_H_ */
|
||||
+2
-23
@@ -369,33 +369,12 @@ QString Public::DateToString(char const *time){
|
||||
int month, day, year;
|
||||
//struct tm t = {0};
|
||||
static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
|
||||
//qDebug()<<time;
|
||||
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;
|
||||
//qDebug()<<month<<s_month;
|
||||
QString s;
|
||||
s.sprintf("%04d-%02d-%02d",year,month,day);
|
||||
return s;
|
||||
}
|
||||
|
||||
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;
|
||||
// s.sprintf("%04d-%02d-%02d",year,month,day);
|
||||
s.sprintf("%02d%02d",month,day);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,8 +36,6 @@ public:
|
||||
static time_t getDateFromMacro(const char *time);
|
||||
static QString DateToString(const char *time);
|
||||
|
||||
static QString ArmDate2String(const char * date, const char * time);
|
||||
|
||||
static QString ReadKeyBoardUse();
|
||||
|
||||
static int getType(int vartype); // 将变量类型进行转换,以处理横向字体
|
||||
|
||||
@@ -57,7 +57,7 @@ DEFINES+=WARNING
|
||||
|
||||
DEFINES+=TEMPMIMA
|
||||
DEFINES+=COUNTER1_BY_GROUP #分段计米
|
||||
# DEFINES+=COUNTER2_BY_GROUP #分段计米2
|
||||
#DEFINES+=COUNTER2_BY_GROUP #分段计米2
|
||||
DEFINES+=_2DCODE_ #QR二维码
|
||||
DEFINES+=PICSCENE
|
||||
#DEFINES+=__2451WIFI__
|
||||
@@ -417,15 +417,3 @@ if(contains(DEFINES,__2451WIFI__))
|
||||
#INCLUDEPATH += /home/student/newDisk/2451_linux/wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8/src
|
||||
#INCLUDEPATH += /home/student/newDisk/2451_linux/wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8/src/utils
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
# VX5-DiaphragmPump
|
||||
|
||||
vx5隔膜泵版本
|
||||
vx5隔膜泵版本
|
||||
|
||||
基于最新的vx5齿轮泵代码,仅修改为隔膜泵算法,并在产线测试后提交
|
||||
20260826 hlp
|
||||
@@ -25,6 +25,11 @@ void SectionalManager::emitLoadUI()
|
||||
emit sig_loadSettings2UI();
|
||||
}
|
||||
|
||||
void SectionalManager::emitCancelSection()
|
||||
{
|
||||
emit sig_cancelSection();
|
||||
}
|
||||
|
||||
SectionalManager::SectionalManager()
|
||||
{
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ public:
|
||||
//应用配置
|
||||
void emitLoadUI();
|
||||
|
||||
// 取消分段计米
|
||||
void emitCancelSection();
|
||||
private:
|
||||
SectionalManager();
|
||||
|
||||
@@ -33,7 +35,7 @@ signals:
|
||||
void sig_applySetting();
|
||||
void sig_loadSettings2UI();
|
||||
void sig_updateCntGroupDisp(bool);
|
||||
|
||||
void sig_cancelSection();
|
||||
};
|
||||
|
||||
#endif // SECTIONALMANAGER_H
|
||||
|
||||
+593
-576
File diff suppressed because it is too large
Load Diff
@@ -64,7 +64,7 @@ private slots:
|
||||
void slt_applySetting();
|
||||
void slt_loadSettings2UI();
|
||||
void slt_updateCntGroupDisp(bool bChangeToNext);
|
||||
|
||||
void slt_cancelSection();
|
||||
private:
|
||||
Ui::SectionalWid *ui;
|
||||
SysPara* sysPara = nullptr;
|
||||
|
||||
+10
@@ -23,6 +23,7 @@
|
||||
#include <unistd.h>
|
||||
#include<iostream>
|
||||
#include<string>
|
||||
#include "VerBVersion.h"
|
||||
|
||||
#define VNLG
|
||||
SysPara::SysPara(void):
|
||||
@@ -30,6 +31,9 @@ SysPara::SysPara(void):
|
||||
|
||||
memset(¶,0,sizeof(para));
|
||||
memset(&status,0,sizeof(status));
|
||||
|
||||
para.airPushDurationSec = 4;
|
||||
|
||||
//qDebug("start to loadParaFromFile.");
|
||||
loadParaFromFile();
|
||||
//qDebug("loadParaFromFile ok.");
|
||||
@@ -57,6 +61,10 @@ SysPara::SysPara(void):
|
||||
|
||||
//para.HVFaultCloseEn= 1; //开机默认为1,允许高压故障自动关闭回收功能
|
||||
|
||||
// 隔膜泵版本强制开启回收泵模式
|
||||
if(PUMP_VER == QString("D"))
|
||||
para.flagOfReclaimPumEnable = true;
|
||||
|
||||
devOp->writeFpgaPrintPara(true); //系统起来的时候,将上次记录的配置写入fpga,比如晶振分频等信息
|
||||
devOp->writeFpgaVariCtrl();
|
||||
devOp->resumeFault();
|
||||
@@ -174,6 +182,8 @@ void SysPara::loadDefaultPara(){
|
||||
para.enableChargeFullTime = 1;//充电占空百分比
|
||||
|
||||
para.mixValveisNewVersion = 1;//混和阀是否是新管路
|
||||
|
||||
para.airPushDurationSec = 4;
|
||||
}
|
||||
|
||||
void SysPara::saveParaToFile(){
|
||||
|
||||
+847
-842
File diff suppressed because it is too large
Load Diff
+70
-70
@@ -1,70 +1,70 @@
|
||||
#ifndef SSYSTEMSETTING_H
|
||||
#define SSYSTEMSETTING_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QProgressBar>
|
||||
#include "ParaSettingUI.h"
|
||||
#include "TimeSettingDialog.h"
|
||||
#include <QTimer>
|
||||
#include "DialogAuthorization.h"
|
||||
#include "dlgmutilanguage.h"
|
||||
#include <iostream>
|
||||
namespace Ui {
|
||||
class SystemSetting;
|
||||
}
|
||||
|
||||
class SystemSetting : public QWidget,public ParaSettingUI
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SystemSetting(QWidget *parent = 0);
|
||||
~SystemSetting();
|
||||
|
||||
void updateSysParaToUI(); //重载
|
||||
void applyUIPara(); //重载
|
||||
void updateSysStatusToUI(); //重载
|
||||
QProgressBar progressBar;
|
||||
void updateReclaimTime(int time);
|
||||
void updateViscosityAdjust(int offset);
|
||||
void updateAuthorization(int auth);
|
||||
void setSpinBoxPressureMaxValue(int pressureVal);
|
||||
void SystemSettingLog();
|
||||
|
||||
bool lastHighVoltageOpen;
|
||||
|
||||
public slots:
|
||||
void setFreqFixVisible(bool visible);
|
||||
|
||||
Q_SIGNALS:
|
||||
void changeEditMode(int);
|
||||
void setRunStatus(QString);
|
||||
void pressureAdjust();
|
||||
private slots:
|
||||
void setInterfaceMode();
|
||||
void SystemupdateSysParaToUI();
|
||||
|
||||
void on_spinBoxReclaimPumpPower_valueChanged(int arg1);
|
||||
void on_pushButtonCleanUP_pressed();
|
||||
void on_pushButtonHighVoltageData_pressed();
|
||||
void on_pushButtonApply_pressed();
|
||||
void on_pushButtonSearchBestOscillatorVoltage_pressed();
|
||||
void on_pushButtonSearchBestOscillatorFreq_pressed();
|
||||
void timerHandler();
|
||||
void on_spinBoxOscillatorVoltage_valueChanged(int arg1);
|
||||
void on_pushButtonInterFace_pressed();
|
||||
void ondialogAuthorizationAccepted();
|
||||
void onCleanUPNow();
|
||||
void timerHandler2();
|
||||
void autoControlPressure();
|
||||
|
||||
private:
|
||||
Ui::SystemSetting *ui;
|
||||
DlgMutiLanguage dlgLanguage;
|
||||
QTimer *timer,*timer2, *SetinkcloseCountTimer, *timerAuto;
|
||||
unsigned char enCleanUpAppendFlag; // 0空闲,1关开回收槽,2手动,3清洗,4恢复,5停止,6
|
||||
bool r_PumpValveControledByHand;
|
||||
DialogAuthorization *dialogUpateMm;
|
||||
};
|
||||
|
||||
#endif // SSYSTEMSETTING_H
|
||||
#ifndef SSYSTEMSETTING_H
|
||||
#define SSYSTEMSETTING_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QProgressBar>
|
||||
#include "ParaSettingUI.h"
|
||||
#include "TimeSettingDialog.h"
|
||||
#include <QTimer>
|
||||
#include "DialogAuthorization.h"
|
||||
#include "dlgmutilanguage.h"
|
||||
#include <iostream>
|
||||
namespace Ui {
|
||||
class SystemSetting;
|
||||
}
|
||||
|
||||
class SystemSetting : public QWidget,public ParaSettingUI
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SystemSetting(QWidget *parent = 0);
|
||||
~SystemSetting();
|
||||
|
||||
void updateSysParaToUI(); //重载
|
||||
void applyUIPara(); //重载
|
||||
void updateSysStatusToUI(); //重载
|
||||
QProgressBar progressBar;
|
||||
void updateReclaimTime(int time);
|
||||
void updateViscosityAdjust(int offset);
|
||||
void updateAuthorization(int auth);
|
||||
void setSpinBoxPressureMaxValue(int pressureVal);
|
||||
void SystemSettingLog();
|
||||
|
||||
bool lastHighVoltageOpen;
|
||||
|
||||
public slots:
|
||||
void setFreqFixVisible(bool visible);
|
||||
|
||||
Q_SIGNALS:
|
||||
void changeEditMode(int);
|
||||
void setRunStatus(QString);
|
||||
void pressureAdjust();
|
||||
private slots:
|
||||
void setInterfaceMode();
|
||||
void SystemupdateSysParaToUI();
|
||||
|
||||
void on_spinBoxReclaimPumpPower_valueChanged(int arg1);
|
||||
void on_pushButtonCleanUP_pressed();
|
||||
void on_pushButtonHighVoltageData_pressed();
|
||||
void on_pushButtonApply_pressed();
|
||||
void on_pushButtonSearchBestOscillatorVoltage_pressed();
|
||||
void on_pushButtonSearchBestOscillatorFreq_pressed();
|
||||
void timerHandler();
|
||||
void on_spinBoxOscillatorVoltage_valueChanged(int arg1);
|
||||
void on_pushButtonInterFace_pressed();
|
||||
void ondialogAuthorizationAccepted();
|
||||
void onCleanUPNow();
|
||||
void timerHandler2();
|
||||
void autoControlPressure();
|
||||
|
||||
private:
|
||||
Ui::SystemSetting *ui;
|
||||
DlgMutiLanguage dlgLanguage;
|
||||
QTimer *timer,*timer2, *SetinkcloseCountTimer, *timerAuto;
|
||||
unsigned char enCleanUpAppendFlag; // 0空闲,1关开回收槽,2手动,3清洗,4恢复,5停止,6
|
||||
bool r_PumpValveControledByHand;
|
||||
DialogAuthorization *dialogUpateMm;
|
||||
};
|
||||
|
||||
#endif // SSYSTEMSETTING_H
|
||||
|
||||
+1794
-1797
File diff suppressed because it is too large
Load Diff
+7
-21
@@ -93,13 +93,11 @@ TriggerCtrl::TriggerCtrl(QWidget *parent) :
|
||||
connect(pulseNumFix,SIGNAL(pulseNuxFixDone(float)),this,SLOT(onPulseNumFixDone(float)));
|
||||
|
||||
updateSysStatusToUI();
|
||||
|
||||
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 = s + (QString) Public::DateToString(__DATE__)+"_"+ QString(__TIME__)+"_";
|
||||
// hlp :邓总要求,采用新的格式进行转换 0727
|
||||
// s = Public::ArmDate2String(__DATE__, __TIME__);
|
||||
|
||||
// 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__)+"."+SUB_VER+SUB_RFID;
|
||||
ui->test_version->setText(s);
|
||||
ui->checkBoxEleEyeMakeClean->setVisible(false);
|
||||
tr("独立参数");
|
||||
@@ -398,16 +396,6 @@ void TriggerCtrl::updateSysStatusToUI(){
|
||||
ui->spinBoxpluseSinal->setValue(sysPara->para.pulse_sinal_value);
|
||||
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)
|
||||
{
|
||||
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 = s + (QString) Public::DateToString(__DATE__)+ "_"+ QString(__TIME__);
|
||||
// hlp :邓总要求,采用新的格式进行转换 0727
|
||||
// s = Public::ArmDate2String(__DATE__, __TIME__);
|
||||
|
||||
// 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("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||
s = s + (QString) Public::DateToString(__DATE__)+"."+SUB_VER+SUB_RFID;//+ "_"+ QString(__TIME__)
|
||||
ui->test_version->setText(s+s1);
|
||||
|
||||
}
|
||||
|
||||
+30
-31
@@ -1,31 +1,30 @@
|
||||
#ifndef VERBVERSION_H
|
||||
#define VERBVERSION_H
|
||||
#include "myinclude.h"
|
||||
/*
|
||||
Major.Minor.Rivison.yyyy-MM-DD_Beta
|
||||
*/
|
||||
#define UP_PRINTER_MAJOR_VER 6
|
||||
#define UP_PRINTER_MINOR_VER 8
|
||||
#define UP_PRINTER_RIVISION_VER 3
|
||||
// #define SUB_VERSION "_GuiL"
|
||||
//#define SUB_VERSION "_JingZ"
|
||||
//#define SUB_VERSION "_RFID"
|
||||
#define SUB_VERSION "_Std"
|
||||
// #define SUB_VERSION "_Std_VZ"
|
||||
|
||||
#ifdef __RFID_OLD
|
||||
#define SUB_RFID "_RO"
|
||||
#else
|
||||
#define SUB_RFID ""
|
||||
#endif
|
||||
//#define UP_PRINTER_STAGE_VER "Std"
|
||||
//#define UP_PRINTER_STAGE_VER "Beta"
|
||||
//#define UP_PRINTER_STAGE_VER "RC"
|
||||
//#define UP_PRINTER_STAGE_VER "Release"
|
||||
|
||||
|
||||
#define VERNONBACH_VERSION(a,b,c) (((a)<<16) + ((b)<<8) + (c))
|
||||
|
||||
#define VERNONBACH_VERSION_CODE VERNONBACH_VERSION(UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER, UP_PRINTER_RIVISION_VER)
|
||||
|
||||
#endif // VERBVERSION_H
|
||||
#ifndef VERBVERSION_H
|
||||
#define VERBVERSION_H
|
||||
#include "myinclude.h"
|
||||
/*
|
||||
VX5.D.0826.0100_Std(-C)
|
||||
MACHINAE_VER.PUMP_VER.MMdd.SUB_VER+SUB_RFID
|
||||
*/
|
||||
#define MACHINAE_VER "VX5"
|
||||
#define PUMP_VER "D"
|
||||
//#define SUB_VER "0100"
|
||||
//#define SUB_VER "IND"
|
||||
#define SUB_VER "GuiL"
|
||||
|
||||
#ifdef __RFID_OLD
|
||||
#define SUB_RFID "_RO"
|
||||
#else
|
||||
#define SUB_RFID "_Std"
|
||||
#endif
|
||||
|
||||
#ifdef __RFID_CARD
|
||||
#undef SUB_RFID
|
||||
#define SUB_RFID "-C"
|
||||
#endif
|
||||
|
||||
|
||||
#define VERNONBACH_VERSION(a,b,c) (((a)<<16) + ((b)<<8) + (c))
|
||||
|
||||
#define VERNONBACH_VERSION_CODE VERNONBACH_VERSION(UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER, UP_PRINTER_RIVISION_VER)
|
||||
|
||||
#endif // VERBVERSION_H
|
||||
|
||||
-21660
File diff suppressed because it is too large
Load Diff
+602
-584
File diff suppressed because it is too large
Load Diff
-4100
File diff suppressed because it is too large
Load Diff
-5362
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+606
-579
File diff suppressed because it is too large
Load Diff
-4210
File diff suppressed because it is too large
Load Diff
-4223
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-4399
File diff suppressed because it is too large
Load Diff
-4223
File diff suppressed because it is too large
Load Diff
+2595
-2595
File diff suppressed because it is too large
Load Diff
+79
-122
@@ -436,14 +436,16 @@ void MainWindow::RefreshStatusLight(){//100ms
|
||||
static int reclainTankReachEnd = 0;
|
||||
if((!(sysPara->status.statWarn & WARN_STATUS_HDINT)) && (hdint == 0)) { //喷头盖由开变关
|
||||
if (sysPara->status.reclainTankReachEnd) {
|
||||
sysPara->devOp->highVoltageCtrl(sysPara->para.HighVoltageAmplitude);
|
||||
// sysPara->devOp->highVoltageCtrl(sysPara->para.HighVoltageAmplitude);
|
||||
sysPara->devOp->highVoltageCtrl(0);
|
||||
}
|
||||
}
|
||||
hdint = !(sysPara->status.statWarn & WARN_STATUS_HDINT);
|
||||
|
||||
if(sysPara->status.reclainTankReachEnd && reclainTankReachEnd == 0) { //开回收槽到底
|
||||
if (!(sysPara->status.statWarn & WARN_STATUS_HDINT)) { //喷头盖是关闭的状态
|
||||
sysPara->devOp->highVoltageCtrl(sysPara->para.HighVoltageAmplitude);
|
||||
// sysPara->devOp->highVoltageCtrl(sysPara->para.HighVoltageAmplitude);
|
||||
sysPara->devOp->highVoltageCtrl(0);
|
||||
}
|
||||
}
|
||||
reclainTankReachEnd = sysPara->status.reclainTankReachEnd;
|
||||
@@ -834,7 +836,10 @@ void MainWindow::updateSysStatusToUI(){ //100ms
|
||||
sysPara->devOp->readbuilDat();
|
||||
}
|
||||
firstGetFpgaVersionNumFlag=1;
|
||||
ui->labelFpgaVersionNum->setText(QString("%1/F%2.%3.%4").arg(SOFTWARE_VER_NUM).arg(0).arg(0).arg(0) );
|
||||
QString ARM_Version;
|
||||
ARM_Version.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||
ARM_Version = ARM_Version + (QString) Public::DateToString(__DATE__)+"."+SUB_VER+SUB_RFID;
|
||||
ui->labelFpgaVersionNum->setText(QString("%1/F%2.%3.%4").arg(ARM_Version).arg(0).arg(0).arg(0) );
|
||||
}
|
||||
else{
|
||||
static bool logflag5 = true;
|
||||
@@ -847,8 +852,9 @@ void MainWindow::updateSysStatusToUI(){ //100ms
|
||||
logflag5 = false;
|
||||
sysPara->devOp->writeFpgaPrintPara(true);
|
||||
QString ARM_Version;
|
||||
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)
|
||||
ARM_Version.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||
ARM_Version = ARM_Version + (QString) Public::DateToString(__DATE__)+"."+SUB_VER+SUB_RFID;
|
||||
ui->labelFpgaVersionNum->setText(QString("%1/F%2.%3.%4").arg(ARM_Version).arg(sysPara->status.fpgaVersionNum >> 12)
|
||||
.arg((sysPara->status.fpgaVersionNum>>8) & 0x0f).arg(sysPara->status.fpgaVersionNum&0xff) );
|
||||
}
|
||||
}
|
||||
@@ -1692,13 +1698,7 @@ void MainWindow::generateCharRamData(){/* 生成字模数据 */
|
||||
p_var->original = true;
|
||||
p_var->currVal = -1; //相当于初始化
|
||||
ramAddress += rowByteNum * width2;
|
||||
} else {
|
||||
qDebug() << "startRowPos:" << p_var->startRowPos
|
||||
<<" endRowPos:" << p_var->endRowPos
|
||||
<<" rowDiff:" << rowDiff
|
||||
<< " 按原逻辑,执行这一步的时候软件就已经崩溃了";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2036,85 +2036,48 @@ void MainWindow::enablePrintButton(bool enable){
|
||||
ui->pushButtonStopPrint->setEnabled(enable);
|
||||
}
|
||||
|
||||
static int mainInkPumpCtrlStatus = 0;
|
||||
static int mainInkPumpCtrlCnt = 0;
|
||||
//100ms 为单位
|
||||
void MainWindow::airPushingProcess()
|
||||
{
|
||||
if(sysPara){
|
||||
if (sysPara->status.airPushing) {
|
||||
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
|
||||
// 执行排气 7 秒
|
||||
setRunStatus(tr("正在排气 ..............."));
|
||||
++sysPara->status.airPushingOnTime;
|
||||
if(sysPara->status.airPushingOnTime >= 50) {
|
||||
static int delayCount = 0;
|
||||
++delayCount;
|
||||
m_2sFlag = true;
|
||||
//sysPara->devOp->controlInkValve(false); //关供墨阀
|
||||
if(delayCount >= 40)
|
||||
{
|
||||
m_2sFlag = false;
|
||||
}
|
||||
|
||||
if(delayCount >= 60)
|
||||
{
|
||||
delayCount = 0;
|
||||
airPushTimer->stop();
|
||||
sysPara->devOp->controlViscosityPump(false);
|
||||
reclaimTanOpen();
|
||||
//qDebug()<< "start stop";
|
||||
sysPara->status.airPushingDone = 1;
|
||||
sysPara->status.airPushing = 0;
|
||||
sysPara->status.airPushingOnTime = 0;
|
||||
}
|
||||
// 执行排气 4 秒
|
||||
sysPara->status.airPushingOnTime += 100;
|
||||
|
||||
|
||||
if(sysPara->para.airPushDurationSec <= 0 || sysPara->para.airPushDurationSec > 30) {
|
||||
sysPara->para.airPushDurationSec = 4;
|
||||
sysPara->saveParaToFile();
|
||||
}
|
||||
|
||||
// 延迟 7 秒后才开回收槽,正式结束排气阶段. reclaimTanOpen:会延迟半秒
|
||||
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 6500){
|
||||
airPushTimer->stop();
|
||||
setRunStatus(tr("排气结束, 打开回收槽."));
|
||||
LogInfo::setRunStatusText(tr("排气结束, 打开回收槽."));
|
||||
|
||||
reclaimTanOpen();
|
||||
sysPara->status.airPushingDone = 1;
|
||||
sysPara->status.airPushing = 0;
|
||||
sysPara->status.airPushingOnTime = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (sysPara->status.airPushingOnTime%10 >= 5) {
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
}
|
||||
else {
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
}
|
||||
if (mainInkPumpCtrlStatus == 0) {
|
||||
if(++mainInkPumpCtrlCnt > 15) { //100ms 为单位, 时间到关闭
|
||||
sysPara->devOp->controlMainInkPump(false);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
mainInkPumpCtrlStatus = 1;
|
||||
mainInkPumpCtrlCnt = 0;
|
||||
}
|
||||
}
|
||||
else if (mainInkPumpCtrlStatus == 1) { //100ms 为单位, 时间到开启
|
||||
sysPara->devOp->controlMainInkPump(true);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
mainInkPumpCtrlStatus = 2;
|
||||
}
|
||||
else if (mainInkPumpCtrlStatus == 2) {
|
||||
if(++mainInkPumpCtrlCnt>7) {
|
||||
sysPara->devOp->controlMainInkPump(false);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
mainInkPumpCtrlStatus = 3;
|
||||
mainInkPumpCtrlCnt = 0;
|
||||
}
|
||||
}
|
||||
else if (mainInkPumpCtrlStatus == 3) {
|
||||
if(++mainInkPumpCtrlCnt>8) {
|
||||
sysPara->devOp->controlMainInkPump(true);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
mainInkPumpCtrlStatus = 4;
|
||||
mainInkPumpCtrlCnt = 0;
|
||||
}
|
||||
}
|
||||
else if (mainInkPumpCtrlStatus == 4) {
|
||||
if(++mainInkPumpCtrlCnt>8) {
|
||||
sysPara->devOp->controlMainInkPump(false);
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
mainInkPumpCtrlStatus = 3;
|
||||
mainInkPumpCtrlCnt = 0;
|
||||
}
|
||||
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000){
|
||||
|
||||
if(sysPara->devOp->isViscosityPumpOpen())
|
||||
sysPara->devOp->controlViscosityPump(false);
|
||||
|
||||
if(sysPara->devOp->isCycleValveOpen())
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
|
||||
if(!sysPara->devOp->isReclaimPumpOpen())
|
||||
sysPara->devOp->controlReclaimPump(true, false);
|
||||
|
||||
setRunStatus(tr("排气结束, 准备打开回收槽."));
|
||||
LogInfo::setRunStatusText(tr("排气结束, 准备打开回收槽."));
|
||||
sysPara->status.isPumpValveControledByHand = false;//切换手动,调节压力
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2122,30 +2085,29 @@ void MainWindow::airPushingProcess()
|
||||
|
||||
void MainWindow::reclaimTanOpen()
|
||||
{
|
||||
// 还原当前模式
|
||||
if (sysPara->status.airPushing) {
|
||||
sysPara->status.isPumpValveControledByHand = sysPara->status.byHandStore;
|
||||
}
|
||||
sysPara->status.isPumpValveControledByHand = false;
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
|
||||
MySleep(1000);
|
||||
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
|
||||
ui->pushButtonReclaimTanOpen->setText(sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
|
||||
ui->pushButtonReclaimTankClose->setText(tr("关"));
|
||||
enablePrintButton(SIMULATE_PRINTING_MODE);
|
||||
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
|
||||
// sysPara->status.reclaimTankstatus = 1;
|
||||
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
|
||||
if (!sysPara->para.reclaimTankTime) {
|
||||
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
|
||||
}
|
||||
// 如果是排气流程,则不需要先收
|
||||
if (sysPara->status.airPushingDone)
|
||||
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
|
||||
MySleep(500);
|
||||
|
||||
sysPara->status.currReclaimOperationCnt = 0;
|
||||
sysPara->status.reclainTankReachEnd = false;
|
||||
sysPara->status.reclainOpenAppending = true;
|
||||
sysPara->status.reclainCloseAppending = false;
|
||||
sysPara->status.reclaimBlockedCnt = 0;
|
||||
sysPara->status.canRunAirPushing = false;
|
||||
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
|
||||
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
|
||||
|
||||
ui->pushButtonReclaimTanOpen->setText(
|
||||
sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
|
||||
ui->pushButtonReclaimTankClose->setText(tr("关"));
|
||||
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
|
||||
if (!sysPara->para.reclaimTankTime) {
|
||||
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::handleCode(int col, int row, int *varLastRow, int type)
|
||||
@@ -2177,18 +2139,17 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
|
||||
if(sysPara){
|
||||
if (!sysPara->status.reclaimTankBlockedAppending) {
|
||||
if (sysPara->status.canRunAirPushing && (sysPara->status.currReclaimTankPos == 0)) { // 回收槽关闭的情况下才可以执行排气;//2019/10/24 当回收槽未在顶的位置,不需要排气
|
||||
if (!sysPara->status.airPushing) { // 先执行排气后开回收槽
|
||||
sysPara->status.byHandStore = sysPara->status.isPumpValveControledByHand;
|
||||
if (!sysPara->status.airPushing) {
|
||||
// 先执行排气后开回收槽
|
||||
sysPara->status.isPumpValveControledByHand = true;
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
sysPara->devOp->controlViscosityPump(false);//关粘度泵
|
||||
sysPara->devOp->controlViscosityPump(true);//关粘度泵
|
||||
sysPara->devOp->controlMainInkPump(true);//主墨泵敞开
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
|
||||
sysPara->devOp->controlInkValve(true); //墨水阀
|
||||
sysPara->devOp->controlInkValvePWM(true); //墨水阀
|
||||
//qDebug()<< "start airpushings";
|
||||
|
||||
sysPara->status.airPushing = 1;
|
||||
sysPara->status.airPushingDone = 0;
|
||||
@@ -2252,13 +2213,16 @@ void MySleep(unsigned int msec);
|
||||
* 关机前务必保存参数
|
||||
* */
|
||||
void MainWindow::checkForPowerOff(){
|
||||
if(m_powerOffInProgress)
|
||||
return;
|
||||
|
||||
if(sysPara->status.powerOffAppending){
|
||||
m_powerOffInProgress = true;
|
||||
if(!sysPara->status.selfCheckDone)
|
||||
sysPara->status.selfCheckDone = true;
|
||||
this->setDisabled(true);
|
||||
emit setDisableAll();
|
||||
////////关机时提高转速和回收泵压力,粘度泵和循环阀/////
|
||||
quint16 gearPumpValue_backup = sysPara->para.gearPumpValue;
|
||||
////////关机时通过闭环控制维持压力,控制目标不超过650/////
|
||||
int reclaimPumpPWMWidth_backup = sysPara->para.reclaimPumpPWMWidth;;
|
||||
if(!(sysPara->status.statWarn & WARN_STATUS_INK_WARN))
|
||||
{
|
||||
@@ -2284,17 +2248,11 @@ void MainWindow::checkForPowerOff(){
|
||||
}
|
||||
}
|
||||
sysPara->devOp->controlReclaimTankOpen(true);
|
||||
sysPara->status.isPumpValveControledByHand = true; //停止自动
|
||||
sysPara->status.isPumpValveControledByHand = true; // 阀门保持手动,隔膜泵由关机闭环控制
|
||||
if(sysPara->para.gearPumpEnable ){
|
||||
if(!sysPara->para.flagOfReclaimPumEnable){
|
||||
sysPara->para.gearPumpValue = 360;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
else{
|
||||
if(sysPara->para.flagOfReclaimPumEnable)
|
||||
sysPara->devOp->controlReclaimPump(true,false);
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
// 不再固定输出360,隔膜泵由pressureAdj按关机目标压力闭环调节
|
||||
}
|
||||
else{
|
||||
sysPara->para.reclaimPumpPWMWidth = 95;
|
||||
@@ -2325,7 +2283,10 @@ void MainWindow::checkForPowerOff(){
|
||||
updateTotalCnt(0);
|
||||
sysPara->saveParaToFile(); // 关机前将相关配置保存
|
||||
}
|
||||
// 退出关机压力维持阶段,后续关闭泵阀时禁止隔膜泵再次启动
|
||||
sysPara->status.powerOffAppending = false;
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
if(!TEST_MODE){
|
||||
for(int i=7;i>0;i--)
|
||||
{
|
||||
@@ -2344,7 +2305,8 @@ void MainWindow::checkForPowerOff(){
|
||||
}
|
||||
}
|
||||
emit CloseJd();
|
||||
sysPara->para.gearPumpValue=gearPumpValue_backup;
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
sysPara->para.reclaimPumpPWMWidth = reclaimPumpPWMWidth_backup;
|
||||
sysPara->devOp->controlCompressPump(false);
|
||||
setRunStatus(tr("准备关机......"));
|
||||
@@ -4462,15 +4424,9 @@ void MainWindow::on_pushButton_Reboot_clicked()
|
||||
sysPara->devOp->controlReclaimTankOpen(true);
|
||||
sysPara->status.isPumpValveControledByHand = true; //停止自动
|
||||
if(sysPara->para.gearPumpEnable ){
|
||||
if(!sysPara->para.flagOfReclaimPumEnable){
|
||||
sysPara->para.gearPumpValue = 360;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
else{
|
||||
if(sysPara->para.flagOfReclaimPumEnable)
|
||||
sysPara->devOp->controlReclaimPump(true,false);
|
||||
sysPara->para.gearPumpValue = 0;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
}
|
||||
// 不再固定输出360,由闭环控制维持压力
|
||||
}
|
||||
else{
|
||||
sysPara->para.reclaimPumpPWMWidth = 95;
|
||||
@@ -4622,7 +4578,8 @@ void MainWindow::UpdateUIVersion(){
|
||||
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF).arg(baudRateValue);
|
||||
|
||||
QString VernonBach;
|
||||
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("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_"+SUB_VER;
|
||||
|
||||
QString Mac = QString::number(sysPara->status.machineMac);
|
||||
LogInfo::showVerionInformation(Mac,VernonBach,fpgaVersion,STM32Ver,sysPara->status.flagOfPowerOnMode);
|
||||
@@ -4642,4 +4599,4 @@ void MainWindow::checkPrintingInterval(){
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,6 +243,7 @@ private:
|
||||
bool printingFlag; //判断当前是否在打印
|
||||
bool startPrintingFlag;
|
||||
bool previewFlag;
|
||||
bool m_powerOffInProgress = false; // 防止MySleep处理事件时重复进入关机流程
|
||||
|
||||
int searchExpiryVar(QString html = "");//检索有效期变量
|
||||
void ExpiryDotUpdate(char Mode);
|
||||
|
||||
+1
-3
@@ -7,13 +7,11 @@
|
||||
#define SYS_ROOT_DIR "/home/plg/"
|
||||
#include "qnamespace.h"
|
||||
|
||||
#define SOFTWARE_VER_NUM "A3.09"
|
||||
|
||||
#define MYSAVEFILEDLG // 定义自己的保存文件对话框,解决系统对话框按键不弹起问题
|
||||
#define LANINTERFACE_NAME "eth0"
|
||||
|
||||
// #define FPGATEST // 给韦工测试时启用,发布版本需要关闭
|
||||
// #define NETWORKQRCODE //二维码允许tcp客户端修改
|
||||
#define NETWORKQRCODE //二维码允许tcp客户端修改 --荆州四机赛瓦定制功能
|
||||
// #define __RFID_OLD //旧的加密算法
|
||||
// #define __RFID_CARD //刷卡功能
|
||||
// #define __RFID_IND //允许印度进行二次加密的宏
|
||||
|
||||
+1
-1
@@ -301,7 +301,7 @@ QTabBar::tab:selected {background-color: rgb(255, 170, 127)}
|
||||
QTabBar::tab:!selected {margin-top: 5px;}</string>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
|
||||
BIN
Binary file not shown.
+631
-605
File diff suppressed because it is too large
Load Diff
+1062
-1030
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'songti'; font-size:12pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">f</p></body></html>
|
||||
@@ -1,5 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'songti'; font-size:12pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">fdafdsa</p></body></html>
|
||||
@@ -1,5 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'songti'; font-size:12pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">化公为私于机构改革讨价还价液恭恭敬敬用同方</p></body></html>
|
||||
@@ -1,5 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'songti'; font-size:12pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'helvetica'; font-size:8pt; font-weight:200;">yujhfdddeef</span><img src=":/6/image/digitalWidth2.png" width="10" height="8" /></p></body></html>
|
||||
Reference in New Issue
Block a user