add,计划采集7:
实现部分计划采集功能:定时任务可完整执行
This commit is contained in:
@ -604,7 +604,7 @@ void HPPA::initTimedDataCollection()
|
|||||||
|
|
||||||
// 相机/马达 → 定时采集控制器
|
// 相机/马达 → 定时采集控制器
|
||||||
connect(m_tmc, &TwoMotorControl::sequenceComplete, mTimedDataCollectionWindow, &TimedDataCollection::subTaskCompleted);
|
connect(m_tmc, &TwoMotorControl::sequenceComplete, mTimedDataCollectionWindow, &TimedDataCollection::subTaskCompleted);
|
||||||
connect(m_tmc, &TwoMotorControl::back2OriginSignal, mTimedDataCollectionWindow, &TimedDataCollection::onBack2Origin);
|
connect(m_tmc, &TwoMotorControl::back2OriginSignal_TimedDataCollection, mTimedDataCollectionWindow, &TimedDataCollection::onBack2Origin);
|
||||||
|
|
||||||
//连接马达控制和单反/深度
|
//连接马达控制和单反/深度
|
||||||
}
|
}
|
||||||
@ -696,8 +696,7 @@ void HPPA::onStartTimedDataCollection(int camType)
|
|||||||
}
|
}
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
//m_tmc->setImager(m_Imager);
|
m_tmc->run3(m_depthCameraWindow);
|
||||||
//m_tmc->run2();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,16 +114,65 @@ void TwoMotorControl::run2(SingleLensReflexCameraWindow* window)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_coordinator = new TwoMotionCaptureCoordinator(m_multiAxisController);
|
m_coordinator_TimedDataCollection = new TwoMotionCaptureCoordinator(m_multiAxisController);
|
||||||
connect(this, SIGNAL(start(QVector<PathLine>)), m_coordinator, SLOT(start(QVector<PathLine>)));
|
connect(this, SIGNAL(start(QVector<PathLine>)), m_coordinator_TimedDataCollection, SLOT(start(QVector<PathLine>)));
|
||||||
|
|
||||||
connect(m_coordinator, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, this, &TwoMotorControl::receiveStartRecordLineNum);
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, this, &TwoMotorControl::receiveStartRecordLineNum);
|
||||||
connect(m_coordinator, &TwoMotionCaptureCoordinator::finishRecordLineNumSignal, this, &TwoMotorControl::receiveFinishRecordLineNum);
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::finishRecordLineNumSignal, this, &TwoMotorControl::receiveFinishRecordLineNum);
|
||||||
|
|
||||||
connect(m_coordinator, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, window, &SingleLensReflexCameraWindow::onStartTimedDataCollection);
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, window, &SingleLensReflexCameraWindow::onStartTimedDataCollection);
|
||||||
connect(m_coordinator, &TwoMotionCaptureCoordinator::sequenceComplete, window, &SingleLensReflexCameraWindow::onStopTimedDataCollection);
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::sequenceComplete, window, &SingleLensReflexCameraWindow::onStopTimedDataCollection);
|
||||||
|
|
||||||
connect(m_coordinator, &TwoMotionCaptureCoordinator::back2OriginSignal, this, &TwoMotorControl::onBack2Origin2);
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::back2OriginSignal, this, &TwoMotorControl::onBack2Origin2);
|
||||||
|
|
||||||
|
QVector<PathLine> pathLines;
|
||||||
|
//int columnCount = ui.recordLine_tableWidget->columnCount();
|
||||||
|
for (size_t i = 0; i < rowCount; i++)
|
||||||
|
{
|
||||||
|
PathLine tmp;
|
||||||
|
|
||||||
|
tmp.targetYPosition = ui.recordLine_tableWidget->item(i, 0)->text().toDouble();
|
||||||
|
tmp.speedTargetYPosition = ui.recordLine_tableWidget->item(i, 1)->text().toDouble();
|
||||||
|
tmp.targetXMinPosition = ui.recordLine_tableWidget->item(i, 2)->text().toDouble();
|
||||||
|
tmp.speedTargetXMinPosition = ui.recordLine_tableWidget->item(i, 3)->text().toDouble();
|
||||||
|
tmp.targetXMaxPosition = ui.recordLine_tableWidget->item(i, 4)->text().toDouble();
|
||||||
|
tmp.speedTargetXMaxPosition = ui.recordLine_tableWidget->item(i, 5)->text().toDouble();
|
||||||
|
|
||||||
|
pathLines.append(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t i = 0; i < ui.recordLine_tableWidget->rowCount(); i++)
|
||||||
|
{
|
||||||
|
for (size_t j = 0; j < ui.recordLine_tableWidget->columnCount(); j++)
|
||||||
|
{
|
||||||
|
ui.recordLine_tableWidget->item(i, j)->setBackgroundColor(QColor("#0E1C4C"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
emit start(pathLines);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TwoMotorControl::run3(DepthCameraWindow* window)
|
||||||
|
{
|
||||||
|
int rowCount = ui.recordLine_tableWidget->rowCount();
|
||||||
|
if (rowCount == 0)
|
||||||
|
{
|
||||||
|
QMessageBox::information(this, QString::fromLocal8Bit("提示"), QString::fromLocal8Bit("请至少添加一行采集线!"));
|
||||||
|
|
||||||
|
emit sequenceComplete(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_coordinator_TimedDataCollection = new TwoMotionCaptureCoordinator(m_multiAxisController);
|
||||||
|
connect(this, SIGNAL(start(QVector<PathLine>)), m_coordinator_TimedDataCollection, SLOT(start(QVector<PathLine>)));
|
||||||
|
|
||||||
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, this, &TwoMotorControl::receiveStartRecordLineNum);
|
||||||
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::finishRecordLineNumSignal, this, &TwoMotorControl::receiveFinishRecordLineNum);
|
||||||
|
|
||||||
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::startRecordLineNumSignal, window, &DepthCameraWindow::openDepthCamera);
|
||||||
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::sequenceComplete, window, &DepthCameraWindow::closeDepthCamera);
|
||||||
|
|
||||||
|
connect(m_coordinator_TimedDataCollection, &TwoMotionCaptureCoordinator::back2OriginSignal, this, &TwoMotorControl::onBack2Origin2);
|
||||||
|
|
||||||
QVector<PathLine> pathLines;
|
QVector<PathLine> pathLines;
|
||||||
//int columnCount = ui.recordLine_tableWidget->columnCount();
|
//int columnCount = ui.recordLine_tableWidget->columnCount();
|
||||||
@ -154,8 +203,9 @@ void TwoMotorControl::run2(SingleLensReflexCameraWindow* window)
|
|||||||
|
|
||||||
void TwoMotorControl::onBack2Origin2()
|
void TwoMotorControl::onBack2Origin2()
|
||||||
{
|
{
|
||||||
m_coordinator->deleteLater();
|
m_coordinator_TimedDataCollection->deleteLater();
|
||||||
emit back2OriginSignal();
|
m_coordinator_TimedDataCollection = nullptr;
|
||||||
|
emit back2OriginSignal_TimedDataCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwoMotorControl::run()
|
void TwoMotorControl::run()
|
||||||
@ -334,6 +384,7 @@ void TwoMotorControl::onBack2Origin()
|
|||||||
m_coordinator = nullptr;
|
m_coordinator = nullptr;
|
||||||
|
|
||||||
emit back2OriginSignal();
|
emit back2OriginSignal();
|
||||||
|
emit back2OriginSignal_TimedDataCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TwoMotorControl::getMotorsConnectionStatus()
|
bool TwoMotorControl::getMotorsConnectionStatus()
|
||||||
|
|||||||
@ -77,6 +77,7 @@ public Q_SLOTS:
|
|||||||
void onBack2Origin();
|
void onBack2Origin();
|
||||||
|
|
||||||
void run2(SingleLensReflexCameraWindow* w);
|
void run2(SingleLensReflexCameraWindow* w);
|
||||||
|
void run3(DepthCameraWindow* window);
|
||||||
void onBack2Origin2();
|
void onBack2Origin2();
|
||||||
|
|
||||||
void stop_record();
|
void stop_record();
|
||||||
@ -97,6 +98,7 @@ signals:
|
|||||||
void startLineNumSignal(int lineNum);
|
void startLineNumSignal(int lineNum);
|
||||||
void sequenceComplete(int status);//所有采集线正常运行完成
|
void sequenceComplete(int status);//所有采集线正常运行完成
|
||||||
void back2OriginSignal();
|
void back2OriginSignal();
|
||||||
|
void back2OriginSignal_TimedDataCollection();
|
||||||
|
|
||||||
void broadcastLocationSignal(std::vector<double>);
|
void broadcastLocationSignal(std::vector<double>);
|
||||||
|
|
||||||
@ -104,6 +106,7 @@ private:
|
|||||||
Ui::twoMotorControl_UI ui;
|
Ui::twoMotorControl_UI ui;
|
||||||
QThread m_coordinatorThread;
|
QThread m_coordinatorThread;
|
||||||
TwoMotionCaptureCoordinator* m_coordinator = nullptr;
|
TwoMotionCaptureCoordinator* m_coordinator = nullptr;
|
||||||
|
TwoMotionCaptureCoordinator* m_coordinator_TimedDataCollection = nullptr;
|
||||||
|
|
||||||
DarkAndWhiteCaptureCoordinator* m_darkCaptureCoordinator = nullptr;
|
DarkAndWhiteCaptureCoordinator* m_darkCaptureCoordinator = nullptr;
|
||||||
DarkAndWhiteCaptureCoordinator* m_whiteCaptureCoordinator = nullptr;
|
DarkAndWhiteCaptureCoordinator* m_whiteCaptureCoordinator = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user