Files
TowerOptoSifAndSpectral/source/ATP/ATPControl_Serial_QT.h
zhangzhuo b9bece4de9 简单了解了QJson和QNetworkAccessManager相关的使用方法。
尝试了使用QWaitCondition,QMutex同步线程。未能实现,准备改用状态机
2021-11-09 17:45:04 +08:00

59 lines
1.5 KiB
C++

#pragma once
#include "pch.h"
#include "ZZ_Types.h"
using namespace ZZ_MISCDEF;
using namespace ZZ_MISCDEF::ATP;
class QSerialPort;
class ZZ_ATPControl_Serial_Qt//:public QObject
{
//Q_OBJECT
public:
ZZ_ATPControl_Serial_Qt();
virtual ~ZZ_ATPControl_Serial_Qt();
public:
int SetBaudRate(int iBaud);
int ATPInitialize( ZZ_U8 ucPortNumber);
int ATPClose();
int SingleShot(int &iPixels);
int SingleShot(ATPDataFrame &dfData);
int SingleShotDark(ATPDataFrame &dfData);
int SingleShotDeducted(ATPDataFrame &dfData);
int SetExposureTime(int iExposureTimeInMS);
int GetExposureTime(int &iExposureTimeInMS);
//int GetWaveLength(float *pfWaveLength);
int GetDeviceInfo();
int GetDeviceAttribute();
int GetDeviceListInfo(); //use type name to enum
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
ATPDeviceInfo m_adiDeviceInfo;
ATPDeviceAttribute m_adaDeviceAttr;
//////////////////////////////////////////////////////////////////////////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 SendCommand(QByteArray qbCommand);
int RecvData(QByteArray &qbData);
int ParseData(QByteArray &qbData);
//private slots :
//void ReadMessage();
};