From 7ded94c2a45d523f1d7bfc20214cb4bcf3a99d59 Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Mon, 6 Jul 2026 15:10:28 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=20=E5=B1=B1=E5=9C=B0=E6=89=80?= =?UTF-8?q?=E8=B4=A1=E5=98=8E=E5=B1=B12=EF=BC=9A=EF=BC=881=EF=BC=89?= =?UTF-8?q?=E5=8F=B3=E4=B8=8B=E8=A7=92=E6=B7=BB=E5=8A=A0=E6=8E=A7=E5=88=B6?= =?UTF-8?q?is11=E7=9A=84=E7=95=8C=E9=9D=A2=EF=BC=882=EF=BC=89=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BD=AE=E6=92=AD=E7=9C=8B=E6=9D=BF=E6=98=BE=E7=A4=BA?= =?UTF-8?q?is11=E7=9A=84=E5=85=89=E8=B0=B1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HPPA/AppSettings.cpp | 15 ++++++++++ HPPA/AppSettings.h | 3 ++ HPPA/FodisWindow.cpp | 12 ++++---- HPPA/FodisWindow.h | 4 +-- HPPA/JinspFiberImager.cpp | 29 ++++++------------- HPPA/JinspFiberImager.h | 5 ++-- .../JinspSpectralmeterControl.cpp | 2 +- 7 files changed, 39 insertions(+), 31 deletions(-) diff --git a/HPPA/AppSettings.cpp b/HPPA/AppSettings.cpp index c735ab9..2aa1025 100644 --- a/HPPA/AppSettings.cpp +++ b/HPPA/AppSettings.cpp @@ -100,3 +100,18 @@ void AppSettings::setDepthCameraDataFolder(const QString& path) { m_settings.setValue("General/DepthCameraDataFolder", path); } + +QString AppSettings::FiberImagerDataFolder() const +{ + QString path = m_settings.value("General/FiberImagerDataFolder").toString(); + if (path.isEmpty()) + { + return QCoreApplication::applicationDirPath() + "/CapturedFiberImagerData/"; + } + return path; +} + +void AppSettings::setFiberImagerDataFolder(const QString& path) +{ + m_settings.setValue("General/FiberImagerDataFolder", path); +} diff --git a/HPPA/AppSettings.h b/HPPA/AppSettings.h index 0bdfe32..09e990b 100644 --- a/HPPA/AppSettings.h +++ b/HPPA/AppSettings.h @@ -34,6 +34,9 @@ public: // 深度相机数据保存路径 QString depthCameraDataFolder() const; void setDepthCameraDataFolder(const QString& path); + + QString FiberImagerDataFolder() const; + void setFiberImagerDataFolder(const QString& path); // 在此处添加更多参数的 getter/setter ... private: diff --git a/HPPA/FodisWindow.cpp b/HPPA/FodisWindow.cpp index 17a7790..297b4d7 100644 --- a/HPPA/FodisWindow.cpp +++ b/HPPA/FodisWindow.cpp @@ -10,8 +10,8 @@ FodisWindow::FodisWindow(QWidget* parent) m_JinspFiberImagerOperation->moveToThread(m_FiberImagerThread); m_FiberImagerThread->start(); - connect(ui.open_btn, &QPushButton::clicked, this, &FodisWindow::openDepthCamera); - connect(ui.close_btn, &QPushButton::clicked, this, &FodisWindow::closeDepthCamera); + connect(ui.open_btn, &QPushButton::clicked, this, &FodisWindow::openFiberImager); + connect(ui.close_btn, &QPushButton::clicked, this, &FodisWindow::closeFiberImager); connect(this, &FodisWindow::openFiberImagerSignal, m_JinspFiberImagerOperation, &JinspFiberImager::OpenFiberImagerAndRecord); @@ -25,6 +25,8 @@ FodisWindow::FodisWindow(QWidget* parent) // ʼݱ·ʾ AppSettings ָʹĬϣ ui.dataFolderLineEdit->setText(AppSettings::instance().depthCameraDataFolder()); + + setDataFolder(AppSettings::instance().FiberImagerDataFolder()); } FodisWindow::~FodisWindow() @@ -49,7 +51,7 @@ void FodisWindow::setDataFolder(QString dir) if (!dir.isEmpty()) { ui.dataFolderLineEdit->setText(dir); - AppSettings::instance().setDepthCameraDataFolder(dir); + AppSettings::instance().setFiberImagerDataFolder(dir); } } @@ -58,7 +60,7 @@ void FodisWindow::setCaptureInterval(int captureIntervalSeconds) m_JinspFiberImagerOperation->setCaptureInterval(captureIntervalSeconds); } -void FodisWindow::openDepthCamera() +void FodisWindow::openFiberImager() { if (!m_JinspFiberImagerOperation->getRecordStatus()) { @@ -74,7 +76,7 @@ void FodisWindow::onCamOpened() ui.open_btn->setText(QString::fromLocal8Bit("Ѵ")); } -void FodisWindow::closeDepthCamera() +void FodisWindow::closeFiberImager() { m_JinspFiberImagerOperation->disconnectFiberSpectrometer(); } diff --git a/HPPA/FodisWindow.h b/HPPA/FodisWindow.h index b3147ea..9e3de9d 100644 --- a/HPPA/FodisWindow.h +++ b/HPPA/FodisWindow.h @@ -30,9 +30,9 @@ public: void setCaptureInterval(int captureIntervalSeconds); public Q_SLOTS: - void openDepthCamera(); + void openFiberImager(); void onCamOpened(); - void closeDepthCamera(); + void closeFiberImager(); void onCamClosed(); void onSelectDataFolder(); diff --git a/HPPA/JinspFiberImager.cpp b/HPPA/JinspFiberImager.cpp index 651f86e..9ed4027 100644 --- a/HPPA/JinspFiberImager.cpp +++ b/HPPA/JinspFiberImager.cpp @@ -1,4 +1,4 @@ -// +// // Created by 73505 on 2023/5/7. // @@ -12,9 +12,6 @@ JinspFiberImager::JinspFiberImager(bool bIsUSBMode, std::string ucPortNumber, st m_record = false; - m_captureTimer = new QTimer(this); - connect(m_captureTimer, &QTimer::timeout, this, &JinspFiberImager::recordSpectral); - m_captureIntervalMilliseconds = 5 * 1000; } @@ -64,10 +61,6 @@ void JinspFiberImager::connectFiberSpectrometer(QString& SN, QString& pixelCount void JinspFiberImager::disconnectFiberSpectrometer() { - m_FiberSpectrometer->Close(); - - m_captureTimer->stop(); - m_record = false; } @@ -294,19 +287,15 @@ void JinspFiberImager::OpenFiberImagerAndRecord() //曝光 autoExpose(); - //定时采集 - - if (m_captureTimer && !m_captureTimer->isActive()) + //采集 + m_record = true; + while (m_record) { - m_captureTimer->start(m_captureIntervalMilliseconds); + recordTarget(1, AppSettings::instance().FiberImagerDataFolder()); + + QThread::msleep(m_captureIntervalMilliseconds); } - m_record = true; -} - -void JinspFiberImager::recordSpectral() -{ - //recordDark("D:\\0tmp\\is11"); - - recordTarget(1, "D:\\0tmp\\is11"); + std::cout << "close.........." << std::endl; + m_FiberSpectrometer->Close(); } diff --git a/HPPA/JinspFiberImager.h b/HPPA/JinspFiberImager.h index 1cb873a..f8b07cd 100644 --- a/HPPA/JinspFiberImager.h +++ b/HPPA/JinspFiberImager.h @@ -1,4 +1,4 @@ -// +// // Created by 73505 on 2023/5/7. // #pragma once @@ -12,6 +12,7 @@ #include "JinspSpectralmeterControl.h" #include "FiberSpectrometerOperationBase.h" #include "utility_tc.h" +#include "AppSettings.h" class JinspFiberImager :public QObject,public FiberSpectrometerOperationBase { @@ -51,7 +52,6 @@ private: bool m_record; int m_captureIntervalMilliseconds; - QTimer* m_captureTimer; // նʱ // ZZ_U32 m_MaxValueOfFiberSpectrometer; @@ -61,7 +61,6 @@ public slots: void autoExpose(); void OpenFiberImagerAndRecord(); - void recordSpectral(); signals: void sendExposureTimeSignal(int exposureTime); diff --git a/JinspSpectralmeterControl/JinspSpectralmeterControl.cpp b/JinspSpectralmeterControl/JinspSpectralmeterControl.cpp index 457333d..516d1fd 100644 --- a/JinspSpectralmeterControl/JinspSpectralmeterControl.cpp +++ b/JinspSpectralmeterControl/JinspSpectralmeterControl.cpp @@ -62,7 +62,7 @@ int JinspSpectralmeterControl::Initialize(bool bIsUSBMode, std::string ucPortNum void JinspSpectralmeterControl::Close() { - + m_pSerialPort->close(); } int JinspSpectralmeterControl::SingleShot(DataFrame& dfData)