山地所贡嘎山2:(1)右下角添加控制is11的界面(2)添加轮播看板显示is11的光谱;
This commit is contained in:
tangchao0503
2026-07-06 15:10:28 +08:00
parent cb5a74f576
commit 7ded94c2a4
7 changed files with 39 additions and 31 deletions

View File

@ -100,3 +100,18 @@ void AppSettings::setDepthCameraDataFolder(const QString& path)
{ {
m_settings.setValue("General/DepthCameraDataFolder", 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);
}

View File

@ -34,6 +34,9 @@ public:
// 深度相机数据保存路径 // 深度相机数据保存路径
QString depthCameraDataFolder() const; QString depthCameraDataFolder() const;
void setDepthCameraDataFolder(const QString& path); void setDepthCameraDataFolder(const QString& path);
QString FiberImagerDataFolder() const;
void setFiberImagerDataFolder(const QString& path);
// 在此处添加更多参数的 getter/setter ... // 在此处添加更多参数的 getter/setter ...
private: private:

View File

@ -10,8 +10,8 @@ FodisWindow::FodisWindow(QWidget* parent)
m_JinspFiberImagerOperation->moveToThread(m_FiberImagerThread); m_JinspFiberImagerOperation->moveToThread(m_FiberImagerThread);
m_FiberImagerThread->start(); m_FiberImagerThread->start();
connect(ui.open_btn, &QPushButton::clicked, this, &FodisWindow::openDepthCamera); connect(ui.open_btn, &QPushButton::clicked, this, &FodisWindow::openFiberImager);
connect(ui.close_btn, &QPushButton::clicked, this, &FodisWindow::closeDepthCamera); connect(ui.close_btn, &QPushButton::clicked, this, &FodisWindow::closeFiberImager);
connect(this, &FodisWindow::openFiberImagerSignal, m_JinspFiberImagerOperation, &JinspFiberImager::OpenFiberImagerAndRecord); connect(this, &FodisWindow::openFiberImagerSignal, m_JinspFiberImagerOperation, &JinspFiberImager::OpenFiberImagerAndRecord);
@ -25,6 +25,8 @@ FodisWindow::FodisWindow(QWidget* parent)
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> AppSettings <20>ָ<EFBFBD><D6B8><EFBFBD>ʹ<EFBFBD><CAB9>Ĭ<EFBFBD>ϣ<EFBFBD> // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> AppSettings <20>ָ<EFBFBD><D6B8><EFBFBD>ʹ<EFBFBD><CAB9>Ĭ<EFBFBD>ϣ<EFBFBD>
ui.dataFolderLineEdit->setText(AppSettings::instance().depthCameraDataFolder()); ui.dataFolderLineEdit->setText(AppSettings::instance().depthCameraDataFolder());
setDataFolder(AppSettings::instance().FiberImagerDataFolder());
} }
FodisWindow::~FodisWindow() FodisWindow::~FodisWindow()
@ -49,7 +51,7 @@ void FodisWindow::setDataFolder(QString dir)
if (!dir.isEmpty()) if (!dir.isEmpty())
{ {
ui.dataFolderLineEdit->setText(dir); 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); m_JinspFiberImagerOperation->setCaptureInterval(captureIntervalSeconds);
} }
void FodisWindow::openDepthCamera() void FodisWindow::openFiberImager()
{ {
if (!m_JinspFiberImagerOperation->getRecordStatus()) if (!m_JinspFiberImagerOperation->getRecordStatus())
{ {
@ -74,7 +76,7 @@ void FodisWindow::onCamOpened()
ui.open_btn->setText(QString::fromLocal8Bit("<EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD>")); ui.open_btn->setText(QString::fromLocal8Bit("<EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD>"));
} }
void FodisWindow::closeDepthCamera() void FodisWindow::closeFiberImager()
{ {
m_JinspFiberImagerOperation->disconnectFiberSpectrometer(); m_JinspFiberImagerOperation->disconnectFiberSpectrometer();
} }

View File

@ -30,9 +30,9 @@ public:
void setCaptureInterval(int captureIntervalSeconds); void setCaptureInterval(int captureIntervalSeconds);
public Q_SLOTS: public Q_SLOTS:
void openDepthCamera(); void openFiberImager();
void onCamOpened(); void onCamOpened();
void closeDepthCamera(); void closeFiberImager();
void onCamClosed(); void onCamClosed();
void onSelectDataFolder(); void onSelectDataFolder();

View File

@ -1,4 +1,4 @@
// //
// Created by 73505 on 2023/5/7. // Created by 73505 on 2023/5/7.
// //
@ -12,9 +12,6 @@ JinspFiberImager::JinspFiberImager(bool bIsUSBMode, std::string ucPortNumber, st
m_record = false; m_record = false;
m_captureTimer = new QTimer(this);
connect(m_captureTimer, &QTimer::timeout, this, &JinspFiberImager::recordSpectral);
m_captureIntervalMilliseconds = 5 * 1000; m_captureIntervalMilliseconds = 5 * 1000;
} }
@ -64,10 +61,6 @@ void JinspFiberImager::connectFiberSpectrometer(QString& SN, QString& pixelCount
void JinspFiberImager::disconnectFiberSpectrometer() void JinspFiberImager::disconnectFiberSpectrometer()
{ {
m_FiberSpectrometer->Close();
m_captureTimer->stop();
m_record = false; m_record = false;
} }
@ -294,19 +287,15 @@ void JinspFiberImager::OpenFiberImagerAndRecord()
//曝光 //曝光
autoExpose(); autoExpose();
//定时采集 //采集
if (m_captureTimer && !m_captureTimer->isActive())
{
m_captureTimer->start(m_captureIntervalMilliseconds);
}
m_record = true; m_record = true;
} while (m_record)
void JinspFiberImager::recordSpectral()
{ {
//recordDark("D:\\0tmp\\is11"); recordTarget(1, AppSettings::instance().FiberImagerDataFolder());
recordTarget(1, "D:\\0tmp\\is11"); QThread::msleep(m_captureIntervalMilliseconds);
}
std::cout << "close.........." << std::endl;
m_FiberSpectrometer->Close();
} }

