133 lines
3.6 KiB
C
133 lines
3.6 KiB
C
|
#pragma once
|
|||
|
|
|||
|
#include <QObject>
|
|||
|
/******************************************************
|
|||
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD> : SensorBase.cpp
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> :
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : xin
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : renlixin@iris-rs.cn
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> : 2021-1-15
|
|||
|
********************************************************
|
|||
|
* *
|
|||
|
* _ooOoo_ *
|
|||
|
* o8888888o *
|
|||
|
* 88" . "88 *
|
|||
|
* (| -_- |) *
|
|||
|
* O\ = /O *
|
|||
|
* ____/`---'\____ *
|
|||
|
* .' \\| |// `. *
|
|||
|
* / \\||| : |||// \ *
|
|||
|
* / _||||| -:- |||||- \ *
|
|||
|
* | | \\\ - /// | | *
|
|||
|
* | \_| ''\---/'' | | *
|
|||
|
* \ .-\__ `-` ___/-. / *
|
|||
|
* ___`. .' /--.--\ `. . __ *
|
|||
|
* ."" '< `.___\_<|>_/___.' >'"". *
|
|||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
|||
|
* \ \ `-. \_ __\ /__ _/ .-` / / *
|
|||
|
* ======`-.____`-.___\_____/___.-`____.-'====== *
|
|||
|
* `=---=' *
|
|||
|
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD>汣<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *
|
|||
|
* *
|
|||
|
********************************************************/
|
|||
|
///һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>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: <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// FullName: SensorBase::initSensor
|
|||
|
// Access: virtual public
|
|||
|
// Returns: void
|
|||
|
// Qualifier:
|
|||
|
//************************************
|
|||
|
virtual bool initSensor(int id=0)=0;
|
|||
|
//************************************
|
|||
|
// Method: Settingshuttertime <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
// FullName: SensorBase::Settingshuttertime
|
|||
|
// Access: virtual public
|
|||
|
// Returns: void
|
|||
|
// Qualifier:
|
|||
|
// Parameter: int msc
|
|||
|
//************************************
|
|||
|
virtual void Settingshuttertime(float msc)=0;
|
|||
|
//************************************
|
|||
|
// Method: SettingTemprature <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
|||
|
// 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;
|
|||
|
|
|||
|
};
|