2025-06-18T11:14:54
This commit is contained in:
parent
08c7f5147b
commit
4c578b169b
BIN
AnalysisTool-release/bin/DSCAnalysisTool_1.0.4.exe
Normal file
BIN
AnalysisTool-release/bin/DSCAnalysisTool_1.0.4.exe
Normal file
Binary file not shown.
38
AnalysisTool-release/bin/log/20250618.log
Normal file
38
AnalysisTool-release/bin/log/20250618.log
Normal file
@ -0,0 +1,38 @@
|
||||
[2025-06-18 10:02:31,941] main...
|
||||
[2025-06-18 10:02:31,942] config file existed.
|
||||
[2025-06-18 10:02:31,980] version:1.0.4.0
|
||||
[2025-06-18 10:02:32,018] setEventHandlerEnable...0
|
||||
[2025-06-18 10:02:34,587] xlsx sample weight:
|
||||
[2025-06-18 10:02:34,587] Cell does not exist.
|
||||
[2025-06-18 10:02:35,513] xlsx sample weight:1
|
||||
[2025-06-18 10:02:35,513] startLineIndex:11
|
||||
[2025-06-18 10:02:35,513] data size:298
|
||||
[2025-06-18 10:02:35,513] Cell does not exist.
|
||||
[2025-06-18 10:02:36,662] xlsx sample weight:8.31
|
||||
[2025-06-18 10:02:36,662] startLineIndex:11
|
||||
[2025-06-18 10:02:36,662] data size:7279
|
||||
[2025-06-18 10:02:36,666] Cell does not exist.
|
||||
[2025-06-18 10:02:51,837] Selected Curve:new.xlsx
|
||||
[2025-06-18 10:02:55,134] setEventHandlerEnable...1
|
||||
[2025-06-18 10:02:58,318] xMax:92.6223
|
||||
[2025-06-18 10:03:00,251] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:03:05,007] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:03:06,467] setEventHandlerEnable...1
|
||||
[2025-06-18 10:03:07,676] xMax:92.7333
|
||||
[2025-06-18 10:03:13,530] Selected Curve:new.xlsx
|
||||
[2025-06-18 10:03:16,439] setEventHandlerEnable...1
|
||||
[2025-06-18 10:03:20,434] xMax:94.441
|
||||
[2025-06-18 10:03:22,868] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:03:28,310] setEventHandlerEnable...1
|
||||
[2025-06-18 10:03:32,187] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:03:34,330] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:03:35,987] xMax:94.2968
|
||||
[2025-06-18 10:03:38,728] Selected Curve:new.xlsx
|
||||
[2025-06-18 10:03:51,207] setEventHandlerEnable...1
|
||||
[2025-06-18 10:03:56,637] xMax:94.8474
|
||||
[2025-06-18 10:04:00,625] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:04:02,109] xMax:94.8474
|
||||
[2025-06-18 10:04:06,640] Selected Curve:锡.xlsx
|
||||
[2025-06-18 10:04:14,239] Selected Curve:new.xlsx
|
||||
[2025-06-18 10:04:17,332] xMax:94.8474
|
||||
[2025-06-18 10:04:25,159] Selected Curve:new.xlsx
|
Binary file not shown.
@ -925,3 +925,21 @@ Global::ExperimentData PointCalculate::findOnSetDataByTime(const double x1, cons
|
||||
|
||||
return resultEd;
|
||||
}
|
||||
|
||||
Global::ExperimentData PointCalculate::getOITStartData(const double x1,const double x2)
|
||||
{
|
||||
Global::ExperimentData startEd;
|
||||
|
||||
for(const Global::ExperimentData &ed : _dataVtr) {
|
||||
if(ed.runTime < x2){
|
||||
if(ed.phaseIndex != Global::PhaseIndexDefault){
|
||||
logde<<"find not equal phase default."<<ed.phaseIndex;
|
||||
startEd = ed;
|
||||
}
|
||||
}else if (ed.runTime > x2){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return startEd;
|
||||
}
|
||||
|
@ -46,6 +46,7 @@ ExperimentData findEndSetDataByTemperature(const double x1,const double x2);
|
||||
|
||||
ExperimentData findOnSetDataByTime(const double x1,const double x2);
|
||||
|
||||
ExperimentData getOITStartData(const double x1,const double x2);
|
||||
|
||||
// text format
|
||||
QString textFormatPeakPoint(const float enthalpyValue,
|
||||
|
@ -79,13 +79,8 @@ int XlsxHandler::readFile(const QString filePath, Global::CurveFileData &cfd)
|
||||
readPhaseData(workSheet, dataIndex, phaseTotal);
|
||||
phaseTotalVtr.push_back(phaseTotal);
|
||||
|
||||
// print
|
||||
// logde<<"index:"<<i<<",phase cut off temp:"<<phaseTotal.phase.cutoff_temp;
|
||||
}
|
||||
|
||||
// logde<<"index:"<<cfd.phaseTotalVtr.first().phaseIndex
|
||||
// <<",phase cut off temp:"<<cfd.phaseTotalVtr.first().phase.cutoff_temp;
|
||||
|
||||
readAnalysisOperation(workSheet,dataIndex,cfd);
|
||||
|
||||
return 0;
|
||||
@ -99,7 +94,7 @@ void XlsxHandler::readPhaseData(QXlsx::Worksheet *workSheet, int &startLineIndex
|
||||
// skip.第一段
|
||||
startLineIndex++;
|
||||
|
||||
logde<<"startLineIndex:"<<startLineIndex;
|
||||
// logde<<"startLineIndex:"<<startLineIndex;
|
||||
|
||||
phaseTotal.phase.onoff = 1;
|
||||
phaseTotal.phase.cutoff_temp = workSheet->cellAt(startLineIndex++, 2)->value().toDouble();
|
||||
@ -108,11 +103,15 @@ void XlsxHandler::readPhaseData(QXlsx::Worksheet *workSheet, int &startLineIndex
|
||||
phaseTotal.phase.gas = static_cast<GasType>(workSheet->cellAt(startLineIndex++, 2)->value().toInt());
|
||||
|
||||
int dataSize = workSheet->cellAt(startLineIndex++, 2)->value().toInt();
|
||||
logde<<"data size:"<<dataSize;
|
||||
// logde<<"data size:"<<dataSize;
|
||||
|
||||
for(int i = 0; i < dataSize; i++)
|
||||
{
|
||||
Global::ExperimentData data;
|
||||
if(i == 0){
|
||||
data.phaseIndex = phaseTotal.phaseIndex;
|
||||
logde<<"read file,set phaseIndex:"<<data.phaseIndex;
|
||||
}
|
||||
data.runTime = workSheet->cellAt(startLineIndex, 2)->value().toDouble();
|
||||
data.sampleTemp = workSheet->cellAt(startLineIndex, 3)->value().toDouble();
|
||||
data.dsc = workSheet->cellAt(startLineIndex, 4)->value().toDouble();
|
||||
|
17
src/global.h
17
src/global.h
@ -17,6 +17,8 @@ const QString AnalysisStateFolder = ExperimentDirPath + "/analysis_state";
|
||||
|
||||
const QString CurveOfTimeTypeObjectName("curve_time");
|
||||
|
||||
const int PhaseIndexDefault = -1;
|
||||
|
||||
// json string.
|
||||
const QString AtomsphereData("atomsphereData");
|
||||
const QString SampleData("sampleData");
|
||||
@ -68,6 +70,15 @@ struct ExperimentData {
|
||||
float constantTempTime;
|
||||
float sampleTemp;
|
||||
float dsc;
|
||||
int phaseIndex;
|
||||
|
||||
ExperimentData()
|
||||
:runTime(0.0)
|
||||
,constantTempTime(0.0)
|
||||
,sampleTemp(0.0)
|
||||
,dsc(0.0)
|
||||
,phaseIndex(PhaseIndexDefault)
|
||||
{}
|
||||
};
|
||||
|
||||
enum TestType{
|
||||
@ -98,7 +109,6 @@ struct PhaseTotalInfo{
|
||||
};
|
||||
|
||||
struct CurveFileData{
|
||||
// QString fileName;
|
||||
QString filePath;
|
||||
Global::ExperimentInfo ei;
|
||||
QVector<Global::PhaseTotalInfo> phaseTotalVtr;
|
||||
@ -106,10 +116,15 @@ struct CurveFileData{
|
||||
};
|
||||
|
||||
struct CurveExperimentData{
|
||||
int phaseIndex; // from 1 to 6.
|
||||
QCPCurve * curve;
|
||||
QString fileName; // discard
|
||||
QVector<Global::ExperimentData> dataVtr;
|
||||
QVector<ExperimentData> smoothDataVtr;
|
||||
|
||||
CurveExperimentData()
|
||||
:phaseIndex(PhaseIndexDefault)
|
||||
,curve(nullptr){}
|
||||
};
|
||||
|
||||
// Soft mode.
|
||||
|
@ -162,9 +162,11 @@ void SerialPort::updateStatus(const CommonData &cd)
|
||||
Global::_currentPhase = (int)cd.current_phase;
|
||||
|
||||
Global::CurveExperimentData ced;
|
||||
ced.phaseIndex = cd.current_phase;
|
||||
|
||||
Global::_curveExperimentDataVtr.push_back(ced);
|
||||
Global::_currentCurveExperimentDataPtr = &Global::_curveExperimentDataVtr.last();
|
||||
Global::_currentCurveExperimentDataPtr =
|
||||
&Global::_curveExperimentDataVtr.last();
|
||||
|
||||
Global::_currentCurveExperimentDataPtr->fileName =
|
||||
Global::_experimentInfo.sampleName;
|
||||
|
@ -285,6 +285,10 @@ void CentralWidget::slotRecvCommonData(const CommonData &cd)
|
||||
ed.runTime = cd.add_run_time;
|
||||
ed.constantTempTime = cd.add_constan_temp_time;
|
||||
|
||||
if(Global::_currentCurveExperimentDataPtr->dataVtr.empty()){
|
||||
ed.phaseIndex = Global::_currentCurveExperimentDataPtr->phaseIndex;
|
||||
}
|
||||
|
||||
Global::_currentCurveExperimentDataPtr->dataVtr.push_back(ed);
|
||||
Global::_currentCurveExperimentDataPtr->curve = _currentCurve;
|
||||
}
|
||||
@ -387,16 +391,13 @@ void CentralWidget::slotAnalysisSettingApply()
|
||||
PointCalculate::setAnalysisData(totalDataVtr);
|
||||
|
||||
|
||||
#if 0
|
||||
// Load smoothness data.
|
||||
for(Global::CurveExperimentData& ced:Global::_curveSmoothnessDataVtr){
|
||||
if(ced.curve == _currentCurve){
|
||||
logde<<"load smoothness data.";
|
||||
PointCalculate::setAnalysisData(ced.dataVtr);
|
||||
break;
|
||||
// display data
|
||||
for(Global::ExperimentData ed:totalDataVtr){
|
||||
if(ed.phaseIndex != Global::PhaseIndexDefault){
|
||||
logde<<"find not equal phase index:"
|
||||
<<ed.phaseIndex;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//
|
||||
double x1 = _line1->point1->coords().x();
|
||||
@ -1460,20 +1461,15 @@ void CentralWidget::loadAnalysisData(
|
||||
|
||||
//
|
||||
QVector<double> tickPositions = _customPlot->yAxis->tickVector();
|
||||
// qDebug() << "Y-axis tick positions:";
|
||||
// for (double pos : tickPositions) {
|
||||
// qDebug() << pos;
|
||||
// }
|
||||
double step = tickPositions.at(1) - tickPositions.at(0);
|
||||
|
||||
//
|
||||
Global::ExperimentData ed = PointCalculate::findOnSetDataByTime(x1,x2);
|
||||
|
||||
// Global::ExperimentData ed = PointCalculate::findOnSetDataByTemperature(x1,x2);
|
||||
|
||||
// PointCalculate::setRegionPointX(x1,x2);
|
||||
|
||||
Global::ExperimentData startData = PointCalculate::_dataVtr.first();
|
||||
Global::ExperimentData startData = PointCalculate::getOITStartData(x1,x2);
|
||||
|
||||
// QPair<Global::ExperimentData,Global::ExperimentData>
|
||||
// startEndDataPair = PointCalculate::calculateStartAndEndData();
|
||||
|
Loading…
Reference in New Issue
Block a user