mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-19 03:49:42 +08:00
133 lines
3.6 KiB
C++
133 lines
3.6 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
/******************************************************
|
|
* 文件名 : SensorBase.cpp
|
|
* 类名 : 设备基类
|
|
* 作用 :
|
|
* 作者 : xin
|
|
* 邮箱 : renlixin@iris-rs.cn
|
|
* 日期 : 2021-1-15
|
|
********************************************************
|
|
* *
|
|
* _ooOoo_ *
|
|
* o8888888o *
|
|
* 88" . "88 *
|
|
* (| -_- |) *
|
|
* O\ = /O *
|
|
* ____/`---'\____ *
|
|
* .' \\| |// `. *
|
|
* / \\||| : |||// \ *
|
|
* / _||||| -:- |||||- \ *
|
|
* | | \\\ - /// | | *
|
|
* | \_| ''\---/'' | | *
|
|
* \ .-\__ `-` ___/-. / *
|
|
* ___`. .' /--.--\ `. . __ *
|
|
* ."" '< `.___\_<|>_/___.' >'"". *
|
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
|
* \ \ `-. \_ __\ /__ _/ .-` / / *
|
|
* ======`-.____`-.___\_____/___.-`____.-'====== *
|
|
* `=---=' *
|
|
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
|
|
* 佛祖保佑 长发永存 *
|
|
* *
|
|
********************************************************/
|
|
///一组数据 可以delete
|
|
enum emDataType
|
|
{
|
|
DNVALUE=1,
|
|
REFVALUE=2,
|
|
DARKNESS=3
|
|
};
|
|
struct STROnePlot
|
|
{
|
|
long BandNum;
|
|
float *Plot;
|
|
bool isInit;
|
|
float temp;
|
|
float shutter;
|
|
QStringList wavelenthlist;
|
|
long maxDNvalue;
|
|
bool hasDarkCorrect;
|
|
emDataType DataType;
|
|
STROnePlot() {
|
|
BandNum = 0;
|
|
isInit = false;
|
|
hasDarkCorrect = false;
|
|
Plot = nullptr;
|
|
DataType = DNVALUE;
|
|
}
|
|
~STROnePlot() {
|
|
if (!isInit)
|
|
{
|
|
delete[] Plot;
|
|
isInit = false;
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
struct STRSensorInfo
|
|
{
|
|
QString SensorName;
|
|
long maxValue;
|
|
long BandNum;
|
|
QString WavelenthStr;
|
|
QStringList wavelenthlist;
|
|
//double *wavelenth;
|
|
bool isSensorInit;
|
|
QString serialnumber;
|
|
|
|
};
|
|
|
|
class SensorBase : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
SensorBase();
|
|
virtual ~SensorBase();
|
|
//************************************
|
|
// Method: 初始化传感器
|
|
// FullName: SensorBase::initSensor
|
|
// Access: virtual public
|
|
// Returns: void
|
|
// Qualifier:
|
|
//************************************
|
|
virtual bool initSensor(int id=0)=0;
|
|
//************************************
|
|
// Method: Settingshuttertime 设置积分时间
|
|
// FullName: SensorBase::Settingshuttertime
|
|
// Access: virtual public
|
|
// Returns: void
|
|
// Qualifier:
|
|
// Parameter: int msc
|
|
//************************************
|
|
virtual void Settingshuttertime(float msc)=0;
|
|
//************************************
|
|
// Method: SettingTemprature 设置温度
|
|
// FullName: SensorBase::SettingTemprature
|
|
// Access: virtual public
|
|
// Returns: void
|
|
// Qualifier:
|
|
// Parameter: float temp
|
|
//************************************
|
|
virtual void SettingTemprature(float temp)=0;
|
|
virtual float GettingTempratrue() = 0;
|
|
virtual STRSensorInfo GetSensorInfo()=0;
|
|
virtual void SettingShutterOpen(bool isopen)=0;
|
|
virtual void SettingSwitchShutter(bool isright)=0;
|
|
virtual void GetOnePlot(STROnePlot &OnePlot,bool Dark=false)=0;
|
|
virtual void CloseSensor()=0;
|
|
|
|
virtual void GetOneDark(STROnePlot &darkplot) = 0;
|
|
|
|
|
|
|
|
QString SensorType;
|
|
int Sensorid;
|
|
STRSensorInfo SensorInfo;
|
|
STROnePlot DarkNess;
|
|
|
|
};
|