feat:Add CEMeasuredDacDelay in MetaData.

This commit is contained in:
sunwen
2025-03-14 16:46:48 +08:00
parent 7429a186d4
commit c61ab71d36
7 changed files with 42 additions and 3 deletions

View File

@@ -95,6 +95,16 @@ void MetaData::setDacDelay(double aDacDelay)
mDacDelay = aDacDelay; mDacDelay = aDacDelay;
} }
double MetaData::getCEMeasuredDacDelay() const
{
return mCEMeasuredDacDelay;
}
void MetaData::setCEMeasuredDacDelay(double aCEMeasuredDacDelay)
{
mCEMeasuredDacDelay = aCEMeasuredDacDelay;
}
double MetaData::getFilterByPass() const double MetaData::getFilterByPass() const
{ {
return mFilterByPass; return mFilterByPass;

View File

@@ -29,6 +29,7 @@ public:
unsigned short getAperturePositionNumber() const; unsigned short getAperturePositionNumber() const;
TimeStampsPointer getTimeStamps() const; TimeStampsPointer getTimeStamps() const;
double getDacDelay() const; double getDacDelay() const;
double getCEMeasuredDacDelay() const;
double getFilterByPass() const; double getFilterByPass() const;
private: private:
@@ -41,6 +42,7 @@ private:
void setAperturePositionNumber(unsigned short aAperturePositionNumber); void setAperturePositionNumber(unsigned short aAperturePositionNumber);
void setTimeStamps(TimeStampsPointer aTimeStamps); void setTimeStamps(TimeStampsPointer aTimeStamps);
void setDacDelay(double aDacDelay); void setDacDelay(double aDacDelay);
void setCEMeasuredDacDelay(double aCEMeasuredDacDelay);
void setFilterByPass(double aFilterByPass); void setFilterByPass(double aFilterByPass);
private: private:
@@ -53,6 +55,7 @@ private:
unsigned short mAperturePositionNumber; unsigned short mAperturePositionNumber;
TimeStampsPointer mTimeStamps; TimeStampsPointer mTimeStamps;
double mDacDelay; double mDacDelay;
double mCEMeasuredDacDelay;
double mFilterByPass; double mFilterByPass;
friend class MetaDataReader; friend class MetaDataReader;

View File

@@ -162,6 +162,15 @@ MetaData MetaDataReader::getMetaDataFromHJ(const std::string& aConfigBinPath, co
} }
} }
if(jsonObj.contains("CEM AMC Board Config"))
{
nlohmann::json ceMeasuredInfo = jsonObj.at("CEM AMC Board Config");
if(ceMeasuredInfo.contains("DAC Delay"))
{
result.setCEMeasuredDacDelay(ceMeasuredInfo.at("DAC Delay").get<double>());
}
}
std::ifstream stream; std::ifstream stream;
stream.open(aConfigBinPath, std::ios_base::binary | std::ios::in); stream.open(aConfigBinPath, std::ios_base::binary | std::ios::in);
stream.seekg(aConfigHeader->getTasIndicesPosition(),std::ios::beg); stream.seekg(aConfigHeader->getTasIndicesPosition(),std::ios::beg);

View File

