修改了函数执行失败后返回值

This commit is contained in:
2021-12-03 17:33:42 +08:00
parent 941339130a
commit fae1a5e462
5 changed files with 335 additions and 64 deletions

123
ocean_lib/main.cpp Normal file
View File

@ -0,0 +1,123 @@
//
// Created by tangchao on 2021/11/29.
//
#include "api/seabreezeapi/SeaBreezeAPI.h"
#include <iostream>
#include "library.h"
int main()
{
std::cout << "Hello, World!" << std::endl;
OceanOptics_lib fiberImager;
fiberImager.Initialize(true,10,"FLMS15814");//QEP02975 FLMS15814
fiberImager.SetExposureTime(5000);
int exposureTime;
fiberImager.GetExposureTime(exposureTime);
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << exposureTime << std::endl;
fiberImager.SetDeviceTemperature(-8);
float fTemperature;
fiberImager.GetDeviceTemperature(fTemperature);
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << fTemperature << std::endl;
DeviceInfo Info;
fiberImager.GetDeviceInfo(Info);
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << Info.strPN << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SNΪ<EFBFBD><EFBFBD>" << Info.strSN << std::endl;
DeviceAttribute Attr;
fiberImager.GetDeviceAttribute(Attr);
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << Attr.iPixels << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << std::endl;
for(int i=0;i<Attr.iPixels;i++)
{
std::cout << Attr.fWaveLengthInNM[i] << ",";
}
std::cout << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << Attr.fWaveLengthInNM << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << Attr.iMaxIntegrationTimeInMS << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ع<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << Attr.iMinIntegrationTimeInMS << std::endl;
DataFrame dfData;
fiberImager.SingleShot(dfData);
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << std::endl;
for(int i=0;i<Attr.iPixels;i++)
{
std::cout << dfData.usData[i] << ",";
}
std::cout << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << dfData.fTemperature << std::endl;
std::cout << "<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>" << dfData.usExposureTimeInMS << std::endl;
fiberImager.Close();
return 0;
}
//int main()
//{
// int number_of_devices;
// long *device_ids;
// int i;
// int test_index;
// int flag;
// int unsupportedFeatureCount;
// int testFailureCount;
// int error = 0;
// char nameBuffer[80];
// int number_of_spectrometers;
// long *spectrometer_ids = 0;
//
//
// sbapi_initialize();
// sbapi_probe_devices();
//
// printf("Getting device count...\n"); fflush(stdout);
// number_of_devices = sbapi_get_number_of_device_ids();
//
// printf("Device count is %d\n", number_of_devices);
// if(0 == number_of_devices) {
// return 0;
// }
//
// printf("Getting device IDs...\n");
// device_ids = (long *)calloc(number_of_devices, sizeof(long));
//
// std::cout<<"ssss"<<device_ids[0];
//
// number_of_devices = sbapi_get_device_ids(device_ids, number_of_devices);
//
// flag = sbapi_open_device(device_ids[0], &error);
//
//
// number_of_spectrometers = sbapi_get_number_of_spectrometer_features(device_ids[0], &error);
//
// spectrometer_ids = (long *)calloc(10, sizeof(long));
//
// number_of_spectrometers = sbapi_get_spectrometer_features(2, &error,
// spectrometer_ids, 10);
//
// for(int i=0;i<10;i++)
// {
// std::cout<<std::endl;
// std::cout<<"ssss:"<<spectrometer_ids[i]<<std::endl;
// }
//
// printf("\t\t\tResult is %d [%s]\n", number_of_spectrometers,
// sbapi_get_error_string(error));
//
//
// std::cout<<"ssss:"<<error<<std::endl;
//}