1. 读写配置文件类(Configfile):1)修复一些返回值bug,2)添加读写 裁剪有效窗口的参数 的函数getEffectiveWindowRoi;

2. 在没有采集数据时,读取ximea温度,并写入到csv文件中;
3. 在另外的工程更新了ximea控制类(Iris::IrisXimeaImager),并在此工程加入此更新:从获取的有效窗口中裁剪需要的数据,m_imager.setEffectiveWindowRoi();
4. 在函数XimeaImager::processXiApiErrorCodes中,增加处理ximea错误码12;
This commit is contained in:
tangchao0503
2022-08-15 17:36:19 +08:00
parent 84882c5edb
commit 8aa402bd5d
5 changed files with 226 additions and 54 deletions

View File

@ -10,6 +10,9 @@
#include <cstdlib>
#include <libconfig.h++>
#include <QFileInfo>
#include <QString>
using namespace std;
using namespace libconfig;
@ -19,22 +22,19 @@ class Configfile
public:
Configfile();
void setConfigfilePath(string configfilePath);
int parseConfigfile();
bool isConfigfileExist();
bool parseConfigfile();
bool getBin(int &bin);
bool getEffectiveWindow(int &width, int &offsetx, int &height, int &offsety);
bool getEffectiveWindowRoi(int &width, int &offsetx);
bool getGainOffset(float &gain, float &offset);
int createConfigFile();
int updateConfigFile();
bool createConfigFile();
bool updateConfigFile();
private:
string m_configfilePath;
Config cfg;
};
#endif //XIMEAIMAGERECORDER_CONFIGFILE_H

View File

@ -27,6 +27,7 @@
#include <exception>
#include <QObject>
#include <QDateTime>
#include <qthread.h>
#include "configfile.h"
@ -42,6 +43,26 @@
//#include <m3api/xiApi.h> // Linux, OSX
//#endif
class RecordXimeaTemperature : public QObject
{
Q_OBJECT
public:
RecordXimeaTemperature(Iris::IrisXimeaImager * imager);
void stopRecordTemperature();
private:
Iris::IrisXimeaImager * m_imager;
bool m_bIsRecord;
public slots:
void recordTemperature(QString filePath);
signals:
};
class XimeaImager : public QObject
{
Q_OBJECT
@ -74,7 +95,11 @@ private:
int m_iImagerState;
int m_iImagerStateTemp;
QThread * m_recordTempThread;
RecordXimeaTemperature * m_ximeaTemperature;
QString m_baseFileName;
QString m_ximeaTemperatureCSVPath;
Iris::IrisXimeaImager m_imager;
unsigned short * m_buffer;
@ -115,5 +140,7 @@ public slots:
signals:
void recordFinished();
void ximeaImageStatus(int);
void recordXimeaTemperatureSignal(QString);
};
#endif // XIMEAIMAGER_H