@@ -419,7 +419,7 @@ void MatlabCreatorConvertFp16Private::createInfoMat(std::shared_ptr<Parser> aPar
return; return;
} }
size_t structDims[1] ={1}; size_t structDims[1] ={1};
const char* field[7] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","FilterBypass"}; const char* field[8] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","CEMeasuredDACDelay","FilterBypass"};
matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7); matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7);
//shotList //shotList
std::shared_ptr<ShotList> shotList = aParser->getShotList(); std::shared_ptr<ShotList> shotList = aParser->getShotList();
@@ -453,6 +453,11 @@ void MatlabCreatorConvertFp16Private::createInfoMat(std::shared_ptr<Parser> aPar
size_t dacDelayDims[2] ={1,1}; size_t dacDelayDims[2] ={1,1};
matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0); matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0);
Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar); Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar);
//CEMeasured DACDelay
double ceMeasuredDacDelay = metaData.getCEMeasuredDacDelay();
size_t ceMeasuredDacDelayDims[2] ={1,1};
matvar_t* ceMeasuredDacDelayVar = Mat_VarCreate("CEMeasuredDACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,ceMeasuredDacDelayDims,&ceMeasuredDacDelay,0);
Mat_VarSetStructFieldByName(structVar, "CEMeasuredDACDelay", 0, ceMeasuredDacDelayVar);
//FilterBypass //FilterBypass
double filterByPass = metaData.getFilterByPass(); double filterByPass = metaData.getFilterByPass();
size_t filterByPassDims[2] ={1,1}; size_t filterByPassDims[2] ={1,1};

View File

@@ -383,7 +383,7 @@ void MatlabCreatorPrivate::createInfoMat(std::shared_ptr<Parser> aParser, const
return; return;
} }
size_t structDims[1] ={1}; size_t structDims[1] ={1};
const char* field[7] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","FilterBypass"}; const char* field[8] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","CEMeasuredDACDelay","FilterBypass"};
matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7); matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7);
//shotList //shotList
std::shared_ptr<ShotList> shotList = aParser->getShotList(); std::shared_ptr<ShotList> shotList = aParser->getShotList();
@@ -417,6 +417,11 @@ void MatlabCreatorPrivate::createInfoMat(std::shared_ptr<Parser> aParser, const
size_t dacDelayDims[2] ={1,1}; size_t dacDelayDims[2] ={1,1};
matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0); matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0);
Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar); Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar);
//CEMeasured DACDelay
double ceMeasuredDacDelay = metaData.getCEMeasuredDacDelay();
size_t ceMeasuredDacDelayDims[2] ={1,1};
matvar_t* ceMeasuredDacDelayVar = Mat_VarCreate("CEMeasuredDACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,ceMeasuredDacDelayDims,&ceMeasuredDacDelay,0);
Mat_VarSetStructFieldByName(structVar, "CEMeasuredDACDelay", 0, ceMeasuredDacDelayVar);
//FilterBypass //FilterBypass
double filterByPass = metaData.getFilterByPass(); double filterByPass = metaData.getFilterByPass();
size_t filterByPassDims[2] ={1,1}; size_t filterByPassDims[2] ={1,1};

View File

@@ -459,7 +459,7 @@ void MatlabCreatorVariableWindowPrivate::createInfoMat(std::shared_ptr<Parser> a
return; return;
} }
size_t structDims[1] ={1}; size_t structDims[1] ={1};
const char* field[7] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","FilterBypass"}; const char* field[8] = {"shotlist","samplenumber","SampleRate","Datatype","MeasurementID","DACDelay","CEMeasuredDACDelay","FilterBypass"};
matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7); matvar_t* structVar = Mat_VarCreateStruct("MetaData",1,structDims,field,7);
//shotList //shotList
std::shared_ptr<ShotList> shotList = aParser->getShotList(); std::shared_ptr<ShotList> shotList = aParser->getShotList();
@@ -493,6 +493,11 @@ void MatlabCreatorVariableWindowPrivate::createInfoMat(std::shared_ptr<Parser> a
size_t dacDelayDims[2] ={1,1}; size_t dacDelayDims[2] ={1,1};
matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0); matvar_t* dacDelayVar = Mat_VarCreate("DACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,dacDelayDims,&dacDelay,0);
Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar); Mat_VarSetStructFieldByName(structVar, "DACDelay", 0, dacDelayVar);
//CEMeasured DACDelay
double ceMeasuredDacDelay = metaData.getCEMeasuredDacDelay();
size_t ceMeasuredDacDelayDims[2] ={1,1};
matvar_t* ceMeasuredDacDelayVar = Mat_VarCreate("CEMeasuredDACDelay",MAT_C_DOUBLE,MAT_T_DOUBLE,2,ceMeasuredDacDelayDims,&ceMeasuredDacDelay,0);
Mat_VarSetStructFieldByName(structVar, "CEMeasuredDACDelay", 0, ceMeasuredDacDelayVar);
//FilterBypass //FilterBypass
double filterByPass = metaData.getFilterByPass(); double filterByPass = metaData.getFilterByPass();
size_t filterByPassDims[2] ={1,1}; size_t filterByPassDims[2] ={1,1};

View File

@@ -44,6 +44,7 @@ SOURCES += \
ShotList/ShotListPrivate.cpp \ ShotList/ShotListPrivate.cpp \
MatLab/MatlabCreatorPrivate.cpp \ MatLab/MatlabCreatorPrivate.cpp \
MatLab/MatlabCreatorVariableWindowPrivate.cpp \ MatLab/MatlabCreatorVariableWindowPrivate.cpp \
MatLab/MatlabCreatorConvertFp16Private.cpp \
Data/CEMeasuredData.cpp \ Data/CEMeasuredData.cpp \
Data/CEData.cpp \ Data/CEData.cpp \
Data/MetaData.cpp \ Data/MetaData.cpp \
@@ -86,6 +87,7 @@ HEADERS += \
ShotList/ShotListPrivate.h \ ShotList/ShotListPrivate.h \
MatLab/MatlabCreatorPrivate.h \ MatLab/MatlabCreatorPrivate.h \
MatLab/MatlabCreatorVariableWindowPrivate.h \ MatLab/MatlabCreatorVariableWindowPrivate.h \
MatLab/MatlabCreatorConvertFp16Private.h \
Data/CEMeasuredData.h \ Data/CEMeasuredData.h \
Data/CEData.h \ Data/CEData.h \
Data/MetaData.h \ Data/MetaData.h \