Files
TowerOptoSifAndSpectral/source/FS/ATPControl_Serial_QT.h
DESKTOP-4HD0KC3\ZhangZhuo 1269e520e2 张卓修改没提交的代码
2025-03-10 10:03:01 +08:00

99 lines
2.4 KiB
C++

//////////////////////////////////////////////////////////////////////////
//ATP类设备串口通信类
//////////////////////////////////////////////////////////////////////////
#pragma once
#include "pch.h"
#include "ZZ_Types.h"
#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);
private:
int SetAvgTimes(int iTimes = 1);
#ifdef _DEBUG
public:
#else //
private:
#endif
//init
QString qstrInitPortName,qstrInitDeviceSN;
//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 RecvData_ShortLag(QByteArray &qbData);
int ParseData(QByteArray &qbData);
public slots:
int Init_Self();
signals:
void SignalInit_Self();
//private slots :
//void ReadMessage();
};