目的:添加鉴知光谱仪的定标代码

1. zz的is11控制类 PerformAutoExposure没实现;
2. zz的GetExposureTime函数bug:iExposureTimeInMS = qbaRecv[0]*256+ qbaRecv[1]; → iExposureTimeInMS = qbaRecv[0]*256+ static_cast<unsigned char>(qbaRecv[1]);
3. zz代码(IS11_Ctrl_Qt.cpp)需要添加引用:#include <QDebug>,#include <QtEndian>;
This commit is contained in:
tangchao0503
2023-06-06 14:03:54 +08:00
parent 49e9ff6bc3
commit 6088c897b1
6 changed files with 1048 additions and 1 deletions

View File

@ -7,6 +7,7 @@
#include "Header_Files/oceanOpticsFiberImager.h"
#include "Header_Files/atpFiberImager.h"
#include "Header_Files/JinspFiberImager.h"
#include "Header_Files/calibration.h"
enum CommandLineParseResult
@ -21,6 +22,7 @@ enum DeviceType
{
OPTOSKY,
OceanOptics,
JINSP,
UnknownDevice
};
@ -106,6 +108,11 @@ int main(int argc, char *argv[])
isOcean = true;
break;
}
case JINSP:
{
m_FiberSpectrometer = new JinspFiberImager(false,query.serialPort.toStdString(),"JINSP");
break;
}
case UnknownDevice:
parser.showHelp();
Q_UNREACHABLE();
@ -120,6 +127,10 @@ int main(int argc, char *argv[])
logout("<br><b style=\"color:red\">Connectting the fiber spectrometer!</b>");
m_FiberSpectrometer->connectFiberSpectrometer(SN, pixelCount, wavelengthInfo);
qDebug() << SN;
qDebug() << pixelCount;
qDebug() << wavelengthInfo;
//<2F>Զ<EFBFBD><D4B6>ع<EFBFBD>
@ -216,7 +227,7 @@ CommandLineParseResult parseCommandLine2(QCommandLineParser &parser, TcQuery *qu
{
parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
QCommandLineOption deviceType("deviceType", "Device type. Options are OPTOSKY and OceanOptics", "deviceType");
QCommandLineOption deviceType("deviceType", "Device type. Options are OPTOSKY, OceanOptics and JINSP", "deviceType");
parser.addOption(deviceType);
QCommandLineOption serialPort("serialPort", "Serial port.", "serialPort");
@ -317,6 +328,10 @@ CommandLineParseResult parseCommandLine2(QCommandLineParser &parser, TcQuery *qu
{
query->deviceType = OceanOptics;
}
else if(deviceTypeTmp=="JINSP")
{
query->deviceType = JINSP;
}
else
{
*errorMessage = "DeviceType set error.";