View File

@ -1,4 +1,4 @@
// //
// Created by 73505 on 2023/5/7. // Created by 73505 on 2023/5/7.
// //
#pragma once #pragma once
@ -12,6 +12,7 @@
#include "JinspSpectralmeterControl.h" #include "JinspSpectralmeterControl.h"
#include "FiberSpectrometerOperationBase.h" #include "FiberSpectrometerOperationBase.h"
#include "utility_tc.h" #include "utility_tc.h"
#include "AppSettings.h"
class JinspFiberImager :public QObject,public FiberSpectrometerOperationBase class JinspFiberImager :public QObject,public FiberSpectrometerOperationBase
{ {
@ -51,7 +52,6 @@ private:
bool m_record; bool m_record;
int m_captureIntervalMilliseconds; int m_captureIntervalMilliseconds;
QTimer* m_captureTimer; // <20><><EFBFBD>ն<EFBFBD>ʱ<EFBFBD><CAB1>
// ZZ_U32 m_MaxValueOfFiberSpectrometer; // ZZ_U32 m_MaxValueOfFiberSpectrometer;
@ -61,7 +61,6 @@ public slots:
void autoExpose(); void autoExpose();
void OpenFiberImagerAndRecord(); void OpenFiberImagerAndRecord();
void recordSpectral();
signals: signals:
void sendExposureTimeSignal(int exposureTime); void sendExposureTimeSignal(int exposureTime);

View File

@ -62,7 +62,7 @@ int JinspSpectralmeterControl::Initialize(bool bIsUSBMode, std::string ucPortNum
void JinspSpectralmeterControl::Close() void JinspSpectralmeterControl::Close()
{ {
m_pSerialPort->close();
} }
int JinspSpectralmeterControl::SingleShot(DataFrame& dfData) int JinspSpectralmeterControl::SingleShot(DataFrame& dfData)