mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-19 19:49:42 +08:00
1.修改了自动曝光
2.加成了Recv时间
This commit is contained in:
@ -181,7 +181,7 @@ int CAbstractFSController::PerformAutoExposure()
|
|||||||
}
|
}
|
||||||
double dTemp = dSum / iCount;
|
double dTemp = dSum / iCount;
|
||||||
|
|
||||||
qDebug() << "Avg " << dTemp;
|
qDebug() << "Avg " << dTemp << " Thread ID:" << m_iThreadID;
|
||||||
|
|
||||||
if (dTemp >= iDeviceDepth * 0.99)
|
if (dTemp >= iDeviceDepth * 0.99)
|
||||||
{
|
{
|
||||||
@ -226,33 +226,38 @@ int CAbstractFSController::PerformAutoExposure()
|
|||||||
dFactor = dTemp / (iDeviceDepth * m_fsInfo.fMaxFactor);
|
dFactor = dTemp / (iDeviceDepth * m_fsInfo.fMaxFactor);
|
||||||
iExposureTime = (float)(iExposureTime / dFactor);
|
iExposureTime = (float)(iExposureTime / dFactor);
|
||||||
}
|
}
|
||||||
if (/*fExposureTime > 100 || */iExposureTime < m_daDeviceAttr.iMinIntegrationTimeInMS)
|
|
||||||
|
}
|
||||||
|
bIsLastValueOverflow = bIsValueOverflow;
|
||||||
|
fLastExposureTime = fTempExposureTime;
|
||||||
|
|
||||||
|
if (/*fExposureTime > 100 || */iExposureTime <= m_daDeviceAttr.iMinIntegrationTimeInMS)
|
||||||
{
|
{
|
||||||
bFlagIsAutoExposureOK = false;
|
bFlagIsAutoExposureOK = false;
|
||||||
bFlagIsAutoExposureFailed = true;
|
bFlagIsAutoExposureFailed = true;
|
||||||
bFlagIsLowerMinExposureTime = true;
|
bFlagIsLowerMinExposureTime = true;
|
||||||
|
|
||||||
|
qDebug() << "Warning:PerformAutoExposure lower than min integration time.Will be limited to " << m_daDeviceAttr.iMaxIntegrationTimeInMS - 1 << "MS" << " Thread ID:" << m_iThreadID;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
bIsLastValueOverflow = bIsValueOverflow;
|
|
||||||
fLastExposureTime = fTempExposureTime;
|
|
||||||
|
|
||||||
if (iExposureTime > m_daDeviceAttr.iMaxIntegrationTimeInMS-1)
|
if (iExposureTime > m_daDeviceAttr.iMaxIntegrationTimeInMS-1)
|
||||||
{
|
{
|
||||||
bFlagIsAutoExposureOK = false;
|
bFlagIsAutoExposureOK = false;
|
||||||
bFlagIsAutoExposureFailed = true;
|
bFlagIsAutoExposureFailed = true;
|
||||||
float fPredictedExposureTime = m_daDeviceAttr.iMaxIntegrationTimeInMS-1;
|
bFlagIsOverMaxExposureTime = true;
|
||||||
iRes = m_pFSCtrl->SetExposureTime(m_daDeviceAttr.iMaxIntegrationTimeInMS-1);
|
//float fPredictedExposureTime = m_daDeviceAttr.iMaxIntegrationTimeInMS-1;
|
||||||
if (iRes != 0)
|
//iRes = m_pFSCtrl->SetExposureTime(m_daDeviceAttr.iMaxIntegrationTimeInMS-1);
|
||||||
{
|
//if (iRes != 0)
|
||||||
qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3" << " Thread ID:" << m_iThreadID;
|
//{
|
||||||
return 3;
|
//qDebug() << "Err:PerformAutoExposure Failed.Exit Code:3" << " Thread ID:" << m_iThreadID;
|
||||||
}
|
//return 3;
|
||||||
else
|
//}
|
||||||
{
|
//else
|
||||||
|
//{
|
||||||
//qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to 30sec";
|
//qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to 30sec";
|
||||||
qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to " << m_daDeviceAttr.iMaxIntegrationTimeInMS-1 << "MS" << " Thread ID:" << m_iThreadID;
|
qDebug() << "Warning:PerformAutoExposure exceed max integration time.Will be limited to " << m_daDeviceAttr.iMaxIntegrationTimeInMS-1 << "MS" << " Thread ID:" << m_iThreadID;
|
||||||
}
|
//}
|
||||||
bFlagIsOverMaxExposureTime = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,7 +324,7 @@ int ZZ_ATPControl_Serial_Qt::RecvData(QByteArray &qbData)
|
|||||||
int iCounter = 0;
|
int iCounter = 0;
|
||||||
while (qbData.size() < 4)
|
while (qbData.size() < 4)
|
||||||
{
|
{
|
||||||
m_pSerialPort->waitForReadyRead(1000);
|
m_pSerialPort->waitForReadyRead(5000);
|
||||||
QByteArray qbTemp = m_pSerialPort->readAll();
|
QByteArray qbTemp = m_pSerialPort->readAll();
|
||||||
qbData.append(qbTemp);
|
qbData.append(qbTemp);
|
||||||
|
|
||||||
@ -394,7 +394,7 @@ int ZZ_ATPControl_Serial_Qt::RecvData_ShortLag(QByteArray &qbData)
|
|||||||
|
|
||||||
if (iCounter > 6)
|
if (iCounter > 6)
|
||||||
{
|
{
|
||||||
qDebug() << "Err:RecvData Failed,Not Enough Data.Exit Code:1" << qbData.size();
|
qDebug() << "Err:RecvData_ShortLag Failed,Not Enough Data.Exit Code:1" << qbData.size();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
iCounter++;
|
iCounter++;
|
||||||
@ -402,7 +402,7 @@ int ZZ_ATPControl_Serial_Qt::RecvData_ShortLag(QByteArray &qbData)
|
|||||||
|
|
||||||
if ((ZZ_U8)qbData[0] != (ZZ_U8)0xaa || (ZZ_U8)qbData[1] != (ZZ_U8)0x55)
|
if ((ZZ_U8)qbData[0] != (ZZ_U8)0xaa || (ZZ_U8)qbData[1] != (ZZ_U8)0x55)
|
||||||
{
|
{
|
||||||
qDebug() << "Err:RecvData Failed,Wrong Header.Exit Code:2" << qbData.size();
|
qDebug() << "Err:RecvData_ShortLag Failed,Wrong Header.Exit Code:2" << qbData.size();
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -415,7 +415,7 @@ int ZZ_ATPControl_Serial_Qt::RecvData_ShortLag(QByteArray &qbData)
|
|||||||
|
|
||||||
if (iCounter > 6)
|
if (iCounter > 6)
|
||||||
{
|
{
|
||||||
qDebug() << "Err:RecvData Failed,Incomplete Data.Exit Code:3" << qbData.size();
|
qDebug() << "Err:RecvData_ShortLag Failed,Incomplete Data.Exit Code:3" << qbData.size();
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
iCounter++;
|
iCounter++;
|
||||||
@ -435,7 +435,7 @@ int ZZ_ATPControl_Serial_Qt::RecvData_ShortLag(QByteArray &qbData)
|
|||||||
ZZ_U8 ucTemp = qbData[qbData.size() - 1];
|
ZZ_U8 ucTemp = qbData[qbData.size() - 1];
|
||||||
if ((ZZ_U8)usCheckSum != ucTemp)
|
if ((ZZ_U8)usCheckSum != ucTemp)
|
||||||
{
|
{
|
||||||
qDebug() << "Err:RecvData Failed,Incorrect Check Sum.Exit Code:4" << "Total Recv:" << qbData.size() << "Check Sum:" << usCheckSum << "Not Equal To" << ucTemp;
|
qDebug() << "Err:RecvData_ShortLag Failed,Incorrect Check Sum.Exit Code:4" << "Total Recv:" << qbData.size() << "Check Sum:" << usCheckSum << "Not Equal To" << ucTemp;
|
||||||
//qbData.clear();
|
//qbData.clear();
|
||||||
//return 4;
|
//return 4;
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user