Compare commits
3 Commits
0562e8592c
...
83adaa8b8b
| Author | SHA1 | Date | |
|---|---|---|---|
| 83adaa8b8b | |||
| b8febdf8ff | |||
| 08dee5bbec |
@ -175,6 +175,26 @@ void AppSettings::setReturnSpeed(double value)
|
|||||||
m_settings.setValue("OneMotorControl/ReturnSpeed", value);
|
m_settings.setValue("OneMotorControl/ReturnSpeed", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double AppSettings::manualMovementSpeed() const
|
||||||
|
{
|
||||||
|
return m_settings.value("OneMotorControl/ManualMovementSpeed", 1).toDouble();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppSettings::setManualMovementSpeed(double value)
|
||||||
|
{
|
||||||
|
m_settings.setValue("OneMotorControl/ManualMovementSpeed", value);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AppSettings::isReverseMove() const
|
||||||
|
{
|
||||||
|
return m_settings.value("OneMotorControl/IsReverseMove", 0).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AppSettings::setIsReverseMove(bool value)
|
||||||
|
{
|
||||||
|
m_settings.setValue("OneMotorControl/IsReverseMove", value);
|
||||||
|
}
|
||||||
|
|
||||||
int AppSettings::gonggaShanRecordPort() const
|
int AppSettings::gonggaShanRecordPort() const
|
||||||
{
|
{
|
||||||
return m_settings.value("GonggaShanRecordCtl/Port", kDefaultGonggaShanRecordPort).toInt();
|
return m_settings.value("GonggaShanRecordCtl/Port", kDefaultGonggaShanRecordPort).toInt();
|
||||||
|
|||||||
@ -56,6 +56,13 @@ public:
|
|||||||
double returnSpeed() const;
|
double returnSpeed() const;
|
||||||
void setReturnSpeed(double value);
|
void setReturnSpeed(double value);
|
||||||
|
|
||||||
|
// 手动移动速度
|
||||||
|
double manualMovementSpeed() const;
|
||||||
|
void setManualMovementSpeed(double value);
|
||||||
|
|
||||||
|
bool isReverseMove() const;
|
||||||
|
void setIsReverseMove(bool value);
|
||||||
|
|
||||||
// 贡嘎山记录端口
|
// 贡嘎山记录端口
|
||||||
int gonggaShanRecordPort() const;
|
int gonggaShanRecordPort() const;
|
||||||
void setGonggaShanRecordPort(int value);
|
void setGonggaShanRecordPort(int value);
|
||||||
|
|||||||
@ -10,10 +10,10 @@ TwoMotionCaptureCoordinator::TwoMotionCaptureCoordinator(
|
|||||||
, m_isValidCapturing(false)
|
, m_isValidCapturing(false)
|
||||||
{
|
{
|
||||||
//这些信号槽是按照逻辑顺序的
|
//这些信号槽是按照逻辑顺序的
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)),
|
connect(this, qOverload<int, double, double, int>(&TwoMotionCaptureCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(moveTo(const std::vector<double>, const std::vector<double>, int)),
|
connect(this, qOverload<const std::vector<double>, const std::vector<double>, int>(&TwoMotionCaptureCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(const std::vector<double>, const std::vector<double>, int)));
|
m_motorCtrl, qOverload<const std::vector<double>, const std::vector<double>, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, &TwoMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
connect(this, &TwoMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
||||||
@ -444,9 +444,9 @@ OneMotionCaptureCoordinator::OneMotionCaptureCoordinator(
|
|||||||
, m_cameraCtrl(cameraCtrl)
|
, m_cameraCtrl(cameraCtrl)
|
||||||
, m_isRunning(false)
|
, m_isRunning(false)
|
||||||
{
|
{
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)),
|
connect(this, qOverload<int, double, double, int>(&OneMotionCaptureCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_motorCtrl, SLOT(move(int, bool, double, int)));
|
connect(this, &OneMotionCaptureCoordinator::moveSignal, m_motorCtrl, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
connect(this, &OneMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
connect(this, &OneMotionCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
||||||
@ -488,7 +488,7 @@ void OneMotionCaptureCoordinator::startStepMotion(OneMotionCapturePathLine pathL
|
|||||||
m_pathLine.timestamp1 = QDateTime::currentDateTime();
|
m_pathLine.timestamp1 = QDateTime::currentDateTime();
|
||||||
|
|
||||||
//移动马达并开始采集高光谱
|
//移动马达并开始采集高光谱
|
||||||
emit moveSignal(0, false, m_pathLine.speedRecord, 1000);
|
emit moveSignal(0, m_pathLine.speedRecord, 1000);
|
||||||
emit startRecordHSISignal();
|
emit startRecordHSISignal();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -621,9 +621,9 @@ DarkAndWhiteCaptureCoordinator::DarkAndWhiteCaptureCoordinator(
|
|||||||
, m_cameraCtrl(cameraCtrl)
|
, m_cameraCtrl(cameraCtrl)
|
||||||
, m_isRunning(false)
|
, m_isRunning(false)
|
||||||
{
|
{
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)),
|
connect(this, qOverload<int, double, double, int>(&DarkAndWhiteCaptureCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_motorCtrl, SLOT(move(int, bool, double, int)));
|
connect(this, &DarkAndWhiteCaptureCoordinator::moveSignal, m_motorCtrl, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
connect(this, &DarkAndWhiteCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
connect(this, &DarkAndWhiteCaptureCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal,
|
||||||
@ -667,7 +667,7 @@ void DarkAndWhiteCaptureCoordinator::startStepMotion(double speed)
|
|||||||
getLocBeforeStart();
|
getLocBeforeStart();
|
||||||
|
|
||||||
//移动马达并开始采集高光谱
|
//移动马达并开始采集高光谱
|
||||||
emit moveSignal(0, false, m_speed, 1000);
|
emit moveSignal(0, m_speed, 1000);
|
||||||
emit startRecordHSISignal();
|
emit startRecordHSISignal();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -742,11 +742,11 @@ TwoMotor1PosCoordinator::TwoMotor1PosCoordinator(
|
|||||||
, m_xReached(false)
|
, m_xReached(false)
|
||||||
, m_yReached(false)
|
, m_yReached(false)
|
||||||
{
|
{
|
||||||
//因为IrisMultiMotorController::moveTo有多个重载版本,所以使用信号槽连接时需要使用SIGNAL和SLOT宏来指定参数类型,避免编译器无法推断出正确的函数签名。
|
//因为IrisMultiMotorController::moveTo有多个重载版本,所以使用qOverload来指定参数类型
|
||||||
//connect(this, &TwoMotor1PosCoordinator::moveTo, m_motorCtrl, &IrisMultiMotorController::moveTo);//这行代码会报错,因为moveTo有多个重载版本,编译器无法推断出正确的函数签名。
|
connect(this, qOverload<int, double, double, int>(&TwoMotor1PosCoordinator::moveTo),
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)), m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(moveTo(const std::vector<double>, const std::vector<double>, int)), m_motorCtrl, SLOT(moveTo(const std::vector<double>, const std::vector<double>, int)));
|
connect(this, qOverload<const std::vector<double>, const std::vector<double>, int>(&TwoMotor1PosCoordinator::moveTo),
|
||||||
|
m_motorCtrl, qOverload<const std::vector<double>, const std::vector<double>, int>(&IrisMultiMotorController::moveTo));
|
||||||
|
|
||||||
connect(this, &TwoMotor1PosCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
connect(this, &TwoMotor1PosCoordinator::stopMotorSignal, m_motorCtrl, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
@ -904,7 +904,8 @@ OneMotionCoordinator::OneMotionCoordinator(IrisMultiMotorController* motorCtrl,
|
|||||||
, m_retryTimes(0)
|
, m_retryTimes(0)
|
||||||
, m_reached(false)
|
, m_reached(false)
|
||||||
{
|
{
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)), m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
connect(this, qOverload<int, double, double, int>(&OneMotionCoordinator::moveTo),
|
||||||
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, this, &OneMotionCoordinator::handlePositionReached);
|
connect(m_motorCtrl, &IrisMultiMotorController::motorStopSignal, this, &OneMotionCoordinator::handlePositionReached);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1008,8 +1009,8 @@ OneMotorMultiPosCoordinator::OneMotorMultiPosCoordinator(
|
|||||||
, m_isZeroing(false)
|
, m_isZeroing(false)
|
||||||
{
|
{
|
||||||
//这些信号槽是按照逻辑顺序的
|
//这些信号槽是按照逻辑顺序的
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)),
|
connect(this, qOverload<int, double, double, int>(&OneMotorMultiPosCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
|
|
||||||
connect(this, &OneMotorMultiPosCoordinator::zeroStart,
|
connect(this, &OneMotorMultiPosCoordinator::zeroStart,
|
||||||
m_motorCtrl, &IrisMultiMotorController::zeroStart);
|
m_motorCtrl, &IrisMultiMotorController::zeroStart);
|
||||||
|
|||||||
@ -148,7 +148,7 @@ signals:
|
|||||||
void sequenceCompleteSignal_motorBack2Origin(int);
|
void sequenceCompleteSignal_motorBack2Origin(int);
|
||||||
void errorOccurred(const QString& error);
|
void errorOccurred(const QString& error);
|
||||||
void moveTo(int, double, double, int);
|
void moveTo(int, double, double, int);
|
||||||
void moveSignal(int, bool, double, int);
|
void moveSignal(int, double, int);
|
||||||
void stopMotorSignal(int axis);
|
void stopMotorSignal(int axis);
|
||||||
|
|
||||||
void startRecordHSISignal();
|
void startRecordHSISignal();
|
||||||
@ -190,7 +190,7 @@ public slots:
|
|||||||
signals:
|
signals:
|
||||||
void sequenceComplete(int);
|
void sequenceComplete(int);
|
||||||
void moveTo(int, double, double, int);
|
void moveTo(int, double, double, int);
|
||||||
void moveSignal(int, bool, double, int);
|
void moveSignal(int, double, int);
|
||||||
void stopMotorSignal(int axis);
|
void stopMotorSignal(int axis);
|
||||||
|
|
||||||
void startRecordHSISignal();
|
void startRecordHSISignal();
|
||||||
|
|||||||
@ -68,6 +68,11 @@ GonggaShanRecordCtl::~GonggaShanRecordCtl()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GonggaShanRecordCtl::recordHsiFinished()
|
||||||
|
{
|
||||||
|
emit recordFinishedSignal_gonggashan();
|
||||||
|
}
|
||||||
|
|
||||||
void GonggaShanRecordCtl::onGpsAcquisition()
|
void GonggaShanRecordCtl::onGpsAcquisition()
|
||||||
{
|
{
|
||||||
logStatus(QStringLiteral("开始GPS定位采集..."), true, false);
|
logStatus(QStringLiteral("开始GPS定位采集..."), true, false);
|
||||||
|
|||||||
@ -122,6 +122,7 @@ public:
|
|||||||
GonggaShanRecordCtl(QWidget* parent = nullptr);
|
GonggaShanRecordCtl(QWidget* parent = nullptr);
|
||||||
~GonggaShanRecordCtl();
|
~GonggaShanRecordCtl();
|
||||||
|
|
||||||
|
void recordHsiFinished();
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void onFiberImagerStartExposureSignal();
|
void onFiberImagerStartExposureSignal();
|
||||||
|
|||||||
@ -1121,12 +1121,22 @@ void HPPA::setupGonggashanAutoRecordConnection()
|
|||||||
connect(m_fodisWindow, &FodisWindow::exposureCompleteSignal, m_gonggaShanRecordCtl, &GonggaShanRecordCtl::fiberExposureDoneSignal_gonggashan);
|
connect(m_fodisWindow, &FodisWindow::exposureCompleteSignal, m_gonggaShanRecordCtl, &GonggaShanRecordCtl::fiberExposureDoneSignal_gonggashan);
|
||||||
|
|
||||||
connect(m_gonggaShanRecordCtl, &GonggaShanRecordCtl::startRcordSignal_gonggashan, this, &HPPA::onGonggashanRecord);
|
connect(m_gonggaShanRecordCtl, &GonggaShanRecordCtl::startRcordSignal_gonggashan, this, &HPPA::onGonggashanRecord);
|
||||||
connect(m_omc, &OneMotorControl::sequenceCompleteSignal_hyperImagerStopRecord, m_rgbCameraControlWindow, &rgbCameraWindow::toggleTakePhoto);
|
connect(m_omc, &OneMotorControl::sequenceCompleteSignal_hyperImagerStopRecord, this, &HPPA::onSequenceCompleteStopRecord);
|
||||||
connect(m_omc, &OneMotorControl::sequenceCompleteSignal_hyperImagerStopRecord, m_fodisWindow, &FodisWindow::closeFiberImager);
|
|
||||||
connect(m_omc, &OneMotorControl::sequenceCompleteSignal_hyperImagerStopRecord, m_gonggaShanRecordCtl, &GonggaShanRecordCtl::recordFinishedSignal_gonggashan);
|
|
||||||
//connect(m_omc, &OneMotorControl::sequenceComplete_motorBack2Origin, m_gonggaShanRecordCtl, &GonggaShanRecordCtl::);
|
//connect(m_omc, &OneMotorControl::sequenceComplete_motorBack2Origin, m_gonggaShanRecordCtl, &GonggaShanRecordCtl::);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HPPA::onSequenceCompleteStopRecord()
|
||||||
|
{
|
||||||
|
if (m_ScenarioActionGroup->checkedAction() != ui.mActionGonggaRotatingPlatformScenario)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_rgbCameraControlWindow->toggleTakePhoto();
|
||||||
|
m_fodisWindow->closeFiberImager();
|
||||||
|
m_gonggaShanRecordCtl->recordHsiFinished();
|
||||||
|
}
|
||||||
|
|
||||||
void HPPA::onGonggashanHyperAutoExposure()
|
void HPPA::onGonggashanHyperAutoExposure()
|
||||||
{
|
{
|
||||||
//连接马达和光谱仪
|
//连接马达和光谱仪
|
||||||
|
|||||||
@ -461,6 +461,8 @@ public Q_SLOTS:
|
|||||||
void onGonggashanHyperAutoExposure();
|
void onGonggashanHyperAutoExposure();
|
||||||
void onGonggashanFiberAutoExposureRecord(QString posInfo, QString dataFolder);
|
void onGonggashanFiberAutoExposureRecord(QString posInfo, QString dataFolder);
|
||||||
|
|
||||||
|
void onSequenceCompleteStopRecord();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeEvent(QCloseEvent* event) override;
|
void closeEvent(QCloseEvent* event) override;
|
||||||
|
|
||||||
|
|||||||
@ -17,18 +17,21 @@ OneMotorControl::OneMotorControl(QWidget* parent) : QDialog(parent)
|
|||||||
|
|
||||||
connect(this->ui.rangeMeasurement_btn, SIGNAL(pressed()), this, SLOT(onx_rangeMeasurement()));
|
connect(this->ui.rangeMeasurement_btn, SIGNAL(pressed()), this, SLOT(onx_rangeMeasurement()));
|
||||||
|
|
||||||
// 从 AppSettings 读取速度参数
|
|
||||||
AppSettings& settings = AppSettings::instance();
|
|
||||||
ui.speed_lineEdit->setText(QString::number(settings.scanSpeed()));
|
|
||||||
ui.return_speed_lineEdit->setText(QString::number(settings.returnSpeed()));
|
|
||||||
|
|
||||||
// 连接信号,当控件数值变化时保存到 AppSettings
|
// 连接信号,当控件数值变化时保存到 AppSettings
|
||||||
connect(ui.speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
connect(ui.scanSpeed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
AppSettings::instance().setScanSpeed(ui.speed_lineEdit->text().toDouble());
|
AppSettings::instance().setScanSpeed(ui.scanSpeed_lineEdit->text().toDouble());
|
||||||
});
|
});
|
||||||
connect(ui.return_speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
connect(ui.return_speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
AppSettings::instance().setReturnSpeed(ui.return_speed_lineEdit->text().toDouble());
|
AppSettings::instance().setReturnSpeed(ui.return_speed_lineEdit->text().toDouble());
|
||||||
});
|
});
|
||||||
|
connect(ui.manualMovementSpeed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
|
AppSettings::instance().setManualMovementSpeed(ui.manualMovementSpeed_lineEdit->text().toDouble());
|
||||||
|
});
|
||||||
|
connect(ui.reverseMove_radioButton, &QRadioButton::toggled, [this](bool checked) {
|
||||||
|
AppSettings::instance().setIsReverseMove(checked);
|
||||||
|
});
|
||||||
|
|
||||||
|
loadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
OneMotorControl::~OneMotorControl()
|
OneMotorControl::~OneMotorControl()
|
||||||
@ -37,6 +40,15 @@ OneMotorControl::~OneMotorControl()
|
|||||||
m_motorThread.wait();
|
m_motorThread.wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OneMotorControl::loadSettings()
|
||||||
|
{
|
||||||
|
ui.scanSpeed_lineEdit->setText(QString::number(AppSettings::instance().scanSpeed()));
|
||||||
|
ui.return_speed_lineEdit->setText(QString::number(AppSettings::instance().returnSpeed()));
|
||||||
|
ui.manualMovementSpeed_lineEdit->setText(QString::number(AppSettings::instance().manualMovementSpeed()));
|
||||||
|
|
||||||
|
ui.reverseMove_radioButton->setChecked(AppSettings::instance().isReverseMove());
|
||||||
|
}
|
||||||
|
|
||||||
void OneMotorControl::onConnectMotor()
|
void OneMotorControl::onConnectMotor()
|
||||||
{
|
{
|
||||||
connectMotor(true);
|
connectMotor(true);
|
||||||
@ -44,7 +56,7 @@ void OneMotorControl::onConnectMotor()
|
|||||||
|
|
||||||
void OneMotorControl::setScanSpeed(double speed)
|
void OneMotorControl::setScanSpeed(double speed)
|
||||||
{
|
{
|
||||||
ui.speed_lineEdit->setText(QString::number(speed));
|
ui.scanSpeed_lineEdit->setText(QString::number(speed));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl::connectMotor(bool isNotification)
|
void OneMotorControl::connectMotor(bool isNotification)
|
||||||
@ -63,14 +75,14 @@ void OneMotorControl::connectMotor(bool isNotification)
|
|||||||
|
|
||||||
if (m_multiAxisController != nullptr)
|
if (m_multiAxisController != nullptr)
|
||||||
{
|
{
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(display_x_loc(std::vector<double>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl::display_x_loc);
|
||||||
disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
disconnect(this, &OneMotorControl::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
disconnect(this, qOverload<int, double, double, int>(&OneMotorControl::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
disconnect(this, &OneMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
disconnect(this, &OneMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
disconnect(this, &OneMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
disconnect(this, &OneMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.quit();
|
m_motorThread.quit();
|
||||||
m_motorThread.wait();
|
m_motorThread.wait();
|
||||||
@ -94,20 +106,20 @@ void OneMotorControl::connectMotor(bool isNotification)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_multiAxisController->moveToThread(&m_motorThread);
|
m_multiAxisController->moveToThread(&m_motorThread);
|
||||||
connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater()));
|
connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater);
|
||||||
|
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(display_x_loc(std::vector<double>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl::display_x_loc);
|
||||||
|
|
||||||
connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
connect(this, &OneMotorControl::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
connect(this, qOverload<int, double, double, int>(&OneMotorControl::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
connect(this, &OneMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
connect(this, &OneMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
|
|
||||||
connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
connect(this, &OneMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
|
|
||||||
connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
connect(this, &OneMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.start();
|
m_motorThread.start();
|
||||||
emit testConnectivitySignal(0, 1000);
|
emit testConnectivitySignal(0, 1000);
|
||||||
@ -116,7 +128,7 @@ void OneMotorControl::connectMotor(bool isNotification)
|
|||||||
void OneMotorControl::display_x_loc(std::vector<double> loc)
|
void OneMotorControl::display_x_loc(std::vector<double> loc)
|
||||||
{
|
{
|
||||||
double tmp = round(loc[0] * 100) / 100;
|
double tmp = round(loc[0] * 100) / 100;
|
||||||
this->ui.realTimeLoc_lineEdit->setText(QString::number(tmp));
|
this->ui.realTimeLoc_label->setText(QString::number(tmp));
|
||||||
|
|
||||||
emit broadcastLocationSignal(loc);
|
emit broadcastLocationSignal(loc);
|
||||||
}
|
}
|
||||||
@ -166,13 +178,13 @@ void OneMotorControl::zeroStart()
|
|||||||
|
|
||||||
void OneMotorControl::onx_rangeMeasurement()
|
void OneMotorControl::onx_rangeMeasurement()
|
||||||
{
|
{
|
||||||
double s0 = ui.speed_lineEdit->text().toDouble();
|
double s0 = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
emit rangeMeasurement(0, s0, 1000);
|
emit rangeMeasurement(0, s0, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl::onxMove2Loc()
|
void OneMotorControl::onxMove2Loc()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
double l = ui.move2loc_lineEdit->text().toDouble();
|
double l = ui.move2loc_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit move2LocSignal(0, l, s, 1000);
|
emit move2LocSignal(0, l, s, 1000);
|
||||||
@ -180,16 +192,16 @@ void OneMotorControl::onxMove2Loc()
|
|||||||
|
|
||||||
void OneMotorControl::onxMotorRight()
|
void OneMotorControl::onxMotorRight()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, false, s, 1000);
|
emit moveSignal(0, abs(s), 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl::onxMotorLeft()
|
void OneMotorControl::onxMotorLeft()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, true, s, 1000);
|
emit moveSignal(0, abs(s)*-1, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl::onxMotorStop()
|
void OneMotorControl::onxMotorStop()
|
||||||
@ -204,7 +216,11 @@ void OneMotorControl::setImager(ImagerOperationBase* imager)
|
|||||||
|
|
||||||
void OneMotorControl::record_dark()
|
void OneMotorControl::record_dark()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.scanSpeed_lineEdit->text().toDouble();
|
||||||
|
if (ui.reverseMove_radioButton->isChecked())
|
||||||
|
{
|
||||||
|
s = s * -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_darkCaptureCoordinator == nullptr)
|
if (m_darkCaptureCoordinator == nullptr)
|
||||||
{
|
{
|
||||||
@ -216,7 +232,11 @@ void OneMotorControl::record_dark()
|
|||||||
|
|
||||||
void OneMotorControl::record_white()
|
void OneMotorControl::record_white()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.scanSpeed_lineEdit->text().toDouble();
|
||||||
|
if (ui.reverseMove_radioButton->isChecked())
|
||||||
|
{
|
||||||
|
s = s * -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_whiteCaptureCoordinator == nullptr)
|
if (m_whiteCaptureCoordinator == nullptr)
|
||||||
{
|
{
|
||||||
@ -246,7 +266,13 @@ void OneMotorControl::run()
|
|||||||
this, &OneMotorControl::onSequenceComplete_motorBack2Origin);
|
this, &OneMotorControl::onSequenceComplete_motorBack2Origin);
|
||||||
|
|
||||||
OneMotionCapturePathLine tmp;
|
OneMotionCapturePathLine tmp;
|
||||||
tmp.speedRecord = ui.speed_lineEdit->text().toDouble();
|
|
||||||
|
double s = ui.scanSpeed_lineEdit->text().toDouble();
|
||||||
|
if (ui.reverseMove_radioButton->isChecked())
|
||||||
|
{
|
||||||
|
s = s * -1;
|
||||||
|
}
|
||||||
|
tmp.speedRecord = s;
|
||||||
tmp.speedBack = ui.return_speed_lineEdit->text().toDouble();
|
tmp.speedBack = ui.return_speed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit start(tmp);
|
emit start(tmp);
|
||||||
@ -275,7 +301,7 @@ void OneMotorControl::multiPosHyperAutoExposure()
|
|||||||
connect(m_coordinator_gonggashan_autoexpose, &OneMotorMultiPosCoordinator::sequenceComplete, this, &OneMotorControl::onSequenceComplete_gonggashan_autoexpose);
|
connect(m_coordinator_gonggashan_autoexpose, &OneMotorMultiPosCoordinator::sequenceComplete, this, &OneMotorControl::onSequenceComplete_gonggashan_autoexpose);
|
||||||
connect(m_coordinator_gonggashan_autoexpose, &OneMotorMultiPosCoordinator::hyperAutoExposureDoneSignal, this, &OneMotorControl::hyperAutoExposureDoneSignal_gonggashan);
|
connect(m_coordinator_gonggashan_autoexpose, &OneMotorMultiPosCoordinator::hyperAutoExposureDoneSignal, this, &OneMotorControl::hyperAutoExposureDoneSignal_gonggashan);
|
||||||
|
|
||||||
m_coordinator_gonggashan_autoexpose->startStepMotion(ui.speed_lineEdit->text().toDouble(), locations);
|
m_coordinator_gonggashan_autoexpose->startStepMotion(ui.manualMovementSpeed_lineEdit->text().toDouble(), locations);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl::onSequenceComplete_gonggashan_autoexpose(int state)
|
void OneMotorControl::onSequenceComplete_gonggashan_autoexpose(int state)
|
||||||
@ -365,18 +391,18 @@ OneMotorControl_LiftingPlatform::OneMotorControl_LiftingPlatform(QWidget* parent
|
|||||||
|
|
||||||
connect(this->ui.rangeMeasurement_btn, SIGNAL(pressed()), this, SLOT(onx_rangeMeasurement()));
|
connect(this->ui.rangeMeasurement_btn, SIGNAL(pressed()), this, SLOT(onx_rangeMeasurement()));
|
||||||
|
|
||||||
// 从 AppSettings 读取速度参数
|
|
||||||
AppSettings& settings = AppSettings::instance();
|
|
||||||
ui.speed_lineEdit->setText(QString::number(settings.scanSpeed()));
|
|
||||||
ui.return_speed_lineEdit->setText(QString::number(settings.returnSpeed()));
|
|
||||||
|
|
||||||
// 连接信号,当控件数值变化时保存到 AppSettings
|
// 连接信号,当控件数值变化时保存到 AppSettings
|
||||||
connect(ui.speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
connect(ui.scanSpeed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
AppSettings::instance().setScanSpeed(ui.speed_lineEdit->text().toDouble());
|
AppSettings::instance().setScanSpeed(ui.scanSpeed_lineEdit->text().toDouble());
|
||||||
});
|
});
|
||||||
connect(ui.return_speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
connect(ui.return_speed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
AppSettings::instance().setReturnSpeed(ui.return_speed_lineEdit->text().toDouble());
|
AppSettings::instance().setReturnSpeed(ui.return_speed_lineEdit->text().toDouble());
|
||||||
});
|
});
|
||||||
|
connect(ui.manualMovementSpeed_lineEdit, &QLineEdit::editingFinished, [this]() {
|
||||||
|
AppSettings::instance().setManualMovementSpeed(ui.manualMovementSpeed_lineEdit->text().toDouble());
|
||||||
|
});
|
||||||
|
|
||||||
|
loadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
OneMotorControl_LiftingPlatform::~OneMotorControl_LiftingPlatform()
|
OneMotorControl_LiftingPlatform::~OneMotorControl_LiftingPlatform()
|
||||||
@ -385,6 +411,13 @@ OneMotorControl_LiftingPlatform::~OneMotorControl_LiftingPlatform()
|
|||||||
m_motorThread.wait();
|
m_motorThread.wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OneMotorControl_LiftingPlatform::loadSettings()
|
||||||
|
{
|
||||||
|
ui.scanSpeed_lineEdit->setText(QString::number(AppSettings::instance().scanSpeed()));
|
||||||
|
ui.return_speed_lineEdit->setText(QString::number(AppSettings::instance().returnSpeed()));
|
||||||
|
ui.manualMovementSpeed_lineEdit->setText(QString::number(AppSettings::instance().manualMovementSpeed()));
|
||||||
|
}
|
||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onConnectMotor()
|
void OneMotorControl_LiftingPlatform::onConnectMotor()
|
||||||
{
|
{
|
||||||
connectMotor(true);
|
connectMotor(true);
|
||||||
@ -406,14 +439,14 @@ void OneMotorControl_LiftingPlatform::connectMotor(bool isNotification)
|
|||||||
|
|
||||||
if (m_multiAxisController != nullptr)
|
if (m_multiAxisController != nullptr)
|
||||||
{
|
{
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(display_x_loc(std::vector<double>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl_LiftingPlatform::display_x_loc);
|
||||||
disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
disconnect(this, &OneMotorControl_LiftingPlatform::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
disconnect(this, qOverload<int, double, double, int>(&OneMotorControl_LiftingPlatform::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
disconnect(this, &OneMotorControl_LiftingPlatform::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
disconnect(this, &OneMotorControl_LiftingPlatform::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
disconnect(this, &OneMotorControl_LiftingPlatform::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
disconnect(this, &OneMotorControl_LiftingPlatform::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl_LiftingPlatform::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.quit();
|
m_motorThread.quit();
|
||||||
m_motorThread.wait();
|
m_motorThread.wait();
|
||||||
@ -437,20 +470,20 @@ void OneMotorControl_LiftingPlatform::connectMotor(bool isNotification)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_multiAxisController->moveToThread(&m_motorThread);
|
m_multiAxisController->moveToThread(&m_motorThread);
|
||||||
connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater()));
|
connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater);
|
||||||
|
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(display_x_loc(std::vector<double>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &OneMotorControl_LiftingPlatform::display_x_loc);
|
||||||
|
|
||||||
connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
connect(this, &OneMotorControl_LiftingPlatform::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
connect(this, qOverload<int, double, double, int>(&OneMotorControl_LiftingPlatform::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
connect(this, &OneMotorControl_LiftingPlatform::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
connect(this, &OneMotorControl_LiftingPlatform::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
|
|
||||||
connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
connect(this, &OneMotorControl_LiftingPlatform::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
|
|
||||||
connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
connect(this, &OneMotorControl_LiftingPlatform::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &OneMotorControl_LiftingPlatform::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.start();
|
m_motorThread.start();
|
||||||
emit testConnectivitySignal(0, 1000);
|
emit testConnectivitySignal(0, 1000);
|
||||||
@ -459,7 +492,7 @@ void OneMotorControl_LiftingPlatform::connectMotor(bool isNotification)
|
|||||||
void OneMotorControl_LiftingPlatform::display_x_loc(std::vector<double> loc)
|
void OneMotorControl_LiftingPlatform::display_x_loc(std::vector<double> loc)
|
||||||
{
|
{
|
||||||
double tmp = round(loc[0] * 100) / 100;
|
double tmp = round(loc[0] * 100) / 100;
|
||||||
this->ui.realTimeLoc_lineEdit->setText(QString::number(tmp));
|
this->ui.realTimeLoc_label->setText(QString::number(tmp));
|
||||||
|
|
||||||
emit broadcastLocationSignal(loc);
|
emit broadcastLocationSignal(loc);
|
||||||
}
|
}
|
||||||
@ -509,13 +542,13 @@ void OneMotorControl_LiftingPlatform::zeroStart()
|
|||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onx_rangeMeasurement()
|
void OneMotorControl_LiftingPlatform::onx_rangeMeasurement()
|
||||||
{
|
{
|
||||||
double s0 = ui.speed_lineEdit->text().toDouble();
|
double s0 = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
emit rangeMeasurement(0, s0, 1000);
|
emit rangeMeasurement(0, s0, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onxMove2Loc()
|
void OneMotorControl_LiftingPlatform::onxMove2Loc()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
double l = ui.move2loc_lineEdit->text().toDouble();
|
double l = ui.move2loc_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit move2LocSignal(0, l, s, 1000);
|
emit move2LocSignal(0, l, s, 1000);
|
||||||
@ -523,16 +556,16 @@ void OneMotorControl_LiftingPlatform::onxMove2Loc()
|
|||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onxMotorRight()
|
void OneMotorControl_LiftingPlatform::onxMotorRight()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, false, s, 1000);
|
emit moveSignal(0, abs(s), 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onxMotorLeft()
|
void OneMotorControl_LiftingPlatform::onxMotorLeft()
|
||||||
{
|
{
|
||||||
double s = ui.speed_lineEdit->text().toDouble();
|
double s = ui.manualMovementSpeed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, true, s, 1000);
|
emit moveSignal(0, abs(s)*-1, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::onxMotorStop()
|
void OneMotorControl_LiftingPlatform::onxMotorStop()
|
||||||
@ -555,7 +588,7 @@ void OneMotorControl_LiftingPlatform::run()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_coordinator->moveToTarget(targetDepth, ui.speed_lineEdit->text().toDouble());
|
m_coordinator->moveToTarget(targetDepth, ui.manualMovementSpeed_lineEdit->text().toDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
void OneMotorControl_LiftingPlatform::stop()
|
void OneMotorControl_LiftingPlatform::stop()
|
||||||
|
|||||||
@ -54,7 +54,7 @@ public Q_SLOTS:
|
|||||||
void onSequenceComplete_gonggashan_autoexpose(int state);
|
void onSequenceComplete_gonggashan_autoexpose(int state);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void moveSignal(int, bool, double, int);
|
void moveSignal(int, double, int);
|
||||||
void move2LocSignal(int, double, double, int);
|
void move2LocSignal(int, double, double, int);
|
||||||
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
||||||
void stopSignal(int);
|
void stopSignal(int);
|
||||||
@ -92,6 +92,8 @@ private:
|
|||||||
bool m_xMotorConnectionStatus = false;
|
bool m_xMotorConnectionStatus = false;
|
||||||
|
|
||||||
QPointer<OneMotorMultiPosCoordinator> m_coordinator_gonggashan_autoexpose;
|
QPointer<OneMotorMultiPosCoordinator> m_coordinator_gonggashan_autoexpose;
|
||||||
|
|
||||||
|
void loadSettings();
|
||||||
};
|
};
|
||||||
|
|
||||||
class OneMotorControl_LiftingPlatform : public QDialog, public MotorWindowBase
|
class OneMotorControl_LiftingPlatform : public QDialog, public MotorWindowBase
|
||||||
@ -125,7 +127,7 @@ public Q_SLOTS:
|
|||||||
void onBack2Origin(double pos);
|
void onBack2Origin(double pos);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void moveSignal(int, bool, double, int);
|
void moveSignal(int, double, int);
|
||||||
void move2LocSignal(int, double, double, int);
|
void move2LocSignal(int, double, double, int);
|
||||||
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
||||||
void stopSignal(int);
|
void stopSignal(int);
|
||||||
@ -152,4 +154,5 @@ private:
|
|||||||
QPointer<OneMotionCoordinator> m_coordinator;
|
QPointer<OneMotionCoordinator> m_coordinator;
|
||||||
|
|
||||||
bool m_xMotorConnectionStatus = false;
|
bool m_xMotorConnectionStatus = false;
|
||||||
|
void loadSettings();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -306,7 +306,7 @@ void TwoMotorControl::run()
|
|||||||
connect(&m_coordinatorThread, SIGNAL(finished()), m_coordinator, SLOT(deleteLater()));
|
connect(&m_coordinatorThread, SIGNAL(finished()), m_coordinator, SLOT(deleteLater()));
|
||||||
connect(this, SIGNAL(start(QVector<PathLine>)), m_coordinator, SLOT(start(QVector<PathLine>)));
|
connect(this, SIGNAL(start(QVector<PathLine>)), m_coordinator, SLOT(start(QVector<PathLine>)));
|
||||||
|
|
||||||
connect(this, SIGNAL(stopSignal()), m_coordinator, SLOT(stop()));
|
connect(this, SIGNAL(stopSignal_CaptureCoordinator()), m_coordinator, SLOT(stop()));
|
||||||
connect(m_coordinator, SIGNAL(startRecordLineNumSignal(int)), this, SLOT(receiveStartRecordLineNum(int)));
|
connect(m_coordinator, SIGNAL(startRecordLineNumSignal(int)), this, SLOT(receiveStartRecordLineNum(int)));
|
||||||
connect(m_coordinator, SIGNAL(finishRecordLineNumSignal(int)), this, SLOT(receiveFinishRecordLineNum(int)));
|
connect(m_coordinator, SIGNAL(finishRecordLineNumSignal(int)), this, SLOT(receiveFinishRecordLineNum(int)));
|
||||||
connect(m_coordinator, SIGNAL(sequenceComplete(int)), this, SLOT(onSequenceComplete(int)));
|
connect(m_coordinator, SIGNAL(sequenceComplete(int)), this, SLOT(onSequenceComplete(int)));
|
||||||
@ -352,7 +352,7 @@ void TwoMotorControl::stop_record()
|
|||||||
|
|
||||||
void TwoMotorControl::stop()
|
void TwoMotorControl::stop()
|
||||||
{
|
{
|
||||||
emit stopSignal();
|
emit stopSignal_CaptureCoordinator();
|
||||||
}
|
}
|
||||||
|
|
||||||
TwoMotorControl::~TwoMotorControl()
|
TwoMotorControl::~TwoMotorControl()
|
||||||
@ -385,14 +385,14 @@ void TwoMotorControl::connectMotor(bool isNotification)
|
|||||||
|
|
||||||
if (m_multiAxisController != nullptr)
|
if (m_multiAxisController != nullptr)
|
||||||
{
|
{
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(displayRealTimeLoc(std::vector<double>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &TwoMotorControl::displayRealTimeLoc);
|
||||||
disconnect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
disconnect(this, &TwoMotorControl::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
disconnect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
disconnect(this, qOverload<int, double, double, int>(&TwoMotorControl::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
disconnect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
disconnect(this, &TwoMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
disconnect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
disconnect(this, &TwoMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
disconnect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
disconnect(this, &TwoMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
disconnect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
disconnect(this, &TwoMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
disconnect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
disconnect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &TwoMotorControl::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.quit();
|
m_motorThread.quit();
|
||||||
m_motorThread.wait();
|
m_motorThread.wait();
|
||||||
@ -416,20 +416,20 @@ void TwoMotorControl::connectMotor(bool isNotification)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_multiAxisController->moveToThread(&m_motorThread);
|
m_multiAxisController->moveToThread(&m_motorThread);
|
||||||
connect(&m_motorThread, SIGNAL(finished()), m_multiAxisController, SLOT(deleteLater()));
|
connect(&m_motorThread, &QThread::finished, m_multiAxisController, &QObject::deleteLater);
|
||||||
|
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastLocationSignal(std::vector<double>)), this, SLOT(displayRealTimeLoc(std::vector<double>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastLocationSignal, this, &TwoMotorControl::displayRealTimeLoc);
|
||||||
|
|
||||||
connect(this, SIGNAL(moveSignal(int, bool, double, int)), m_multiAxisController, SLOT(move(int, bool, double, int)));
|
connect(this, &TwoMotorControl::moveSignal, m_multiAxisController, qOverload<int, double, int>(&IrisMultiMotorController::move));
|
||||||
connect(this, SIGNAL(move2LocSignal(int, double, double, int)), m_multiAxisController, SLOT(moveTo(int, double, double, int)));
|
connect(this, qOverload<int, double, double, int>(&TwoMotorControl::move2LocSignal), m_multiAxisController, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
connect(this, SIGNAL(stopSignal(int)), m_multiAxisController, SLOT(stop(int)));
|
connect(this, &TwoMotorControl::stopSignal, m_multiAxisController, &IrisMultiMotorController::stop);
|
||||||
|
|
||||||
connect(this, SIGNAL(zeroStartSignal(int)), m_multiAxisController, SLOT(zeroStart(int)));
|
connect(this, &TwoMotorControl::zeroStartSignal, m_multiAxisController, &IrisMultiMotorController::zeroStart);
|
||||||
|
|
||||||
connect(this, SIGNAL(rangeMeasurement(int, double, int)), m_multiAxisController, SLOT(rangeMeasurement(int, double, int)));
|
connect(this, &TwoMotorControl::rangeMeasurement, m_multiAxisController, &IrisMultiMotorController::rangeMeasurement);
|
||||||
|
|
||||||
connect(this, SIGNAL(testConnectivitySignal(int, int)), m_multiAxisController, SLOT(testConnectivity(int, int)));
|
connect(this, &TwoMotorControl::testConnectivitySignal, m_multiAxisController, &IrisMultiMotorController::testConnectivity);
|
||||||
connect(m_multiAxisController, SIGNAL(broadcastConnectivity(std::vector<int>)), this, SLOT(display_motors_connectivity(std::vector<int>)));
|
connect(m_multiAxisController, &IrisMultiMotorController::broadcastConnectivity, this, &TwoMotorControl::display_motors_connectivity);
|
||||||
|
|
||||||
m_motorThread.start();
|
m_motorThread.start();
|
||||||
emit testConnectivitySignal(0, 1000);
|
emit testConnectivitySignal(0, 1000);
|
||||||
@ -543,14 +543,14 @@ void TwoMotorControl::onxMotorRight()
|
|||||||
{
|
{
|
||||||
double s = ui.xmotor_move_speed_lineEdit->text().toDouble();
|
double s = ui.xmotor_move_speed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, false, s, 1000);
|
emit moveSignal(0, abs(s), 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwoMotorControl::onxMotorLeft()
|
void TwoMotorControl::onxMotorLeft()
|
||||||
{
|
{
|
||||||
double s = ui.xmotor_move_speed_lineEdit->text().toDouble();
|
double s = ui.xmotor_move_speed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(0, true, s, 1000);
|
emit moveSignal(0, abs(s)*-1, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwoMotorControl::onxMotorStop()
|
void TwoMotorControl::onxMotorStop()
|
||||||
@ -562,14 +562,14 @@ void TwoMotorControl::onyMotorforward()
|
|||||||
{
|
{
|
||||||
double s = ui.ymotor_move_speed_lineEdit->text().toDouble();
|
double s = ui.ymotor_move_speed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(1, false, s, 1000);
|
emit moveSignal(1, abs(s), 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwoMotorControl::onyMotorbackward()
|
void TwoMotorControl::onyMotorbackward()
|
||||||
{
|
{
|
||||||
double s = ui.ymotor_move_speed_lineEdit->text().toDouble();
|
double s = ui.ymotor_move_speed_lineEdit->text().toDouble();
|
||||||
|
|
||||||
emit moveSignal(1, true, s, 1000);
|
emit moveSignal(1, abs(s)*-1, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwoMotorControl::onyMotorStop()
|
void TwoMotorControl::onyMotorStop()
|
||||||
|
|||||||
@ -96,7 +96,7 @@ public Q_SLOTS:
|
|||||||
void stop_record();
|
void stop_record();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void moveSignal(int, bool, double, int);
|
void moveSignal(int, double, int);
|
||||||
void move2LocSignal(int, double, double, int);
|
void move2LocSignal(int, double, double, int);
|
||||||
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
|
||||||
void stopSignal(int);
|
void stopSignal(int);
|
||||||
@ -106,7 +106,7 @@ signals:
|
|||||||
void testConnectivitySignal(int, int);
|
void testConnectivitySignal(int, int);
|
||||||
|
|
||||||
void start(QVector<PathLine>);
|
void start(QVector<PathLine>);
|
||||||
void stopSignal();
|
void stopSignal_CaptureCoordinator();
|
||||||
|
|
||||||
void startLineNumSignal(int lineNum);
|
void startLineNumSignal(int lineNum);
|
||||||
void sequenceComplete(int status);//所有采集线正常运行完成
|
void sequenceComplete(int status);//所有采集线正常运行完成
|
||||||
|
|||||||
@ -859,8 +859,8 @@ MotionCaptureCoordinator::MotionCaptureCoordinator(
|
|||||||
, m_isZeroing(false)
|
, m_isZeroing(false)
|
||||||
{
|
{
|
||||||
//这些信号槽是按照逻辑顺序的
|
//这些信号槽是按照逻辑顺序的
|
||||||
connect(this, SIGNAL(moveTo(int, double, double, int)),
|
connect(this, qOverload<int, double, double, int>(&MotionCaptureCoordinator::moveTo),
|
||||||
m_motorCtrl, SLOT(moveTo(int, double, double, int)));
|
m_motorCtrl, qOverload<int, double, double, int>(&IrisMultiMotorController::moveTo));
|
||||||
|
|
||||||
connect(this, &MotionCaptureCoordinator::zeroStart,
|
connect(this, &MotionCaptureCoordinator::zeroStart,
|
||||||
m_motorCtrl, &IrisMultiMotorController::zeroStart);
|
m_motorCtrl, &IrisMultiMotorController::zeroStart);
|
||||||
@ -870,8 +870,8 @@ MotionCaptureCoordinator::MotionCaptureCoordinator(
|
|||||||
//connect(m_motorCtrl, &IrisMultiMotorController::moveFailed,
|
//connect(m_motorCtrl, &IrisMultiMotorController::moveFailed,
|
||||||
// this, &MotionCaptureCoordinator::handleError);
|
// this, &MotionCaptureCoordinator::handleError);
|
||||||
|
|
||||||
connect(this, SIGNAL(getFocusIndexSobel()),
|
connect(this, &MotionCaptureCoordinator::getFocusIndexSobel,
|
||||||
m_cameraCtrl, SLOT(getFocusIndexSobel()));
|
m_cameraCtrl, &ImagerOperationBase::getFocusIndexSobel);
|
||||||
|
|
||||||
connect(m_cameraCtrl, &ImagerOperationBase::FocusIndexSobelSignal,
|
connect(m_cameraCtrl, &ImagerOperationBase::FocusIndexSobelSignal,
|
||||||
this, &MotionCaptureCoordinator::handleCaptureComplete);
|
this, &MotionCaptureCoordinator::handleCaptureComplete);
|
||||||
|
|||||||
@ -56,7 +56,11 @@ QLabel
|
|||||||
color: #ACCDFF;
|
color: #ACCDFF;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
QRadioButton
|
||||||
|
{
|
||||||
|
color: #ACCDFF;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -80,7 +84,7 @@ QLineEdit:focus {
|
|||||||
background-color: #23345c;
|
background-color: #23345c;
|
||||||
}</string>
|
}</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2" rowstretch="1,3,1" columnstretch="1,3,1">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -112,75 +116,8 @@ QLineEdit:focus {
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>10</number>
|
<number>10</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>实时位置</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="realTimeLoc_lineEdit">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>88</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>0</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QPushButton" name="connect_btn">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>连接</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_6">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>运行速度</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="speed_lineEdit">
|
<widget class="QLineEdit" name="scanSpeed_lineEdit">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -210,7 +147,33 @@ QLineEdit:focus {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2">
|
<item row="4" column="2">
|
||||||
|
<widget class="QPushButton" name="move2loc_pushButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>移动至</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QPushButton" name="rangeMeasurement_btn">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>量程测量</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
<widget class="QPushButton" name="zero_start_btn">
|
<widget class="QPushButton" name="zero_start_btn">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
@ -223,8 +186,56 @@ QLineEdit:focus {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="5" column="1">
|
||||||
<widget class="QLabel" name="label_3">
|
<widget class="QPushButton" name="left_btn">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>←0</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="QPushButton" name="right_btn">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>→</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QLineEdit" name="move2loc_lineEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>88</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -232,7 +243,99 @@ QLineEdit:focus {
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>返回速度</string>
|
<string>扫描速度</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QPushButton" name="connect_btn">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>连接</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QWidget" name="widget" native="true">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>实时位置:</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="realTimeLoc_label">
|
||||||
|
<property name="text">
|
||||||
|
<string>null</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="manualMovementSpeed_lineEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>88</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0.1</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>手动速度</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignCenter</set>
|
<set>Qt::AlignCenter</set>
|
||||||
@ -261,113 +364,60 @@ QLineEdit:focus {
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item row="2" column="0">
|
||||||
<widget class="QPushButton" name="rangeMeasurement_btn">
|
<widget class="QLabel" name="label_3">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>量程测量</string>
|
<string>返回速度</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLineEdit" name="move2loc_lineEdit">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>88</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>0</string>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignCenter</set>
|
<set>Qt::AlignCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="2">
|
<item row="6" column="2">
|
||||||
<widget class="QPushButton" name="move2loc_pushButton">
|
<widget class="QWidget" name="widget_2" native="true">
|
||||||
<property name="sizePolicy">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<item row="0" column="0">
|
||||||
<horstretch>0</horstretch>
|
<widget class="QRadioButton" name="reverseMove_radioButton">
|
||||||
<verstretch>0</verstretch>
|
<property name="styleSheet">
|
||||||
</sizepolicy>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>移动至</string>
|
<string>反转</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QPushButton" name="left_btn">
|
<widget class="QLabel" name="motor_state_label">
|
||||||
<property name="sizePolicy">
|
<property name="maximumSize">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
<size>
|
||||||
<horstretch>0</horstretch>
|
<width>8</width>
|
||||||
<verstretch>0</verstretch>
|
<height>8</height>
|
||||||
</sizepolicy>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="sizeIncrement">
|
||||||
<string>←0</string>
|
<size>
|
||||||
</property>
|
<width>8</width>
|
||||||
</widget>
|
<height>8</height>
|
||||||
</item>
|
</size>
|
||||||
<item row="4" column="2">
|
</property>
|
||||||
<widget class="QPushButton" name="right_btn">
|
<property name="styleSheet">
|
||||||
<property name="sizePolicy">
|
<string notr="true">background-color: red;
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>→</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>状态</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="motor_state_label">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>8</width>
|
|
||||||
<height>8</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="sizeIncrement">
|
|
||||||
<size>
|
|
||||||
<width>8</width>
|
|
||||||
<height>8</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true">background-color: red;
|
|
||||||
border-radius: 4px;</string>
|
border-radius: 4px;</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@ -11,8 +11,8 @@ setWindow::setWindow(QWidget* parent)
|
|||||||
setWindowFlags(Qt::FramelessWindowHint);
|
setWindowFlags(Qt::FramelessWindowHint);
|
||||||
|
|
||||||
//顺序不能更改,和AppSettings::HyperimgDisplayMode一致
|
//顺序不能更改,和AppSettings::HyperimgDisplayMode一致
|
||||||
ui.hyperimgDisplayMode_comboBox->addItem("full");
|
ui.hyperimgDisplayMode_comboBox->addItem(QString::fromLocal8Bit("全图"));
|
||||||
ui.hyperimgDisplayMode_comboBox->addItem("waterfall");
|
ui.hyperimgDisplayMode_comboBox->addItem(QString::fromLocal8Bit("瀑布流"));
|
||||||
|
|
||||||
connect(this->ui.closeBtn, SIGNAL(released()), this, SLOT(onExit()));
|
connect(this->ui.closeBtn, SIGNAL(released()), this, SLOT(onExit()));
|
||||||
connect(this->ui.dataFolderBtn, SIGNAL(clicked()), this, SLOT(onSelectDataFolder()));
|
connect(this->ui.dataFolderBtn, SIGNAL(clicked()), this, SLOT(onSelectDataFolder()));
|
||||||
|
|||||||
Reference in New Issue
Block a user