Files
TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/ATPControl_Serial_QT.h

99 lines
2.6 KiB
C
Raw Normal View History

2022-01-14 14:26:03 +08:00
//////////////////////////////////////////////////////////////////////////
2022-01-19 14:55:01 +08:00
//ATP<54><50><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
2022-01-14 14:26:03 +08:00
//////////////////////////////////////////////////////////////////////////
#pragma once
//#include "pch.h"
#include "ZZ_Types.h"
#include "ZZ_Math.h"
#include <QSerialPort>
2022-01-19 14:55:01 +08:00
#include <QtEndian>
#include <QDebug>
2022-01-14 14:26:03 +08:00
#include "IrisFiberSpectrometerBase.h"
using namespace ZZ_MISCDEF;
using namespace ZZ_MISCDEF::ATP;
using namespace ZZ_MISCDEF::IRIS::FS;
2022-01-19 14:55:01 +08:00
class ZZ_ATPControl_Serial_Qt :public CIrisFSBase
2022-01-14 14:26:03 +08:00
{
2022-01-19 14:55:01 +08:00
Q_OBJECT
2022-01-14 14:26:03 +08:00
public:
2022-01-19 14:55:01 +08:00
ZZ_ATPControl_Serial_Qt(QObject* parent = nullptr);
2022-01-14 14:26:03 +08:00
virtual ~ZZ_ATPControl_Serial_Qt();
public:
2022-01-19 14:55:01 +08:00
//do not call
//int ReInit();
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
2022-01-14 14:26:03 +08:00
//int SetBaudRate(int iBaud);
2022-01-19 14:55:01 +08:00
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>
2022-01-14 14:26:03 +08:00
int Initialize(bool bIsUSBMode, std::string ucPortNumber, std::string strDeviceName);
2022-01-19 14:55:01 +08:00
//<2F>ر<EFBFBD><D8B1>
2022-01-14 14:26:03 +08:00
void Close();
2022-01-19 14:55:01 +08:00
//<2F><><EFBFBD>β<EFBFBD><CEB2>Բɼ<D4B2> <20><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int SingleShot(int& iPixels);
2022-01-14 14:26:03 +08:00
2022-01-19 14:55:01 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
int SingleShot(DataFrame& dfData);
2022-01-14 14:26:03 +08:00
2022-01-19 14:55:01 +08:00
//<2F><><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
2022-01-14 14:26:03 +08:00
//int SingleShotDark(ATPDataFrame &dfData);
//int SingleShotDeducted(ATPDataFrame &dfData);
2022-01-19 14:55:01 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ʱ<EFBFBD><CAB1>
2022-01-14 14:26:03 +08:00
int SetExposureTime(int iExposureTimeInMS);
2022-01-19 14:55:01 +08:00
//<2F><>ȡ<EFBFBD>ع<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int GetExposureTime(int& iExposureTimeInMS);
2022-01-14 14:26:03 +08:00
//int GetWaveLength(float *pfWaveLength);
2022-01-19 14:55:01 +08:00
//<2F><>ȡ<EFBFBD><EFBFBD><E8B1B8>Ϣ
int GetDeviceInfo(DeviceInfo& Info);
2022-01-14 14:26:03 +08:00
2022-01-19 14:55:01 +08:00
//<2F><>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int GetDeviceAttribute(DeviceAttribute& Attr);
2022-01-14 14:26:03 +08:00
//int GetDeviceListInfo(); //use type name to enum
2022-01-19 14:55:01 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2022-01-14 14:26:03 +08:00
int SetDeviceTemperature(float fTemperature);
2022-01-19 14:55:01 +08:00
//<2F><>ȡ<EFBFBD><EFBFBD>
int GetDeviceTemperature(float& fTemperature);
2022-01-14 14:26:03 +08:00
2022-01-19 14:55:01 +08:00
//<2F>Զ<EFBFBD><D4B6>ع<EFBFBD>
int PerformAutoExposure(float fMinScaleFactor, float fMaxScaleFactor, float& fPredictedExposureTime);
2022-01-14 14:26:03 +08:00
#ifdef _DEBUG
public:
#else //
private:
#endif
//port
int m_iBaudRate;
2022-01-19 14:55:01 +08:00
QSerialPort* m_pSerialPort;
2022-01-14 14:26:03 +08:00
//ATP
DeviceInfo m_diDeviceInfo;
DeviceAttribute m_daDeviceAttr;
2022-01-19 14:55:01 +08:00
//Attr
int m_iExposureTime;
2022-01-14 14:26:03 +08:00
//////////////////////////////////////////////////////////////////////////shutter control stub code s
//int SetExtShutter(int iShutterUP0, int iShutterDOWN1,int iShutterDOWN2,int iShutterDOWN3); //0:close 1:open
//////////////////////////////////////////////////////////////////////////shutter control stub code e
2022-01-19 14:55:01 +08:00
int GetExposureTime_Init();
2022-01-14 14:26:03 +08:00
int SendCommand(QByteArray qbCommand);
int RecvData(QByteArray &qbData);
int RecvData_ShortLag(QByteArray &qbData);
int ParseData(QByteArray &qbData);
2022-01-19 14:55:01 +08:00
public slots:
int Init_Self();
signals:
void SignalInit_Self();
//private slots :
2022-01-14 14:26:03 +08:00
//void ReadMessage();
};