1.修改了海阳光学光谱仪派生类,以支持暗像素信息的获取。

2.针对FLAME设备添加了新的实时暗背景扣除函数。
3.修改了部分系统执行逻辑,以支持FLAME的正确运行。
This commit is contained in:
2023-07-17 11:26:56 +08:00
parent 16d745ed5f
commit 3ce267dccf
19 changed files with 371 additions and 105 deletions

View File

@ -69,6 +69,9 @@ int IS11_Ctrl_Qt::SingleShot(DataFrame& dfData)
{
SendData_CMD03((char*)GET_ALL_DN, sizeof(GET_ALL_DN));
RecvData_CMD03(dfData);
GetExposureTime(m_iExposureTime);
dfData.usExposureTimeInMS = (unsigned short)m_iExposureTime;
return 0;
}
@ -93,7 +96,7 @@ int IS11_Ctrl_Qt::GetExposureTime(int & iExposureTimeInMS)
SendData_CMD03((char *)GET_INTEGRAL_TIME, sizeof(GET_INTEGRAL_TIME));
int iRes = RecvData_CMD03(qbaRecv);
iExposureTimeInMS = qbaRecv[0]*256+ qbaRecv[1];
iExposureTimeInMS = ((unsigned char)(qbaRecv[0]))*256+ (unsigned char)(qbaRecv[1]);
return iRes;
}
@ -262,11 +265,11 @@ int IS11_Ctrl_Qt::RecvData_CMD03(QByteArray &qbaRecv)
iRetryCount = 0;
while (qbaOriRecv.size()< qbaOriRecv[2]+5)
{
m_pSerialPort->waitForReadyRead(100);
m_pSerialPort->waitForReadyRead(1000);
Read_IS11(qbaTemp);
qbaOriRecv.append(qbaTemp);
iRetryCount++;
if (iRetryCount > 20)
if (iRetryCount > 66)
{
qDebug() << "Recv Data Err.out of retry time";
return 2;
@ -318,11 +321,11 @@ int IS11_Ctrl_Qt::RecvData_CMD03(DataFrame& dfData)
qbaOriRecv.append(qbaTemp);
while (qbaOriRecv.size() < 4 || ParseHdr(qbaOriRecv, 3) == 1)
{
m_pSerialPort->waitForReadyRead(100);
m_pSerialPort->waitForReadyRead(1000);
Read_IS11(qbaTemp);
qbaOriRecv.append(qbaTemp);
iRetryCount++;
if (iRetryCount > 20)
if (iRetryCount > 66)
{
qDebug() << "Recv Hdr Err.out of retry time";
return 1;
@ -333,11 +336,11 @@ int IS11_Ctrl_Qt::RecvData_CMD03(DataFrame& dfData)
iRetryCount = 0;
while (qbaOriRecv.size() < length + 4)
{
m_pSerialPort->waitForReadyRead(100);
m_pSerialPort->waitForReadyRead(1000);
Read_IS11(qbaTemp);
qbaOriRecv.append(qbaTemp);
iRetryCount++;
if (iRetryCount > 20)
if (iRetryCount > 66)
{
qDebug() << "Recv Data Err.out of retry time";
return 2;
@ -500,11 +503,11 @@ int IS11_Ctrl_Qt::RecvData_CMD06(QByteArray &qbaRecv)
iRetryCount = 0;
while (qbaOriRecv.size() < 8)
{
m_pSerialPort->waitForReadyRead(100);
m_pSerialPort->waitForReadyRead(1000);
Read_IS11(qbaTemp);
qbaOriRecv.append(qbaTemp);
iRetryCount++;
if (iRetryCount > 20)
if (iRetryCount > 66)
{
qDebug() << "Recv Data Err.out of retry time";
return 2;