文件存储完成

This commit is contained in:
2021-12-08 17:43:27 +08:00
parent 3de7eb3da7
commit ec8bb49b8f
26 changed files with 373 additions and 75 deletions

View File

@ -42,6 +42,7 @@ int CAbstractFSController::InitializeFSControl()
qDebug() << "OSIFAlpha Not Opened";
return 2;
}
break;
case DeviceModel::OSIFBeta:
m_pFSCtrl = new OceanOptics_lib;
@ -83,9 +84,9 @@ int CAbstractFSController::InitializeFSControl()
}
int iRes = m_pFSCtrl->GetDeviceAttribute(m_daDeviceAttr);
if (iRes !=0 )
if (iRes != 0)
{
qDebug() << "GetDeviceAttribute Failed"<< iRes;
qDebug() << "GetDeviceAttribute Failed" << iRes;
return 4;
}
@ -93,6 +94,12 @@ int CAbstractFSController::InitializeFSControl()
return 0;
}
int CAbstractFSController::GetDeviceAttr(DeviceAttribute &daAttr)
{
daAttr = m_daDeviceAttr;
return 0;
}
int CAbstractFSController::PerformAutoExposure()
{
qDebug() << "--------------------------Starting PerformAutoExposure" << " Thread ID:" << m_iThreadID;
@ -146,13 +153,13 @@ int CAbstractFSController::PerformAutoExposure()
return 2;
}
HeapSort(dfTemp.usData, m_daDeviceAttr.iPixels);
HeapSort(dfTemp.lData, m_daDeviceAttr.iPixels);
double dSum = 0;
int iCount = m_daDeviceAttr.iPixels / 100;
for (int i = 0; i < iCount; i++)
{
dSum += dfTemp.usData[i];
dSum += dfTemp.lData[i];
}
double dTemp = dSum / iCount;
@ -219,6 +226,10 @@ int CAbstractFSController::PerformAutoExposure()
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3";
return 3;
}
else
{
qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to 30sec";
}
bFlagIsOverMaxExposureTime = true;
break;
}
@ -291,7 +302,10 @@ int CAbstractFSController::StartAcquisitionSignal()
// m_pFSCtrl->SetExposureTime(10000000);
// m_pFSCtrl->GetExposureTime(iii);
// m_pFSCtrl->SingleShot(struDF);
PerformAutoExposure();
//PerformAutoExposure();
TakeSignalFrame();
qDebug() << "Stop acq Signal" << " Thread ID:" << m_iThreadID;
@ -321,10 +335,13 @@ int CAbstractFSController::ClearBuffer()
return 0;
}
int CAbstractFSController::GetBuffer(std::vector<DataFrame> *pvecDataFrameDark, std::vector<DataFrame> *pvecDataFrameSignal)
int CAbstractFSController::GetBuffer(std::vector<DataFrame> &pvecDataFrameDark, std::vector<DataFrame> &pvecDataFrameSignal)
{
pvecDataFrameDark = &m_vecDataFrameDark;
pvecDataFrameSignal = &m_vecDataFrameSignal;
for (size_t i=0; i < m_vecDataFrameSignal.size(); i++)
{
pvecDataFrameSignal.push_back(m_vecDataFrameSignal[i]);
pvecDataFrameDark.push_back(m_vecDataFrameDark[i]);
}
return 0;
}