#ifndef WORKING_PAGE_H
|
#define WORKING_PAGE_H
|
|
#include "Common/custom.h"
|
#include "qcustomplot.h"
|
#include "Common/work_thread.h"
|
#include "custom_lineedit.h"
|
#include "qtimer.h"
|
#include <QDebug>
|
#include <QTextCodec>
|
#include <QTableWidget>
|
#include <QTableWidgetItem>
|
#include "Common/mymessagebox.h"
|
|
namespace Ui {
|
#if PageType == IDCE48CT
|
class Working_Page;
|
#elif PageType == FBO48CT
|
class Working_Page_FBO;
|
#elif PageType == FBI48CT
|
class Working_Page_FBI;
|
#endif
|
}
|
|
class Working_Page : public customDialog
|
{
|
Q_OBJECT
|
|
public:
|
explicit Working_Page(QWidget *parent = 0,Work_Thread *thread = 0);
|
~Working_Page();
|
|
Work_Thread *work_thread;
|
QString batteryName; //电池组名
|
TEST_PARAM_XML test_param_xml;
|
|
void toHide();
|
void toShow(int type);
|
void ContinueTest(CHECK_DATA c_data, FBO_DATA f_data);
|
|
private:
|
#if PageType == IDCE48CT
|
Ui::Working_Page *ui;
|
#elif PageType == FBO48CT
|
Ui::Working_Page_FBO *ui;
|
#elif PageType == FBI48CT
|
Ui::Working_Page_FBI *ui;
|
#endif
|
|
BuzzerDrv *BD;
|
|
QTableWidgetItem* tableItem;
|
|
QCPBars* bars1; //常规单体
|
QCPBars* bars2; //最大单体
|
QCPBars* bars3; //最小单体
|
QCPBars* bars4; //电压差
|
|
QTimer *getDataTimer;
|
|
MessageBox *CurrentBox;
|
QString AlarmText;
|
|
private:
|
QVector<QString> stopType;
|
QVector<QString> chargeType;
|
QStringList testTypeList;
|
QStringList chartTypeList;
|
quint16 SingleVolBeforeTest[MONOMER_NUM_MAX];
|
qint8 ChargeDelayTime;
|
bool isCloseBeep;
|
|
int batteryId; //电池组编号
|
|
int nominalCap;
|
|
MON_TABLE mon_table; //单体界面属性
|
|
QVector<int> vector_groupvol;
|
QVector<int> vector_cur;
|
QVector<int> vector_cap;
|
QVector<int> vector_second;
|
QVector<QVector<int> > vector_mon;
|
|
int chartMonID;
|
int allMonNum;
|
int GmonNum;
|
int CBGroupIndex;
|
|
quint8 IF_READCUR;
|
|
bool if_update;
|
FBO_DATA fbodata;
|
LOCAL_DATA lcldata;
|
|
private:
|
void initPage();
|
void initParam();
|
void setTestPage();
|
void setEachGroupInfo(quint16 groupnum);
|
void setStateAlarmAndDrop(quint8 state,quint8 alarm,quint16 drop);
|
void setIconTime();
|
void cleanMonomerTable();
|
void setMonomerTable();
|
void setMonomerBtnState();
|
void initMonomerChart();
|
void setMonomerChart();
|
bool AutoStartChargeTest(void);
|
void setParamEnabled(bool enabled);
|
|
bool setEditInput(Custom_LineEdit *edit,int space,
|
float min,float max,int floatNum);
|
void setChartEditInput(Custom_LineEdit *edit,int min, int max);
|
bool setTimeInput(Custom_LineEdit *edit,int space);
|
bool checkTimeText(QString time);
|
|
void initTestChart();
|
void updateVolChart();
|
void updateCurChart();
|
void updateCapChart();
|
void updateMonChart(int index);
|
|
void initPageShow();
|
void initConnectBeep(bool);
|
void toStart(int);
|
void toStartZCH(int);
|
void toStop(int);
|
bool AppStartAlarm();
|
|
QString format_monID(int index);
|
QString format_monomer(int index,int vol);
|
double get_top_chart(QVector<double> data_v);
|
double get_top_barmon(QVector<double> data_v,QVector<double> data_vold,int state);
|
|
void popBox(QString msg);
|
void setDCdataTable();
|
|
signals:
|
void sendParam(TEST_PARAM_XML);
|
void sendStart(int,QString);
|
void senddeleteSocket();
|
|
private slots:
|
void CustomEditSlot();
|
void ChartMonEditSlot();
|
void WorkBtnSlot();
|
void GetDataSlot();
|
void ReadDataSlot();
|
void SendParamSlot();
|
|
void alarm_beep(void);
|
void DischargeWaitF1();
|
void ChargeWaitF1();
|
|
void GroupMComboBoxChangeSlot(int);
|
void TabcurrentChangeSlot(int index);
|
void TestChartComboBoxChangeSlot(int index);
|
void TypeComboBoxChangeSlot(int index);
|
void popBoxAlarm(quint8 alarm);
|
void delay_ContinueTest_Start();
|
|
public slots:
|
void operatorCMD_Work(int);
|
};
|
|
#endif // WORKING_PAGE_H
|