From a341e0b2c509bd321c4e10a35cfb6709a2b0e229 Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Wed, 13 Sep 2023 17:08:17 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E9=87=87=E9=9B=86=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E4=B8=AD=E5=90=8C=E6=97=B6=E8=AE=B0=E5=BD=95=E7=9B=B8?= =?UTF-8?q?=E6=9C=BA=E6=B8=A9=E5=BA=A6=EF=BC=8C=E9=AB=98=E4=BA=8E80?= =?UTF-8?q?=E5=BA=A6=E5=81=9C=E6=AD=A2=E9=87=87=E9=9B=86=EF=BC=8C=E9=AB=98?= =?UTF-8?q?=E4=BA=8E90=E5=BA=A6=E7=B3=BB=E7=BB=9F=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Header_Files/ximeaimager.h | 4 +++- Source_Files/ximeaimager.cpp | 33 +++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/Header_Files/ximeaimager.h b/Header_Files/ximeaimager.h index 3763ec3..6170bd0 100644 --- a/Header_Files/ximeaimager.h +++ b/Header_Files/ximeaimager.h @@ -70,12 +70,13 @@ private: }; +class XimeaImager; class RecordXimeaTemperature : public QObject { Q_OBJECT public: - RecordXimeaTemperature(Iris::IrisXimeaImager * imager); + RecordXimeaTemperature(Iris::IrisXimeaImager * imager, XimeaImager * ximeaImager); void stopRecordTemperature(); @@ -83,6 +84,7 @@ private: Iris::IrisXimeaImager * m_imager; bool m_bIsRecord; + XimeaImager * m_ximeaImager; public slots: void recordTemperature(QString filePath); diff --git a/Source_Files/ximeaimager.cpp b/Source_Files/ximeaimager.cpp index d04bf7e..2b65f66 100644 --- a/Source_Files/ximeaimager.cpp +++ b/Source_Files/ximeaimager.cpp @@ -35,7 +35,7 @@ XimeaImager::XimeaImager() m_parameterConfigfile.parseConfigfile(); m_recordTempThread=new QThread(); - m_ximeaTemperature = new RecordXimeaTemperature(&m_imager); + m_ximeaTemperature = new RecordXimeaTemperature(&m_imager, this); m_ximeaTemperature->moveToThread(m_recordTempThread); m_recordTempThread->start(); @@ -155,7 +155,7 @@ void XimeaImager::openImger() QDateTime curDateTime = QDateTime::currentDateTime(); QString currentTime = curDateTime.toString("yyyy_MM_dd_hh_mm_ss"); - m_ximeaTemperatureCSVPath = QDir::cleanPath(QString::fromStdString("/home/programRunLog/hyperspectralLog") + QDir::separator() + "ximeaTemperature_" + currentTime + ".csv"); + m_ximeaTemperatureCSVPath = QDir::cleanPath(QString::fromStdString("/media/nvme/300TC/programRunLog/ximeaTemperature") + QDir::separator() + "ximeaTemperature_" + currentTime + ".csv"); // m_ximeaTemperatureCSVPath = "/home/ximeaTemperature.csv"; emit recordXimeaTemperatureSignal(m_ximeaTemperatureCSVPath); } @@ -547,7 +547,6 @@ double XimeaImager::calculateTimeDifferenceBetweenSbgAndximea(XI_IMG * image, do void XimeaImager::startRecord(double TimeDifferenceBetweensOSAndSbg,QString baseFileName) { - m_ximeaTemperature->stopRecordTemperature();//开始采集影像前,停止获取相机的温度,以免降低帧率; try { if(m_iImagerState <= 99 || m_iImagerState==100 || m_iImagerState==104) @@ -664,7 +663,7 @@ void XimeaImager::startRecord(double TimeDifferenceBetweensOSAndSbg,QString base double frameLossRate = frameLossed / m_imager.m_image.acq_nframe; std::cout<<"当前采集文件为: "< fileInfo = getFileInfo(filePath); + bool ret = createDir(fileInfo[0]); + ofstream ximeaTemperatureFile(filePath.toStdString().c_str(),ios::app); + int counter = 0; while(m_bIsRecord) { + counter++; + float temp = m_imager->getTemperature(); + if(temp > 80 && m_ximeaImager->getImagerState() == 104) + { + system("/home/300tc/projects/udpClient/udpClient 127.0.0.1 9,0"); + } + if(temp > 90) + { + system("/home/300tc/projects/udpClient/udpClient 127.0.0.1 2"); + } QDateTime curDateTime = QDateTime::currentDateTime(); QString currentTime = curDateTime.toString("yyyy/MM/dd hh:mm:ss"); @@ -945,7 +957,12 @@ void RecordXimeaTemperature::recordTemperature(QString filePath= nullptr) ximeaTemperatureFile << currentTime.toStdString() << "," << temp << "\n"; // std::cout<<"RecordXimeaTemperature::recordTemperature----------------:ximea Temperature is "<< temp <getImagerState() <