// // Created by 73505 on 2023/5/7. // #pragma once #include //#include #include #include #include #include "IS11_Ctrl_Qt.h" #include "FiberSpectrometerOperationBase.h" class JinspFiberImager :public QObject,public FiberSpectrometerOperationBase { Q_OBJECT public: JinspFiberImager(bool bIsUSBMode, std::string ucPortNumber, std::string strDeviceName); ~JinspFiberImager(); IS11_Ctrl_Qt * m_FiberSpectrometer; void connectFiberSpectrometer(QString& sn, QString& pixelCount, QString& wavelengthInfo); void disconnectFiberSpectrometer(); void getDeviceAttribute(DeviceAttribute& deviceAttribute); void getDeviceInfo(DeviceInfo& deviceInfo); void setExposureTime(int iExposureTimeInMS); void getExposureTime(int &iExposureTimeInMS);//ok void getDeviceTemperature(float &fTemperature);//ok void singleShot(DataFrame &dfData); void getNonlinearityCoeffs(coeffsFrame &coeffs); ZZ_S32 GetMaxValue(ZZ_S32 * dark, int number); // DataFrame m_IntegratingSphereData; // DataFrame m_DarkData; protected: private: std::string mUcPortNumber; // ZZ_U32 m_MaxValueOfFiberSpectrometer; public slots: void recordDark(QString path); void recordTarget(int recordTimes, QString path); void autoExpose(); signals: void sendExposureTimeSignal(int exposureTime); };