Files
TowerOptoSifAndSpectral/othersoft/calibration_console/Header_Files/ATPControl_Serial_QT.h
2022-01-19 14:55:01 +08:00

97 lines
2.5 KiB
C++

//////////////////////////////////////////////////////////////////////////
//ATP类设备串口通信类
//////////////////////////////////////////////////////////////////////////
#pragma once
//#include "pch.h"
#include "ZZ_Types.h"
#include "ZZ_Math.h"
#include <QSerialPort>
#include <QtEndian>
#include "IrisFiberSpectrometerBase.h"
using namespace ZZ_MISCDEF;
using namespace ZZ_MISCDEF::ATP;
using namespace ZZ_MISCDEF::IRIS::FS;
class ZZ_ATPControl_Serial_Qt :public CIrisFSBase
{
Q_OBJECT
public:
ZZ_ATPControl_Serial_Qt(QObject* parent = nullptr);
virtual ~ZZ_ATPControl_Serial_Qt();
public:
//do not call
//int ReInit();
//设置波特率
//int SetBaudRate(int iBaud);
//初始化设备
int Initialize(bool bIsUSBMode, std::string ucPortNumber, std::string strDeviceName);
//关闭设备
void Close();
//单次测试采集 用以确认设备像素数
int SingleShot(int& iPixels);
//单次数据采集
int SingleShot(DataFrame& dfData);
//单次暗背景采集
//int SingleShotDark(ATPDataFrame &dfData);
//int SingleShotDeducted(ATPDataFrame &dfData);
//设置曝光时间
int SetExposureTime(int iExposureTimeInMS);
//获取曝光时间设置
int GetExposureTime(int& iExposureTimeInMS);
//int GetWaveLength(float *pfWaveLength);
//获取设备信息
int GetDeviceInfo(DeviceInfo& Info);
//获取设备特征数据
int GetDeviceAttribute(DeviceAttribute& Attr);
//int GetDeviceListInfo(); //use type name to enum
//设置温度
int SetDeviceTemperature(float fTemperature);
//获取温度
int GetDeviceTemperature(float& fTemperature);
//自动曝光
int PerformAutoExposure(float fMinScaleFactor, float fMaxScaleFactor, float& fPredictedExposureTime);
#ifdef _DEBUG
public:
#else //
private:
#endif
//port
int m_iBaudRate;
QSerialPort* m_pSerialPort;
//ATP
DeviceInfo m_diDeviceInfo;
DeviceAttribute m_daDeviceAttr;
//Attr
int m_iExposureTime;
//////////////////////////////////////////////////////////////////////////shutter control stub code s
//int SetExtShutter(int iShutterUP0, int iShutterDOWN1,int iShutterDOWN2,int iShutterDOWN3); //0:close 1:open
//////////////////////////////////////////////////////////////////////////shutter control stub code e
int GetExposureTime_Init();
int SendCommand(QByteArray qbCommand);
int RecvData(QByteArray& qbData);
int ParseData(QByteArray& qbData);
public slots:
int Init_Self();
signals:
void SignalInit_Self();
//private slots :
//void ReadMessage();
};