Files
HPPA/HPPA/TwoMotorControl.h
2025-10-13 14:17:26 +08:00

98 lines
2.3 KiB
C++

#pragma once
#include <QThread>
#include <QMessageBox>
#include <QFileDialog>
#include "ui_twoMotorControl.h"
#include "IrisMultiMotorController.h"
#include "fileOperation.h"
#include "CaptureCoordinator.h"
#define PI 3.1415926
class TwoMotorControl : public QDialog
{
Q_OBJECT
public:
TwoMotorControl(QWidget* parent = nullptr);
~TwoMotorControl();
void setImager(ImagerOperationBase* imager);
void setPosFileName(QString posFileName);
void record_dark();
void record_white();
private:
ImagerOperationBase* m_Imager;
bool getState();
bool isWritePosFile = false;
QString m_posFileName;
FILE* m_posFileHandle;
public Q_SLOTS:
void onConnectMotor();
void displayRealTimeLoc(std::vector<double> loc);
void display_motors_connectivity(std::vector<int> connectivity);
//void onxMove2Loc();
void zeroStart();
void on_rangeMeasurement();
void onxMotorRight();
void onxMotorLeft();
void onxMotorStop();
void onxMove2Loc();
void onyMotorforward();
void onyMotorbackward();
void onyMotorStop();
void onyMove2Loc();
void onAddRecordLine_btn();
void onRemoveRecordLine_btn();
void onGenerateRecordLine_btn();
void onDeleteRecordLine_btn();
void onSaveRecordLine2File_btn();
void onReadRecordLineFile_btn();
void run();
void stop();
void receiveStartRecordLineNum(int lineNum);
void receiveFinishRecordLineNum(int lineNum);
void onSequenceComplete();
signals:
void moveSignal(int, bool, double, int);
void move2LocSignal(int, double, double, int);
void move2LocSignal(const std::vector<double>, const std::vector<double>, int);
void stopSignal(int);
void rangeMeasurement(int, double, int);
void zeroStartSignal(int);
void testConnectivitySignal(int, int);
void start(QVector<PathLine>);
void stopSignal();
void startLineNumSignal(int lineNum);
void sequenceComplete();//所有采集线正常运行完成
private:
Ui::twoMotorControl_UI ui;
QThread m_coordinatorThread;
TwoMotionCaptureCoordinator* m_coordinator = nullptr;
DarkAndWhiteCaptureCoordinator* m_darkCaptureCoordinator = nullptr;
DarkAndWhiteCaptureCoordinator* m_whiteCaptureCoordinator = nullptr;
QThread m_motorThread;
IrisMultiMotorController* m_multiAxisController;
};