Files
oceanControlLib/ocean_lib/library.h

66 lines
1.6 KiB
C
Raw Normal View History

2021-11-25 18:50:24 +08:00
#ifndef OCEAN_LIB_LIBRARY_H
#define OCEAN_LIB_LIBRARY_H
#include <cstdio>
#include <cstdlib>
#include <ctime>
2021-11-25 18:50:24 +08:00
#include <unistd.h>
#include "api/SeaBreezeWrapper.h"
#include "IrisFiberSpectrometerBase.h"
2021-12-06 09:26:32 +08:00
#include "api/seabreezeapi/SeaBreezeAPI.h"
2021-11-25 18:50:24 +08:00
using namespace std;
2021-11-25 18:50:24 +08:00
class OceanOptics_lib:public CIrisFSBase
{
public:
OceanOptics_lib();
virtual ~OceanOptics_lib();
2021-11-25 18:50:24 +08:00
public:
//初始化设备
//此处string为指明连接哪个ocean光谱仪的参数可自行更换为其他c/c++标准类型
2021-12-06 09:26:32 +08:00
//0为无错误不同错误请返回不同值(不能确定当不成功时SeaBreeze返回的错误代码error不为0 → 不敢将error直接返回)
int Initialize(bool bIsUSBMode,ZZ_U8 ucPortNumber,std::string strDeviceName);//ok
int Initialize();//ok
//关闭设备
void Close();//ok
//单次数据采集
int SingleShot(DataFrame &dfData);
//设置曝光时间
int SetExposureTime(int iExposureTimeInMS);//ok
//获取曝光时间设置
int GetExposureTime(int &iExposureTimeInMS);//ok
//设置目标温度
int SetDeviceTemperature(float fTemperature);//ok
//获取温度设置
int GetDeviceTemperature(float &fTemperature);//ok
//获取设备信息
int GetDeviceInfo(DeviceInfo &Info);//ok
//获取设备特征数据
int GetDeviceAttribute(DeviceAttribute &Attr);//ok
2021-11-25 18:50:24 +08:00
//tc
2021-12-06 09:26:32 +08:00
static const char* get_error_string(int error);
private:
int m_iSpectralmeterHandle;
DeviceInfo m_deviceInfo;
int m_iExposureTime;
bool isSuccess(char* resultStr);
string GetDeviceType(int index);
string GetSerialNumber(int index);
2021-11-25 18:50:24 +08:00
};
#endif //OCEAN_LIB_LIBRARY_H