#pragma once
#pragma execution_character_set("utf-8")
/******************************************************
* 文件名   : SensorOptoSky.h	
* 类名     : 
* 作用     :
* 作者     : xin	
* 邮箱     : renlixin@iris-rs.cn 	
* 日期     : 2021-2-22
********************************************************
*                                                      *
*                           _ooOoo_                    *
*                          o8888888o                   *
*                          88" . "88                   *
*                          (| -_- |)                   *
*                          O\  =  /O                   *
*                       ____/`---'\____                *
*                     .'  \\|     |//  `.              *
*                    /  \\|||  :  |||//  \             *
*                   /  _||||| -:- |||||-  \            *
*                   |   | \\\  -  /// |   |            *
*                   | \_|  ''\---/''  |   |            *
*                   \  .-\__  `-`  ___/-. /            *
*                 ___`. .'  /--.--\  `. . __           *
*              ."" '<  `.___\_<|>_/___.'  >'"".        *
*             | | :  `- \`.;`\ _ /`;.`/ - ` : | |      *
*             \  \ `-.   \_ __\ /__ _/   .-` /  /      *
*        ======`-.____`-.___\_____/___.-`____.-'====== *
*                           `=---='                    *
*        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
*                 佛祖保佑       长发永存              *
*                                                      *
********************************************************/



#include <SensorBase.h>
enum OPTOSENSORTYPE
{
	ATP6500 = 1
};
class SensorOptoSky : public SensorBase
{
	Q_OBJECT
	
public:
	SensorOptoSky(OPTOSENSORTYPE type, QString comname);
	SensorOptoSky(OPTOSENSORTYPE type, QString comname, qint32 bandrate);
	bool initSensor(int id = 0);
    void Settingshuttertime(float msc) ;
	//************************************
	// Method:    SettingTemprature 设置温度
	// FullName:  SensorBase::SettingTemprature
	// Access:    virtual public 
	// Returns:   void
	// Qualifier:
	// Parameter: float temp
	//************************************
	 void SettingTemprature(float temp);
	float GettingTempratrue() ;
	STRSensorInfo GetSensorInfo();
	void SettingShutterOpen(bool isopen);
	void SettingSwitchShutter(bool isright);
	void GetOnePlot(STROnePlot &OnePlot, bool Dark=false) ;
	 void CloseSensor() ;

	 void GetOneDark(STROnePlot &darkplot);


	
	OPTOSENSORTYPE sensortype;
	QString COMname;
	qint32 BandRate;
	~SensorOptoSky();
private:
	void RemoveHeaderandEnd(QByteArray &buf);
    void getwavelenthlist( STRSensorInfo &se);
	QByteArray shutter;
	int shuttertime;

};
