修改一些小bug

1、确保手动调焦过程中,不能自动调焦;
2、修复bug:手动调焦过程中关闭调焦窗口,不会停止手动调焦,造成程序崩溃;
3、修复bug:采集过程中鼠标左键单击显示光谱,程序崩溃;
4、修复减暗电流后负值问题;
This commit is contained in:
tangchao0503
2023-06-10 20:12:19 +08:00
parent 83da2516fb
commit 731acda633
4 changed files with 65 additions and 5 deletions

View File

@ -242,8 +242,12 @@ HPPA::HPPA(QWidget *parent)
Configfile configfile;
configfile.setConfigfilePath(HPPACfgFile);
if (!configfile.isConfigfileExist())
{
configfile.createConfigFile();
qDebug() << "create: " << QString::fromStdString(HPPACfgFile);
}
configfile.parseConfigfile();
qDebug() << "exist: " << QString::fromStdString(HPPACfgFile);
/*int max, min;
configfile.getPositionRestriction(max, min);
@ -292,6 +296,25 @@ void HPPA::CalculateIntegratioinTimeRange()
void HPPA::onStartRecordStep1()
{
////<2F><><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EBA3AC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//m_RecordState += 1;
//if (m_RecordState % 2 == 1)
//{
// onCreateTab(1);
// m_numberOfRecording = 0;
// m_Imager->setFileName2Save(m_FilenameLineEdit->text().toStdString());
// emit StartRecordSignal();//<2F><><EFBFBD>ʼ<E4BFAA>ɼ<EFBFBD><C9BC>ź<EFBFBD>
//}
//else
//{
// m_Imager->setRecordControlState(false);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
// ui.action_start_recording->setText(QString::fromLocal8Bit("<22>ɼ<EFBFBD>"));
// ui.mainToolBar->widgetForAction(ui.action_start_recording)->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
//}
//ȷ<><C8B7>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> С<><D0A1> x<><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
int validLineCount = 0;
for (size_t i = 0; i < ui.recordLine_tableWidget->rowCount(); i++)
@ -340,7 +363,7 @@ void HPPA::onStartRecordStep1()
else
{
//std::cout << "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" << std::endl;
m_RecordState -= 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>ǵĻ<C7B5><C4BB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_RecordState -= 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>ǵĻ<C7B5><C4BB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD>ɼ<EFBFBD>
return;
}
}
@ -552,6 +575,13 @@ void HPPA::onLeftMouseButtonPressed(int x, int y)
{
try
{
//<2F><><EFBFBD>ڲɼ<DAB2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (m_RecordState % 2 == 1)
{
return;
}
FileOperation * fileOperation = new FileOperation();
string directory = fileOperation->getDirectoryFromString();
string imgPath = directory + "\\" + m_FilenameLineEdit->text().toStdString() + "_" + std::to_string(m_TabWidgetCurrentIndex + 1);
@ -1992,11 +2022,11 @@ void ForLoopControl::startLoop()
if (m_boolQuitLoop == false)
{
emit recordSignal(-1);
emit recordSignal(-1);//<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA>ߣ<EFBFBD><DFA3>Զ<EFBFBD>ֹͣ
}
else if (m_boolQuitLoop == true)
{
emit recordSignal(-2);
emit recordSignal(-2);//<2F>ֶ<EFBFBD>ֹͣ<CDA3>ɼ<EFBFBD>
}
//std::cout << "<22>˳<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD>" << std::endl;

View File

@ -166,7 +166,7 @@ private:
ForLoopControl * m_ForLoopControl;
ResononImager * m_Imager;//
int m_RecordState;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
int m_RecordState;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>̣<EFBFBD>ȡ2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><> <20><><EFBFBD>ڲɼ<DAB2><C9BC><EFBFBD>0 <20><> ֹͣ<CDA3>ɼ<EFBFBD>
QThread * m_ForLoopControlThread;//
QThread * m_RecordThread;//Ӱ<><D3B0><EFBFBD>ɼ<EFBFBD><C9BC>߳<EFBFBD>

View File

@ -61,6 +61,8 @@ focusWindow::~focusWindow()
{
printf("destroy focusWindow-------------------------\n");
emit StartManualFocusSignal(0);//<2F><><EFBFBD>û<EFBFBD>û<EFBFBD>е<EFBFBD><D0B5><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>͹رմ<D8B1><D5B4><EFBFBD>
delete m_ctrlFocusMotor;
//delete thread1, progressThread;
}
@ -216,6 +218,8 @@ void focusWindow::onManualFocus()
ui.manualFocus_btn->setStyleSheet("QWidget{background-color:rgb(255,0,0);}");
ui.autoFocus_btn->setDisabled(true);
//std::cout << "------------------------------------------<2D><>" << m_FocusState << std::endl;
}
else
@ -226,6 +230,8 @@ void focusWindow::onManualFocus()
ui.manualFocus_btn->setText(QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
ui.manualFocus_btn->setStyleSheet("QWidget{background-color:rgb(0,255,0);}");
ui.autoFocus_btn->setDisabled(false);
}
}

View File

@ -182,7 +182,15 @@ void ResononImager::start_record()
{
for (size_t i = 0; i < m_FrameSize; i++)
{
buffer[i] = buffer[i] - dark[i];
if (buffer[i] < dark[i])
{
buffer[i] = 0;
}
else
{
buffer[i] = buffer[i] - dark[i];
}
}
}
@ -266,6 +274,22 @@ void ResononImager::record_white()
m_ResononImager.get_frame(white);
m_ResononImager.stop();
//<2F>װ<EFBFBD><D7B0>۰<EFBFBD><DBB0><EFBFBD><EFBFBD><EFBFBD>
if (m_HasDark)
{
for (size_t i = 0; i < m_FrameSize; i++)
{
if (white[i] < dark[i])
{
white[i] = 0;
}
else
{
white[i] = white[i] - dark[i];
}
}
}
m_HasWhite = true;
}