2025-04-12 13:02:37 +00:00
|
|
|
#ifndef __GLOBAL_H
|
|
|
|
|
#define __GLOBAL_H
|
2025-03-12 09:29:52 +00:00
|
|
|
|
|
|
|
|
#include <qobject.h>
|
2025-03-17 13:16:16 +00:00
|
|
|
#include <qfile.h>
|
2025-04-10 09:33:38 +00:00
|
|
|
#include <qcustomplot.h>
|
|
|
|
|
|
2025-04-13 10:10:29 +00:00
|
|
|
#include "protocol.h"
|
2025-03-12 09:29:52 +00:00
|
|
|
|
2025-04-14 09:11:01 +00:00
|
|
|
namespace Global {
|
2025-04-24 08:41:20 +00:00
|
|
|
const QString ConSoftVersion = "0.9.7";
|
2025-04-16 07:38:25 +00:00
|
|
|
|
2025-04-15 08:03:00 +00:00
|
|
|
const QString ExperimentDirPath = QDir::currentPath()+"/../experiment_data";
|
2025-04-24 08:41:20 +00:00
|
|
|
|
2025-04-15 08:03:00 +00:00
|
|
|
const QString SampleDataFloder = ExperimentDirPath + "/sample_data";
|
|
|
|
|
const QString BaseLineFolder = ExperimentDirPath + "/base_line";
|
|
|
|
|
const QString AnalysisStateFolder = ExperimentDirPath + "/analysis_state";
|
|
|
|
|
|
2025-04-28 09:31:29 +00:00
|
|
|
const QString CurveOfTimeTypeObjectName("curve_time");
|
|
|
|
|
|
2025-04-14 09:11:01 +00:00
|
|
|
enum Mode{
|
|
|
|
|
Analysis,
|
|
|
|
|
ConnectedToDev,
|
|
|
|
|
DeliveredData,
|
2025-04-22 08:59:26 +00:00
|
|
|
Experiment
|
2025-04-14 09:11:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum DeviceConnectionStatus{
|
|
|
|
|
Disconnected,
|
|
|
|
|
Connected
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct ExperimentData {
|
|
|
|
|
float runTime;
|
|
|
|
|
float constantTempTime;
|
|
|
|
|
float sampleTemp;
|
|
|
|
|
float dsc;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum TestType{
|
|
|
|
|
OIT,
|
|
|
|
|
NoneOIT
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct ExperimentInfo{
|
|
|
|
|
// experiment info
|
|
|
|
|
QString sampleName;
|
|
|
|
|
QString sampleWeight;
|
|
|
|
|
QString date;
|
|
|
|
|
QString experimentor;
|
|
|
|
|
// phase info
|
|
|
|
|
TestType testType;
|
|
|
|
|
GasType initialAtmosPhere;
|
|
|
|
|
int phaseSize;
|
|
|
|
|
|
|
|
|
|
QVector<Phase> phaseVtr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct PhaseTotalInfo{
|
|
|
|
|
int phaseIndex; // from 1 to 6.
|
|
|
|
|
Phase phase;
|
|
|
|
|
QVector<ExperimentData> dataVtr;
|
2025-04-15 08:03:00 +00:00
|
|
|
QCPCurve * curve;
|
2025-04-14 09:11:01 +00:00
|
|
|
};
|
|
|
|
|
|
2025-04-15 08:03:00 +00:00
|
|
|
struct CurveFileData{
|
2025-04-25 09:20:33 +00:00
|
|
|
QString fileName;
|
2025-04-15 08:03:00 +00:00
|
|
|
Global::ExperimentInfo ei;
|
|
|
|
|
QVector<Global::PhaseTotalInfo> phaseTotalVtr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CurveExperimentData{
|
|
|
|
|
QCPCurve * curve;
|
2025-04-28 09:31:29 +00:00
|
|
|
QString fileName; // discard
|
2025-04-15 08:03:00 +00:00
|
|
|
QVector<Global::ExperimentData> dataVtr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Soft mode.
|
2025-04-14 09:11:01 +00:00
|
|
|
extern Mode _mode;
|
2025-04-15 08:03:00 +00:00
|
|
|
// Xlsx file data.
|
|
|
|
|
extern QVector<CurveFileData> _curveFileDataVtr;
|
|
|
|
|
// Experiment setting data.
|
2025-04-23 07:33:39 +00:00
|
|
|
extern int _currentPhase;
|
2025-04-15 08:03:00 +00:00
|
|
|
extern ExperimentInfo _experimentInfo;
|
|
|
|
|
extern QVector<CurveExperimentData> _curveExperimentDataVtr;
|
2025-04-23 07:33:39 +00:00
|
|
|
extern CurveExperimentData* _currentCurveExperimentDataPtr;
|
2025-04-18 09:30:35 +00:00
|
|
|
|
2025-04-22 08:59:26 +00:00
|
|
|
// Instrument coefficient.
|
2025-04-18 09:30:35 +00:00
|
|
|
extern bool _enthalpyCoefficientEnableFlag;
|
2025-04-22 08:59:26 +00:00
|
|
|
///abc
|
2025-04-18 09:30:35 +00:00
|
|
|
extern QVector<double> _enthalpyCoefficientVtr;
|
|
|
|
|
|
2025-04-14 09:11:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if 0
|
2025-03-12 09:29:52 +00:00
|
|
|
class Global:public QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
Global();
|
|
|
|
|
static Global* instance();
|
|
|
|
|
|
|
|
|
|
enum Mode{
|
2025-03-13 09:27:31 +00:00
|
|
|
Analysis,
|
|
|
|
|
ConnectedToDev,
|
2025-03-17 09:30:54 +00:00
|
|
|
DeliveredData,
|
2025-03-17 13:16:16 +00:00
|
|
|
ExperimentStart
|
2025-03-12 09:29:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void setMode(const Mode);
|
2025-03-13 09:27:31 +00:00
|
|
|
Mode getMode(){return _mode;}
|
|
|
|
|
|
|
|
|
|
enum DeviceConnectionStatus{
|
|
|
|
|
Disconnected,
|
|
|
|
|
Connected
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
void setDeviceConnectionStatus(const DeviceConnectionStatus);
|
|
|
|
|
DeviceConnectionStatus getDeviceConnectionStatus(){return _deviceConnectStatus;}
|
|
|
|
|
#endif
|
2025-03-17 09:30:54 +00:00
|
|
|
|
2025-04-12 13:02:37 +00:00
|
|
|
struct ExperimentData {
|
2025-04-13 10:10:29 +00:00
|
|
|
float runTime;
|
2025-04-12 13:02:37 +00:00
|
|
|
float sampleTemp;
|
|
|
|
|
float dsc;
|
|
|
|
|
};
|
|
|
|
|
|
2025-04-15 08:03:00 +00:00
|
|
|
// struct ExpeInfo
|
|
|
|
|
// {
|
|
|
|
|
// QString sampleName;
|
|
|
|
|
// float sampleWeight;
|
|
|
|
|
// QString date;
|
|
|
|
|
// QString userName;
|
|
|
|
|
// };
|
2025-04-14 09:11:01 +00:00
|
|
|
|
|
|
|
|
enum TestType{
|
|
|
|
|
OIT,
|
|
|
|
|
NoneOIT
|
2025-04-12 13:02:37 +00:00
|
|
|
};
|
2025-04-14 09:11:01 +00:00
|
|
|
|
2025-04-12 13:02:37 +00:00
|
|
|
struct ExperimentInfo{
|
2025-04-14 09:11:01 +00:00
|
|
|
// experiment info
|
2025-04-12 13:02:37 +00:00
|
|
|
QString sampleName;
|
|
|
|
|
QString sampleWeight;
|
|
|
|
|
QString date;
|
2025-04-14 09:11:01 +00:00
|
|
|
QString experimentor;
|
|
|
|
|
// phase info
|
|
|
|
|
TestType testType;
|
|
|
|
|
GasType initialAtmosPhere;
|
2025-04-12 13:02:37 +00:00
|
|
|
int phaseSize;
|
2025-04-14 09:11:01 +00:00
|
|
|
|
|
|
|
|
QVector<Phase> phaseVtr;
|
2025-04-12 13:02:37 +00:00
|
|
|
};
|
2025-04-14 09:11:01 +00:00
|
|
|
|
|
|
|
|
ExperimentInfo _experimentInfo;
|
|
|
|
|
|
2025-04-13 08:15:54 +00:00
|
|
|
struct PhaseTotalInfo{
|
2025-04-14 09:11:01 +00:00
|
|
|
int phaseIndex; // from 1 to 6.
|
2025-04-13 08:15:54 +00:00
|
|
|
Phase phase;
|
|
|
|
|
QVector<ExperimentData> dataVtr;
|
|
|
|
|
};
|
2025-04-12 13:02:37 +00:00
|
|
|
|
|
|
|
|
QVector<QPair<QCPCurve*,QVector<Global::ExperimentData>>> _curveDataVtr;
|
2025-03-17 13:16:16 +00:00
|
|
|
|
2025-03-12 09:29:52 +00:00
|
|
|
signals:
|
|
|
|
|
void sigModeModify(const Mode);
|
2025-03-13 09:27:31 +00:00
|
|
|
void sigDeviceConnnectionStatusModify(const DeviceConnectionStatus);
|
2025-03-12 09:29:52 +00:00
|
|
|
public slots:
|
|
|
|
|
private:
|
|
|
|
|
Mode _mode;
|
2025-03-13 09:27:31 +00:00
|
|
|
DeviceConnectionStatus _deviceConnectStatus;
|
2025-03-12 09:29:52 +00:00
|
|
|
};
|
2025-04-14 09:11:01 +00:00
|
|
|
#endif
|
2025-03-12 09:29:52 +00:00
|
|
|
|
|
|
|
|
#endif // GLOBAL_H
|