1.gps模块功能编写

This commit is contained in:
2022-03-25 19:07:05 +08:00
parent f818134359
commit f14a52ac31
48 changed files with 10556 additions and 28 deletions

View File

@ -20,6 +20,9 @@ include_directories("Source")
include_directories("Source/FS")
include_directories("Source/OSIF/include")
include_directories("Source/ZZ_SDK")
include_directories("Source/Settings")
include_directories("Source/GPS")
include_directories("Source/Logger")
link_directories("source/OSIF/DLib")
link_directories("/home/pi/SeaBrease/lib")

View File

@ -0,0 +1,8 @@
[FS]
Model=FLAME
Port=-1
UID=
Depth=65535
AEMax=0.85
AEMin=0.60
MinSI=1

View File

@ -54,8 +54,10 @@ namespace ZZ_MISCDEF
enum DeviceModel
{
OSIFAlpha=0,
OSIFAlpha = 0,
OSIFBeta,
FLAME,
QEP,
ISIF,
IS1,
IS2
@ -69,6 +71,8 @@ namespace ZZ_MISCDEF
{
case DeviceModel::OSIFAlpha: return "OSIFAlpha"; break;
case DeviceModel::OSIFBeta: return "OSIFBeta"; break;
case DeviceModel::FLAME: return "FLAME"; break;
case DeviceModel::QEP: return "QEP"; break;
case DeviceModel::ISIF: return "ISIF"; break;
case DeviceModel::IS1: return "IS1"; break;
case DeviceModel::IS2: return "IS2"; break;
@ -86,6 +90,15 @@ namespace ZZ_MISCDEF
{
return DeviceModel::OSIFBeta;
}
else if (strDeviceModelName == "FLAME")
{
return DeviceModel::FLAME;
}
else if (strDeviceModelName == "QEP")
{
return DeviceModel::QEP;
}
else if (strDeviceModelName == "ISIF")
{
return DeviceModel::ISIF;
@ -200,6 +213,21 @@ namespace ZZ_MISCDEF
float fWavelength[MAX_DEVICENUMBER_FS][4096];
}FSContext;
typedef struct tagOneFiberSpecContext
{
ZZ_U8 ucDeviceNumber = 1;
ZZ_U8 ucDeviceModel;
std::string strInterface;
std::string strSN;
long lDepth;
float fMinFactor;
float fMaxFactor;
ZZ_U16 usPixels;
float fWavelength[4096];
double dMinSamplingInterval;//in millisec
}OneFSContext;
typedef struct tagLinearShutterContext
{
std::string strInterface;
@ -207,6 +235,7 @@ namespace ZZ_MISCDEF
ZZ_U8 ucCmdID;
}LSContext;
typedef struct tagAcquisitionTimeSettings
{
QTime qtStartTime;
@ -345,5 +374,12 @@ namespace ZZ_MISCDEF
{
QString qstrInterfaceName;
}HumitureDeviceInfo;
typedef struct tagGPSDeviceInfo
{
QString qstrInterfaceName;
int iBaud;
}GPSInfo;
}
};

View File

@ -0,0 +1,192 @@
#include "BD357Ctrl.h"
#include "lwgps.h"
#include "lwrb.h"
BD357Controller::BD357Controller(QObject* parent /*= nullptr*/)
{
m_iFlagIsContinuousUpdating = 0;
m_pSerialPort = NULL;
//connect(m_pSerialPort, &QSerialPort::readyRead, this, &BD357Controller::HandleReadyRead);
connect(this, &BD357Controller::Signal_InitSelf, this, &BD357Controller::Slot_InitSelf);
}
BD357Controller::~BD357Controller()
{
if (m_pSerialPort != NULL)
{
m_pSerialPort->close();
delete m_pSerialPort;
}
}
int BD357Controller::SyncDateOnce()
{
using namespace ZZ_MISCDEF;
bool bFlagFinish = false;
size_t uiCount = 0;
ZZ_U8 u8Rx,u8Tx;
while (!bFlagFinish)
{
while (m_qbReadData.size()< 1000)
{
m_pSerialPort->waitForReadyRead(1000);
m_qbReadData.append(m_pSerialPort->readAll());
}
qDebug() << m_qbReadData.size() << endl;
lwgps_process(&m_hLWGPS, m_qbReadData, m_qbReadData.size());
m_qbReadData.clear();
if (uiCount<2)
{
uiCount++;
continue;
}
else
{
/*if (m_hLWGPS.is_valid)
{
bFlagFinish = 1;
}*/
}
//need to disable
qDebug() << "one status :"<< m_hLWGPS.is_valid << m_hLWGPS .sats_in_use<< m_hLWGPS .year<<"-" << m_hLWGPS .month<<"-" << m_hLWGPS.date << "-" << m_hLWGPS.hours << ":" << m_hLWGPS.minutes << ":" << m_hLWGPS.seconds << ":" << endl;
int iRes = ZZ_FormatTime(m_hLWGPS.year, m_hLWGPS.month, m_hLWGPS.date, m_hLWGPS.hours, m_hLWGPS.minutes, m_hLWGPS.seconds);
if (iRes != 0)
{
continue;
}
else
{
bFlagFinish = 1;
}
//bFlagFinish = 1;
}
return 0;
}
int BD357Controller::StartContinuousUpdating()
{
while (m_iFlagIsContinuousUpdating)
{
}
return 0;
}
int BD357Controller::Initialize(GPSInfo &struGPSI)
{
m_struGPSInfo = struGPSI;
emit Signal_InitSelf();
}
int BD357Controller::ZZ_FormatTime(ZZ_U8 u8Year, ZZ_U8 u8Month, ZZ_U8 u8Day, ZZ_U8 u8Hour, ZZ_U8 u8Minute, ZZ_U8 u8Second)
{
int iYear = u8Year + 2000;
QDateTime qdtTestDate(QDate(iYear, u8Month, u8Day), QTime(u8Hour, u8Minute, u8Second));
if (qdtTestDate.isValid())
{
m_qdtDateTime = qdtTestDate;
return 0;
}
else
{
return -1;
}
return -2;
//bool b1 = startDate.isValid();
//QString end = startDate.toString("yyyy.MM.dd hh:mm:ss");
//qDebug() << end;
//QString qstrSyncDate = QString("%1-%2-%3-%4-%5-%6").arg(iYear, 4, 10, QLatin1Char('0')).arg(u8Month, 2, 10, QLatin1Char('0'))
// .arg(u8Day, 2, 10, QLatin1Char('0')).arg(u8Hour, 2, 10, QLatin1Char('0'))
// .arg(u8Minute, 2, 10, QLatin1Char('0')).arg(u8Second, 2, 10, QLatin1Char('0'));
//
//m_qdtDateTime.fromString(qstrSyncDate, "yyyy-MM-dd-hh-mm-ss");
//qDebug() << qstrSyncDate;
//bool b = m_qdtDateTime.isValid();
//QString begin = m_qdtDateTime.toString("yyyy.MM.dd hh:mm:ss");
//qDebug() << begin;
/*qstrSyncDate = "20" + QString::number(m_hLWGPS.year) + "-"
+ QString::number(m_hLWGPS.month) + "-"
+ QString::number(m_hLWGPS.date) + "-"
+ QString::number(m_hLWGPS.hours) + "-"
+ QString::number(m_hLWGPS.minutes) + "-"
+ QString::number(m_hLWGPS.seconds);
qdtSync.fromString(qstrSyncDate, "yyyy-MM-dd-hh-mm-ss");
qDebug() << qstrSyncDate;
bool b = qdtSync.isValid();
QString begin = qdtSync.toString("yyyy.MM.dd hh:mm:ss");
std::string strtime = begin.toStdString();
qDebug() << begin;*/
}
int BD357Controller::Slot_InitSelf()
{
m_qbReadData.clear();
//QString qstrPortName = struGPSI.qstrInterfaceName;
if (m_pSerialPort != NULL)
{
m_pSerialPort->close();
delete m_pSerialPort;
}
m_pSerialPort = new QSerialPort;
m_pSerialPort->setPortName(m_struGPSInfo.qstrInterfaceName);
//m_pSerialPort->setReadBufferSize(512); in this project 0 seems a better param.
bool bRes = m_pSerialPort->setBaudRate(m_struGPSInfo.iBaud);
if (!bRes)
{
qDebug() << "Err:setBaudRate Failed.Exit Code:1";
//std::cout << "Err.setBaudRate Failed" << std::endl;
return 1;
}
bRes = m_pSerialPort->open(QIODevice::ReadWrite);
if (!bRes)
{
qDebug() << "Err:open Failed.Exit Code:2";
//std::cout << "Err.open Failed" << std::endl;
return 2;
}
/////
lwgps_init(&m_hLWGPS);
lwrb_init(&m_hlwrbBuffer, m_u8GPSDataBuffer, sizeof(m_u8GPSDataBuffer));
}
//
// int BD357Controller::HandleReadyRead()
// {
// size_t uiSize = 0;
// m_qbReadData.append(m_pSerialPort->readAll());
// if (m_qbReadData.size()<2048)
// {
// lwrb_write(&m_hlwrbBuffer, &m_qbReadData, m_qbReadData.size());
// m_qbReadData.clear();
// }
// else
// {
// m_qbReadData.clear();
// }
//
// return 0;
// }

View File

@ -0,0 +1,42 @@
#pragma once
#include "ZZ_Types.h"
#include "pch.h"
#include "lwgps.h"
#include "lwrb.h"
#include <atomic>
using namespace ZZ_MISCDEF;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
class BD357Controller :public QObject
{
Q_OBJECT
public:
BD357Controller(QObject* parent = nullptr);
~BD357Controller();
private:
std::atomic<int> m_iFlagIsContinuousUpdating;
std::atomic<int> m_iFlagIsConnected;
public:
int SyncDateOnce();
int StartContinuousUpdating();
int Initialize(GPSInfo &struGPSI);
private:
int ZZ_FormatTime(ZZ_U8 u8Year,ZZ_U8 u8Month, ZZ_U8 u8Day, ZZ_U8 u8Hour, ZZ_U8 u8Minute, ZZ_U8 u8Second);
public slots:
int Slot_InitSelf();
private slots:
//int HandleReadyRead();
signals:
void Signal_InitSelf();
void Signal_UpdateStatus(int iValid);
void Signal_UpdateDate(QTime qDate);
private:
QDateTime m_qdtDateTime;
GPSInfo m_struGPSInfo;
ZZ_U8 m_u8GPSDataBuffer[10];
lwgps_t m_hLWGPS;
lwrb_t m_hlwrbBuffer;
int m_iBaudRate;
QSerialPort* m_pSerialPort;
QByteArray m_qbReadData;
};

View File

@ -0,0 +1,606 @@
/**
* \file lwgps.c
* \brief GPS main file
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwGPS - Lightweight GPS NMEA parser library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v2.1.0
*/
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "lwgps.h"
#define FLT(x) ((lwgps_float_t)(x))
#define D2R(x) FLT(FLT(x) * FLT(0.01745329251994)) /*!< Degrees to radians */
#define R2D(x) FLT(FLT(x) * FLT(57.29577951308232))/*!< Radians to degrees */
#define EARTH_RADIUS FLT(6371.0) /*!< Earth radius in units of kilometers */
#define CRC_ADD(_gh, ch) (_gh)->p.crc_calc ^= (uint8_t)(ch)
#define TERM_ADD(_gh, ch) do { \
if ((_gh)->p.term_pos < (sizeof((_gh)->p.term_str) - 1)) { \
(_gh)->p.term_str[(_gh)->p.term_pos] = (ch);\
(_gh)->p.term_str[++(_gh)->p.term_pos] = 0; \
} \
} while (0)
#define TERM_NEXT(_gh) do { (_gh)->p.term_str[((_gh)->p.term_pos = 0)] = 0; ++(_gh)->p.term_num; } while (0)
#define CIN(x) ((x) >= '0' && (x) <= '9')
#define CIHN(x) (((x) >= '0' && (x) <= '9') || ((x) >= 'a' && (x) <= 'f') || ((x) >= 'A' && (x) <= 'F'))
#define CTN(x) ((x) - '0')
#define CHTN(x) (((x) >= '0' && (x) <= '9') ? ((x) - '0') : (((x) >= 'a' && (x) <= 'z') ? ((x) - 'a' + 10) : (((x) >= 'A' && (x) <= 'Z') ? ((x) - 'A' + 10) : 0)))
/**
* \brief Parse number as integer
* \param[in] gh: GPS handle
* \param[in] t: Text to parse. Set to `NULL` to parse current GPS term
* \return Parsed integer
*/
static int32_t
prv_parse_number(lwgps_t* gh, const char* t) {
int32_t res = 0;
uint8_t minus;
if (t == NULL) {
t = gh->p.term_str;
}
for (; t != NULL && *t == ' '; ++t) {} /* Strip leading spaces */
minus = (*t == '-' ? (++t, 1) : 0);
for (; t != NULL && CIN(*t); ++t) {
res = 10 * res + CTN(*t);
}
return minus ? -res : res;
}
/**
* \brief Parse number as double and convert it to \ref lwgps_float_t
* \param[in] gh: GPS handle
* \param[in] t: Text to parse. Set to `NULL` to parse current GPS term
* \return Parsed double in \ref lwgps_float_t format
*/
static lwgps_float_t
prv_parse_float_number(lwgps_t* gh, const char* t) {
lwgps_float_t res;
if (t == NULL) {
t = gh->p.term_str;
}
for (; t != NULL && *t == ' '; ++t) {} /* Strip leading spaces */
#if LWGPS_CFG_DOUBLE
res = strtod(t, NULL); /* Parse string to double */
#else /* LWGPS_CFG_DOUBLE */
res = strtof(t, NULL); /* Parse string to float */
#endif /* !LWGPS_CFG_DOUBLE */
return FLT(res); /* Return casted value, based on float size */
}
/**
* \brief Parse latitude/longitude NMEA format to double
*
* NMEA output for latitude is ddmm.sss and longitude is dddmm.sss
* \param[in] gh: GPS handle
* \return Latitude/Longitude value in degrees
*/
static lwgps_float_t
prv_parse_lat_long(lwgps_t* gh) {
lwgps_float_t ll, deg, min;
ll = prv_parse_float_number(gh, NULL); /* Parse value as double */
deg = FLT((int)((int)ll / 100)); /* Get absolute degrees value, interested in integer part only */
min = ll - (deg * FLT(100)); /* Get remaining part from full number, minutes */
ll = deg + (min / FLT(60.0)); /* Calculate latitude/longitude */
return ll;
}
/**
* \brief Parse received term
* \param[in] gh: GPS handle
* \return `1` on success, `0` otherwise
*/
static uint8_t
prv_parse_term(lwgps_t* gh) {
if (gh->p.term_num == 0) { /* Check string type */
if (0) {
#if LWGPS_CFG_STATEMENT_GPGGA
} else if (!strncmp(gh->p.term_str, "$GPGGA", 6) || !strncmp(gh->p.term_str, "$GNGGA", 6)) {
gh->p.stat = STAT_GGA;
#endif /* LWGPS_CFG_STATEMENT_GPGGA */
#if LWGPS_CFG_STATEMENT_GPGSA
} else if (!strncmp(gh->p.term_str, "$GPGSA", 6) || !strncmp(gh->p.term_str, "$GNGSA", 6)) {
gh->p.stat = STAT_GSA;
#endif /* LWGPS_CFG_STATEMENT_GPGSA */
#if LWGPS_CFG_STATEMENT_GPGSV
} else if (!strncmp(gh->p.term_str, "$GPGSV", 6) || !strncmp(gh->p.term_str, "$GNGSV", 6)) {
gh->p.stat = STAT_GSV;
#endif /* LWGPS_CFG_STATEMENT_GPGSV */
#if LWGPS_CFG_STATEMENT_GPRMC
} else if (!strncmp(gh->p.term_str, "$GPRMC", 6) || !strncmp(gh->p.term_str, "$GNRMC", 6)) {
gh->p.stat = STAT_RMC;
#endif /* LWGPS_CFG_STATEMENT_GPRMC */
#if LWGPS_CFG_STATEMENT_PUBX
} else if (!strncmp(gh->p.term_str, "$PUBX", 5)) {
gh->p.stat = STAT_UBX;
#endif /* LWGPS_CFG_STATEMENT_PUBX */
} else {
gh->p.stat = STAT_UNKNOWN; /* Invalid statement for library */
}
return 1;
}
/* Start parsing terms */
if (gh->p.stat == STAT_UNKNOWN) {
#if LWGPS_CFG_STATEMENT_GPGGA
} else if (gh->p.stat == STAT_GGA) { /* Process GPGGA statement */
switch (gh->p.term_num) {
case 1: /* Process UTC time */
gh->p.data.gga.hours = 10 * CTN(gh->p.term_str[0]) + CTN(gh->p.term_str[1]);
gh->p.data.gga.minutes = 10 * CTN(gh->p.term_str[2]) + CTN(gh->p.term_str[3]);
gh->p.data.gga.seconds = 10 * CTN(gh->p.term_str[4]) + CTN(gh->p.term_str[5]);
break;
case 2: /* Latitude */
gh->p.data.gga.latitude = prv_parse_lat_long(gh); /* Parse latitude */
break;
case 3: /* Latitude north/south information */
if (gh->p.term_str[0] == 'S' || gh->p.term_str[0] == 's') {
gh->p.data.gga.latitude = -gh->p.data.gga.latitude;
}
break;
case 4: /* Longitude */
gh->p.data.gga.longitude = prv_parse_lat_long(gh); /* Parse longitude */
break;
case 5: /* Longitude east/west information */
if (gh->p.term_str[0] == 'W' || gh->p.term_str[0] == 'w') {
gh->p.data.gga.longitude = -gh->p.data.gga.longitude;
}
break;
case 6: /* Fix status */
gh->p.data.gga.fix = (uint8_t)prv_parse_number(gh, NULL);
break;
case 7: /* Satellites in use */
gh->p.data.gga.sats_in_use = (uint8_t)prv_parse_number(gh, NULL);
break;
case 9: /* Altitude */
gh->p.data.gga.altitude = prv_parse_float_number(gh, NULL);
break;
case 11: /* Altitude above ellipsoid */
gh->p.data.gga.geo_sep = prv_parse_float_number(gh, NULL);
break;
default:
break;
}
#endif /* LWGPS_CFG_STATEMENT_GPGGA */
#if LWGPS_CFG_STATEMENT_GPGSA
} else if (gh->p.stat == STAT_GSA) { /* Process GPGSA statement */
switch (gh->p.term_num) {
case 2: /* Process fix mode */
gh->p.data.gsa.fix_mode = (uint8_t)prv_parse_number(gh, NULL);
break;
case 15: /* Process PDOP */
gh->p.data.gsa.dop_p = prv_parse_float_number(gh, NULL);
break;
case 16: /* Process HDOP */
gh->p.data.gsa.dop_h = prv_parse_float_number(gh, NULL);
break;
case 17: /* Process VDOP */
gh->p.data.gsa.dop_v = prv_parse_float_number(gh, NULL);
break;
default:
/* Parse satellite IDs */
if (gh->p.term_num >= 3 && gh->p.term_num <= 14) {
gh->p.data.gsa.satellites_ids[gh->p.term_num - 3] = (uint8_t)prv_parse_number(gh, NULL);
}
break;
}
#endif /* LWGPS_CFG_STATEMENT_GPGSA */
#if LWGPS_CFG_STATEMENT_GPGSV
} else if (gh->p.stat == STAT_GSV) { /* Process GPGSV statement */
switch (gh->p.term_num) {
case 2: /* Current GPGSV statement number */
gh->p.data.gsv.stat_num = (uint8_t)prv_parse_number(gh, NULL);
break;
case 3: /* Process satellites in view */
gh->p.data.gsv.sats_in_view = (uint8_t)prv_parse_number(gh, NULL);
break;
default:
#if LWGPS_CFG_STATEMENT_GPGSV_SAT_DET
if (gh->p.term_num >= 4 && gh->p.term_num <= 19) { /* Check current term number */
uint8_t index, term_num = gh->p.term_num - 4; /* Normalize term number from 4-19 to 0-15 */
uint16_t value;
index = ((gh->p.data.gsv.stat_num - 1) << 0x02) + (term_num >> 2); /* Get array index */
if (index < sizeof(gh->sats_in_view_desc) / sizeof(gh->sats_in_view_desc[0])) {
value = (uint16_t)prv_parse_number(gh, NULL); /* Parse number as integer */
switch (term_num & 0x03) {
case 0:
gh->sats_in_view_desc[index].num = value;
break;
case 1:
gh->sats_in_view_desc[index].elevation = value;
break;
case 2:
gh->sats_in_view_desc[index].azimuth = value;
break;
case 3:
gh->sats_in_view_desc[index].snr = value;
break;
default:
break;
}
}
}
#endif /* LWGPS_CFG_STATEMENT_GPGSV_SAT_DET */
break;
}
#endif /* LWGPS_CFG_STATEMENT_GPGSV */
#if LWGPS_CFG_STATEMENT_GPRMC
} else if (gh->p.stat == STAT_RMC) { /* Process GPRMC statement */
switch (gh->p.term_num) {
case 2: /* Process valid status */
gh->p.data.rmc.is_valid = (gh->p.term_str[0] == 'A');
break;
case 7: /* Process ground speed in knots */
gh->p.data.rmc.speed = prv_parse_float_number(gh, NULL);
break;
case 8: /* Process true ground coarse */
gh->p.data.rmc.course = prv_parse_float_number(gh, NULL);
break;
case 9: /* Process date */
gh->p.data.rmc.date = (uint8_t)(10 * CTN(gh->p.term_str[0]) + CTN(gh->p.term_str[1]));
gh->p.data.rmc.month = (uint8_t)(10 * CTN(gh->p.term_str[2]) + CTN(gh->p.term_str[3]));
gh->p.data.rmc.year = (uint8_t)(10 * CTN(gh->p.term_str[4]) + CTN(gh->p.term_str[5]));
break;
case 10: /* Process magnetic variation */
gh->p.data.rmc.variation = prv_parse_float_number(gh, NULL);
break;
case 11: /* Process magnetic variation east/west */
if (gh->p.term_str[0] == 'W' || gh->p.term_str[0] == 'w') {
gh->p.data.rmc.variation = -gh->p.data.rmc.variation;
}
break;
default:
break;
}
#endif /* LWGPS_CFG_STATEMENT_GPRMC */
#if LWGPS_CFG_STATEMENT_PUBX
} else if (gh->p.stat == STAT_UBX) { /* Disambiguate generic PUBX statement */
if (gh->p.term_str[0] == '0' && gh->p.term_str[1] == '4') {
gh->p.stat = STAT_UBX_TIME;
}
#if LWGPS_CFG_STATEMENT_PUBX_TIME
} else if (gh->p.stat == STAT_UBX_TIME) { /* Process PUBX (uBlox) TIME statement */
switch (gh->p.term_num) {
case 2: /* Process UTC time; ignore fractions of seconds */
gh->p.data.time.hours = 10 * CTN(gh->p.term_str[0]) + CTN(gh->p.term_str[1]);
gh->p.data.time.minutes = 10 * CTN(gh->p.term_str[2]) + CTN(gh->p.term_str[3]);
gh->p.data.time.seconds = 10 * CTN(gh->p.term_str[4]) + CTN(gh->p.term_str[5]);
break;
case 3: /* Process UTC date */
gh->p.data.time.date = 10 * CTN(gh->p.term_str[0]) + CTN(gh->p.term_str[1]);
gh->p.data.time.month = 10 * CTN(gh->p.term_str[2]) + CTN(gh->p.term_str[3]);
gh->p.data.time.year = 10 * CTN(gh->p.term_str[4]) + CTN(gh->p.term_str[5]);
break;
case 4: /* Process UTC TimeOfWeek */
gh->p.data.time.utc_tow = prv_parse_float_number(gh, NULL);
break;
case 5: /* Process UTC WeekNumber */
gh->p.data.time.utc_wk = prv_parse_number(gh, NULL);
break;
case 6: /* Process UTC leap seconds */
/*
* Accomodate a 2- or 3-digit leap second count
* a trailing 'D' means this is the firmware's default value.
*/
if (gh->p.term_str[2] == 'D' || gh->p.term_str[2] == '\0') {
gh->p.data.time.leap_sec = 10 * CTN(gh->p.term_str[0])
+ CTN(gh->p.term_str[1]);
} else {
gh->p.data.time.leap_sec = 100 * CTN(gh->p.term_str[0])
+ 10 * CTN(gh->p.term_str[1])
+ CTN(gh->p.term_str[2]);
}
break;
case 7: /* Process clock bias */
gh->p.data.time.clk_bias = prv_parse_number(gh, NULL);
break;
case 8: /* Process clock drift */
gh->p.data.time.clk_drift = prv_parse_float_number(gh, NULL);
break;
case 9: /* Process time pulse granularity */
gh->p.data.time.tp_gran = prv_parse_number(gh, NULL);
break;
default:
break;
}
#endif /* LWGPS_CFG_STATEMENT_PUBX_TIME */
#endif /* LWGPS_CFG_STATEMENT_PUBX */
}
return 1;
}
/**
* \brief Compare calculated CRC with received CRC
* \param[in] gh: GPS handle
* \return `1` on success, `0` otherwise
*/
static uint8_t
prv_check_crc(lwgps_t* gh) {
uint8_t crc;
crc = (uint8_t)((CHTN(gh->p.term_str[0]) & 0x0F) << 0x04) | (CHTN(gh->p.term_str[1]) & 0x0F); /* Convert received CRC from string (hex) to number */
return gh->p.crc_calc == crc; /* They must match! */
}
/**
* \brief Copy temporary memory to user memory
* \param[in] gh: GPS handle
* \return `1` on success, `0` otherwise
*/
static uint8_t
prv_copy_from_tmp_memory(lwgps_t* gh) {
if (0) {
#if LWGPS_CFG_STATEMENT_GPGGA
} else if (gh->p.stat == STAT_GGA) {
gh->latitude = gh->p.data.gga.latitude;
gh->longitude = gh->p.data.gga.longitude;
gh->altitude = gh->p.data.gga.altitude;
gh->geo_sep = gh->p.data.gga.geo_sep;
gh->sats_in_use = gh->p.data.gga.sats_in_use;
gh->fix = gh->p.data.gga.fix;
gh->hours = gh->p.data.gga.hours;
gh->minutes = gh->p.data.gga.minutes;
gh->seconds = gh->p.data.gga.seconds;
#endif /* LWGPS_CFG_STATEMENT_GPGGA */
#if LWGPS_CFG_STATEMENT_GPGSA
} else if (gh->p.stat == STAT_GSA) {
gh->dop_h = gh->p.data.gsa.dop_h;
gh->dop_p = gh->p.data.gsa.dop_p;
gh->dop_v = gh->p.data.gsa.dop_v;
gh->fix_mode = gh->p.data.gsa.fix_mode;
memcpy(gh->satellites_ids, gh->p.data.gsa.satellites_ids, sizeof(gh->satellites_ids));
#endif /* LWGPS_CFG_STATEMENT_GPGSA */
#if LWGPS_CFG_STATEMENT_GPGSV
} else if (gh->p.stat == STAT_GSV) {
gh->sats_in_view = gh->p.data.gsv.sats_in_view;
#endif /* LWGPS_CFG_STATEMENT_GPGSV */
#if LWGPS_CFG_STATEMENT_GPRMC
} else if (gh->p.stat == STAT_RMC) {
gh->course = gh->p.data.rmc.course;
gh->is_valid = gh->p.data.rmc.is_valid;
gh->speed = gh->p.data.rmc.speed;
gh->variation = gh->p.data.rmc.variation;
gh->date = gh->p.data.rmc.date;
gh->month = gh->p.data.rmc.month;
gh->year = gh->p.data.rmc.year;
#endif /* LWGPS_CFG_STATEMENT_GPRMC */
#if LWGPS_CFG_STATEMENT_PUBX_TIME
} else if (gh->p.stat == STAT_UBX_TIME) {
gh->hours = gh->p.data.time.hours;
gh->minutes = gh->p.data.time.minutes;
gh->seconds = gh->p.data.time.seconds;
gh->date = gh->p.data.time.date;
gh->month = gh->p.data.time.month;
gh->year = gh->p.data.time.year;
gh->utc_tow = gh->p.data.time.utc_tow;
gh->utc_wk = gh->p.data.time.utc_wk;
gh->leap_sec = gh->p.data.time.leap_sec;
gh->clk_bias = gh->p.data.time.clk_bias;
gh->clk_drift = gh->p.data.time.clk_drift;
gh->tp_gran = gh->p.data.time.tp_gran;
#endif /* LWGPS_CFG_STATEMENT_PUBX_TIME */
}
return 1;
}
/**
* \brief Init GPS handle
* \param[in] gh: GPS handle structure
* \return `1` on success, `0` otherwise
*/
uint8_t
lwgps_init(lwgps_t* gh) {
memset(gh, 0x00, sizeof(*gh)); /* Reset structure */
return 1;
}
/**
* \brief Process NMEA data from GPS receiver
* \param[in] gh: GPS handle structure
* \param[in] data: Received data
* \param[in] len: Number of bytes to process
* \param[in] evt_fn: Event function to notify application layer.
* This parameter is available only if \ref LWGPS_CFG_STATUS is enabled
* \return `1` on success, `0` otherwise
*/
uint8_t
#if LWGPS_CFG_STATUS || __DOXYGEN__
lwgps_process(lwgps_t* gh, const void* data, size_t len, lwgps_process_fn evt_fn) {
#else /* LWGPS_CFG_STATUS */
lwgps_process(lwgps_t* gh, const void* data, size_t len) {
#endif /* !LWGPS_CFG_STATUS */
const uint8_t* d =(uint8_t*) data;
for (; len > 0; ++d, --len) { /* Process all bytes */
if (*d == '$') { /* Check for beginning of NMEA line */
memset(&gh->p, 0x00, sizeof(gh->p));/* Reset private memory */
TERM_ADD(gh, *d); /* Add character to term */
} else if (*d == ',') { /* Term separator character */
prv_parse_term(gh); /* Parse term we have currently in memory */
CRC_ADD(gh, *d); /* Add character to CRC computation */
TERM_NEXT(gh); /* Start with next term */
} else if (*d == '*') { /* Start indicates end of data for CRC computation */
prv_parse_term(gh); /* Parse term we have currently in memory */
gh->p.star = 1; /* STAR detected */
TERM_NEXT(gh); /* Start with next term */
} else if (*d == '\r') {
if (prv_check_crc(gh)) { /* Check for CRC result */
/* CRC is OK, in theory we can copy data from statements to user data */
prv_copy_from_tmp_memory(gh); /* Copy memory from temporary to user memory */
#if LWGPS_CFG_STATUS
if (evt_fn != NULL) {
evt_fn(gh->p.stat);
}
} else if (evt_fn != NULL) {
evt_fn(STAT_CHECKSUM_FAIL);
#endif /* LWGPS_CFG_STATUS */
}
} else {
if (!gh->p.star) { /* Add to CRC only if star not yet detected */
CRC_ADD(gh, *d); /* Add to CRC */
}
TERM_ADD(gh, *d); /* Add character to term */
}
}
return 1;
}
/**
* \brief Calculate distance and bearing between `2` latitude and longitude coordinates
* \param[in] las: Latitude start coordinate, in units of degrees
* \param[in] los: Longitude start coordinate, in units of degrees
* \param[in] lae: Latitude end coordinate, in units of degrees
* \param[in] loe: Longitude end coordinate, in units of degrees
* \param[out] d: Pointer to output distance in units of meters
* \param[out] b: Pointer to output bearing between start and end coordinate in relation to north in units of degrees
* \return `1` on success, `0` otherwise
*/
uint8_t
lwgps_distance_bearing(lwgps_float_t las, lwgps_float_t los, lwgps_float_t lae, lwgps_float_t loe, lwgps_float_t* d, lwgps_float_t* b) {
lwgps_float_t df, dfi, a;
if (d == NULL && b == NULL) {
return 0;
}
/* Convert degrees to radians */
df = D2R(lae - las);
dfi = D2R(loe - los);
las = D2R(las);
los = D2R(los);
lae = D2R(lae);
loe = D2R(loe);
/*
* Calculate distance
*
* Calculated distance is absolute value in meters between 2 points on earth.
*/
if (d != NULL) {
/*
* a = sin(df / 2)^2 + cos(las) * cos(lae) * sin(dfi / 2)^2
* *d = RADIUS * 2 * atan(sqrt(a) / sqrt(1 - a)) * 1000 (for meters)
*/
#if LWGPS_CFG_DOUBLE
a = FLT(sin(df * 0.5) * sin(df * 0.5) + sin(dfi * 0.5) * sin(dfi * 0.5) * cos(las) * cos(lae));
*d = FLT(EARTH_RADIUS * 2.0 * atan2(sqrt(a), sqrt(1.0 - a)) * 1000.0);
#else /* LWGPS_CFG_DOUBLE */
a = FLT(sinf(df * 0.5f) * sinf(df * 0.5f) + sinf(dfi * 0.5f) * sinf(dfi * 0.5f) * cosf(las) * cosf(lae));
*d = FLT(EARTH_RADIUS * 2.0f * atan2f(sqrtf(a), sqrtf(1.0f - a)) * 1000.0f);
#endif /* !LWGPS_CFG_DOUBLE */
}
/*
* Calculate bearing
*
* Bearing is calculated from point 1 to point 2.
* Result will tell us in which direction (according to north) we should move,
* to reach point 2.
*
* Example:
* Bearing is 0 => move to north
* Bearing is 90 => move to east
* Bearing is 180 => move to south
* Bearing is 270 => move to west
*/
if (b != NULL) {
#if LWGPS_CFG_DOUBLE
df = FLT(sin(loe - los) * cos(lae));
dfi = FLT(cos(las) * sin(lae) - sin(las) * cos(lae) * cos(loe - los));
*b = R2D(atan2(df, dfi)); /* Calculate bearing and convert to degrees */
#else /* LWGPS_CFG_DOUBLE */
df = FLT(sinf(loe - los) * cosf(lae));
dfi = FLT(cosf(las) * sinf(lae) - sinf(las) * cosf(lae) * cosf(loe - los));
*b = R2D(atan2f(df, dfi)); /* Calculate bearing and convert to degrees */
#endif /* !LWGPS_CFG_DOUBLE */
if (*b < 0) { /* Check for negative angle */
*b += FLT(360); /* Make bearing always positive */
}
}
return 1;
}
/**
* \brief Convert NMEA GPS speed (in knots = nautical mile per hour) to different speed format
* \param[in] sik: Speed in knots, received from GPS NMEA statement
* \param[in] ts: Target speed to convert to from knots
* \return Speed calculated from knots
*/
lwgps_float_t
lwgps_to_speed(lwgps_float_t sik, lwgps_speed_t ts) {
switch (ts) {
case lwgps_speed_kps:
return FLT(sik * FLT(0.000514));
case lwgps_speed_kph:
return FLT(sik * FLT(1.852));
case lwgps_speed_mps:
return FLT(sik * FLT(0.5144));
case lwgps_speed_mpm:
return FLT(sik * FLT(30.87));
case lwgps_speed_mips:
return FLT(sik * FLT(0.0003197));
case lwgps_speed_mph:
return FLT(sik * FLT(1.151));
case lwgps_speed_fps:
return FLT(sik * FLT(1.688));
case lwgps_speed_fpm:
return FLT(sik * FLT(101.3));
case lwgps_speed_mpk:
return FLT(sik * FLT(32.4));
case lwgps_speed_spk:
return FLT(sik * FLT(1944.0));
case lwgps_speed_sp100m:
return FLT(sik * FLT(194.4));
case lwgps_speed_mipm:
return FLT(sik * FLT(52.14));
case lwgps_speed_spm:
return FLT(sik * FLT(3128.0));
case lwgps_speed_sp100y:
return FLT(sik * FLT(177.7));
case lwgps_speed_smph:
return FLT(sik * FLT(1.0));
default:
return 0;
}
}

View File

@ -0,0 +1,289 @@
/**
* \file lwgps.h
* \brief GPS main file
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwGPS - Lightweight GPS NMEA parser library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v2.1.0
*/
#ifndef LWGPS_HDR_H
#define LWGPS_HDR_H
#include <stdint.h>
#include <stddef.h>
#include <limits.h>
#include "lwgps_opt.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* \defgroup LWGPS Lightweight GPS NMEA parser
* \brief Lightweight GPS NMEA parser
* \{
*/
/**
* \brief GPS float definition, can be either `float` or `double`
* \note Check for \ref LWGPS_CFG_DOUBLE configuration
*/
#if LWGPS_CFG_DOUBLE || __DOXYGEN__
typedef double lwgps_float_t;
#else
typedef float lwgps_float_t;
#endif
/**
* \brief Satellite descriptor
*/
typedef struct {
uint8_t num; /*!< Satellite number */
uint8_t elevation; /*!< Elevation value */
uint16_t azimuth; /*!< Azimuth in degrees */
uint8_t snr; /*!< Signal-to-noise ratio */
} lwgps_sat_t;
/**
* \brief ENUM of possible GPS statements parsed
*/
typedef enum {
STAT_UNKNOWN = 0, /*!< Unknown NMEA statement */
STAT_GGA = 1, /*!< GPGGA statement */
STAT_GSA = 2, /*!< GPGSA statement */
STAT_GSV = 3, /*!< GPGSV statement */
STAT_RMC = 4, /*!< GPRMC statement */
STAT_UBX = 5, /*!< UBX statement (uBlox specific) */
STAT_UBX_TIME = 6, /*!< UBX TIME statement (uBlox specific) */
STAT_CHECKSUM_FAIL = UINT8_MAX /*!< Special case, used when checksum fails */
} lwgps_statement_t;
/**
* \brief GPS main structure
*/
typedef struct {
#if LWGPS_CFG_STATEMENT_GPGGA || __DOXYGEN__
/* Information related to GPGGA statement */
lwgps_float_t latitude; /*!< Latitude in units of degrees */
lwgps_float_t longitude; /*!< Longitude in units of degrees */
lwgps_float_t altitude; /*!< Altitude in units of meters */
lwgps_float_t geo_sep; /*!< Geoid separation in units of meters */
uint8_t sats_in_use; /*!< Number of satellites in use */
uint8_t fix; /*!< Fix status. `0` = invalid, `1` = GPS fix, `2` = DGPS fix, `3` = PPS fix */
uint8_t hours; /*!< Hours in UTC */
uint8_t minutes; /*!< Minutes in UTC */
uint8_t seconds; /*!< Seconds in UTC */
#endif /* LWGPS_CFG_STATEMENT_GPGGA || __DOXYGEN__ */
#if LWGPS_CFG_STATEMENT_GPGSA || __DOXYGEN__
/* Information related to GPGSA statement */
lwgps_float_t dop_h; /*!< Dolution of precision, horizontal */
lwgps_float_t dop_v; /*!< Dolution of precision, vertical */
lwgps_float_t dop_p; /*!< Dolution of precision, position */
uint8_t fix_mode; /*!< Fix mode. `1` = NO fix, `2` = 2D fix, `3` = 3D fix */
uint8_t satellites_ids[12]; /*!< List of satellite IDs in use. Valid range is `0` to `sats_in_use` */
#endif /* LWGPS_CFG_STATEMENT_GPGSA || __DOXYGEN__ */
#if LWGPS_CFG_STATEMENT_GPGSV || __DOXYGEN__
/* Information related to GPGSV statement */
uint8_t sats_in_view; /*!< Number of satellites in view */
#if LWGPS_CFG_STATEMENT_GPGSV_SAT_DET || __DOXYGEN__
lwgps_sat_t sats_in_view_desc[12];
#endif /* LWGPS_CFG_STATEMENT_GPGSV_SAT_DET || __DOXYGEN__ */
#endif /* LWGPS_CFG_STATEMENT_GPGSV || __DOXYGEN__ */
#if LWGPS_CFG_STATEMENT_GPRMC || __DOXYGEN__
/* Information related to GPRMC statement */
uint8_t is_valid; /*!< GPS valid status */
lwgps_float_t speed; /*!< Ground speed in knots */
lwgps_float_t course; /*!< Ground coarse */
lwgps_float_t variation; /*!< Magnetic variation */
uint8_t date; /*!< Fix date */
uint8_t month; /*!< Fix month */
uint8_t year; /*!< Fix year */
#endif /* LWGPS_CFG_STATEMENT_GPRMC || __DOXYGEN__ */
#if LWGPS_CFG_STATEMENT_PUBX_TIME || __DOXYGEN__
#if !LWGPS_CFG_STATEMENT_GPGGA && !__DOXYGEN__
/* rely on time fields from GPGGA if possible */
uint8_t hours;
uint8_t minutes;
uint8_t seconds;
#endif /* !LWGPS_CFG_STATEMENT_GPGGA && !__DOXYGEN__ */
#if !LWGPS_CFG_STATEMENT_GPRMC && !__DOXYGEN__
/* rely on date fields from GPRMC if possible */
uint8_t date;
uint8_t month;
uint8_t year;
#endif /* !LWGPS_CFG_STATEMENT_GPRMC && !__DOXYGEN__ */
/* fields only available in PUBX_TIME */
lwgps_float_t utc_tow; /*!< UTC TimeOfWeek, eg 113851.00 */
uint16_t utc_wk; /*!< UTC week number, continues beyond 1023 */
uint8_t leap_sec; /*!< UTC leap seconds; UTC + leap_sec = TAI */
uint32_t clk_bias; /*!< Receiver clock bias, eg 1930035 */
lwgps_float_t clk_drift; /*!< Receiver clock drift, eg -2660.664 */
uint32_t tp_gran; /*!< Time pulse granularity, eg 43 */
#endif /* LWGPS_CFG_STATEMENT_PUBX_TIME || __DOXYGEN__ */
#if !__DOXYGEN__
struct {
lwgps_statement_t stat; /*!< Statement index */
char term_str[13]; /*!< Current term in string format */
uint8_t term_pos; /*!< Current index position in term */
uint8_t term_num; /*!< Current term number */
uint8_t star; /*!< Star detected flag */
uint8_t crc_calc; /*!< Calculated CRC string */
union {
uint8_t dummy; /*!< Dummy byte */
#if LWGPS_CFG_STATEMENT_GPGGA
struct {
lwgps_float_t latitude; /*!< GPS latitude position in degrees */
lwgps_float_t longitude; /*!< GPS longitude position in degrees */
lwgps_float_t altitude; /*!< GPS altitude in meters */
lwgps_float_t geo_sep; /*!< Geoid separation in units of meters */
uint8_t sats_in_use; /*!< Number of satellites currently in use */
uint8_t fix; /*!< Type of current fix, `0` = Invalid, `1` = GPS fix, `2` = Differential GPS fix */
uint8_t hours; /*!< Current UTC hours */
uint8_t minutes; /*!< Current UTC minutes */
uint8_t seconds; /*!< Current UTC seconds */
} gga; /*!< GPGGA message */
#endif /* LWGPS_CFG_STATEMENT_GPGGA */
#if LWGPS_CFG_STATEMENT_GPGSA
struct {
lwgps_float_t dop_h; /*!< Horizontal dilution of precision */
lwgps_float_t dop_v; /*!< Vertical dilution of precision */
lwgps_float_t dop_p; /*!< Position dilution of precision */
uint8_t fix_mode; /*!< Fix mode, `1` = No fix, `2` = 2D fix, `3` = 3D fix */
uint8_t satellites_ids[12]; /*!< IDs of satellites currently in use */
} gsa; /*!< GPGSA message */
#endif /* LWGPS_CFG_STATEMENT_GPGSA */
#if LWGPS_CFG_STATEMENT_GPGSV
struct {
uint8_t sats_in_view; /*!< Number of stallites in view */
uint8_t stat_num; /*!< Satellite line number during parsing GPGSV data */
} gsv; /*!< GPGSV message */
#endif /* LWGPS_CFG_STATEMENT_GPGSV */
#if LWGPS_CFG_STATEMENT_GPRMC
struct {
uint8_t is_valid; /*!< Status whether GPS status is valid or not */
uint8_t date; /*!< Current UTC date */
uint8_t month; /*!< Current UTC month */
uint8_t year; /*!< Current UTC year */
lwgps_float_t speed; /*!< Current spead over the ground in knots */
lwgps_float_t course; /*!< Current course over ground */
lwgps_float_t variation; /*!< Current magnetic variation in degrees */
} rmc; /*!< GPRMC message */
#endif /* LWGPS_CFG_STATEMENT_GPRMC */
#if LWGPS_CFG_STATEMENT_PUBX_TIME
struct {
uint8_t hours; /*!< Current UTC hours */
uint8_t minutes; /*!< Current UTC minutes */
uint8_t seconds; /*!< Current UTC seconds */
uint8_t date; /*!< Current UTC date */
uint8_t month; /*!< Current UTC month */
uint8_t year; /*!< Current UTC year */
lwgps_float_t utc_tow; /*!< UTC TimeOfWeek, eg 113851.00 */
uint16_t utc_wk; /*!< UTC week number, continues beyond 1023 */
uint8_t leap_sec; /*!< UTC leap seconds; UTC + leap_sec = TAI */
uint32_t clk_bias; /*!< Receiver clock bias, eg 1930035 */
lwgps_float_t clk_drift; /*!< Receiver clock drift, eg -2660.664 */
uint32_t tp_gran; /*!< Time pulse granularity, eg 43 */
} time; /*!< PUBX TIME message */
#endif /* LWGPS_CFG_STATEMENT_PUBX_TIME */
} data; /*!< Union with data for each information */
} p; /*!< Structure with private data */
#endif /* !__DOXYGEN__ */
} lwgps_t;
/**
* \brief List of optional speed transformation from GPS values (in knots)
*/
typedef enum {
/* Metric values */
lwgps_speed_kps, /*!< Kilometers per second */
lwgps_speed_kph, /*!< Kilometers per hour */
lwgps_speed_mps, /*!< Meters per second */
lwgps_speed_mpm, /*!< Meters per minute */
/* Imperial values */
lwgps_speed_mips, /*!< Miles per second */
lwgps_speed_mph, /*!< Miles per hour */
lwgps_speed_fps, /*!< Foots per second */
lwgps_speed_fpm, /*!< Foots per minute */
/* Optimized for runners/joggers */
lwgps_speed_mpk, /*!< Minutes per kilometer */
lwgps_speed_spk, /*!< Seconds per kilometer */
lwgps_speed_sp100m, /*!< Seconds per 100 meters */
lwgps_speed_mipm, /*!< Minutes per mile */
lwgps_speed_spm, /*!< Seconds per mile */
lwgps_speed_sp100y, /*!< Seconds per 100 yards */
/* Nautical values */
lwgps_speed_smph, /*!< Sea miles per hour */
} lwgps_speed_t;
/**
* \brief Signature for caller-suplied callback function from gps_process
* \param[in] res: statement type of recently parsed statement
*/
typedef void (*lwgps_process_fn)(lwgps_statement_t res);
/**
* \brief Check if current GPS data contain valid signal
* \note \ref LWGPS_CFG_STATEMENT_GPRMC must be enabled and `GPRMC` statement must be sent from GPS receiver
* \param[in] _gh: GPS handle
* \return `1` on success, `0` otherwise
*/
#if LWGPS_CFG_STATEMENT_GPRMC || __DOXYGEN__
#define lwgps_is_valid(_gh) ((_gh)->is_valid)
#else
#define lwgps_is_valid(_gh) (0)
#endif /* LWGPS_CFG_STATEMENT_GPRMC || __DOXYGEN__ */
uint8_t lwgps_init(lwgps_t* gh);
#if LWGPS_CFG_STATUS || __DOXYGEN__
uint8_t lwgps_process(lwgps_t* gh, const void* data, size_t len, lwgps_process_fn evt_fn);
#else /* LWGPS_CFG_STATUS */
uint8_t lwgps_process(lwgps_t* gh, const void* data, size_t len);
#endif /* !LWGPS_CFG_STATUS */
uint8_t lwgps_distance_bearing(lwgps_float_t las, lwgps_float_t los, lwgps_float_t lae, lwgps_float_t loe, lwgps_float_t* d, lwgps_float_t* b);
lwgps_float_t lwgps_to_speed(lwgps_float_t sik, lwgps_speed_t ts);
/**
* \}
*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* LWGPS_HDR_H */

View File

@ -0,0 +1,171 @@
/**
* \file lwgps_opt.h
* \brief LwGPS options
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwGPS - Lightweight GPS NMEA parser library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: $2.1.0$
*/
#ifndef LWGPS_HDR_OPT_H
#define LWGPS_HDR_OPT_H
/* Include application options */
#ifndef LWGPS_IGNORE_USER_OPTS
#include "lwgps_opts.h"
#endif /* LWGPS_IGNORE_USER_OPTS */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* \defgroup LWGPS_OPT Configuration
* \brief Default configuration setup
* \{
*/
/**
* \brief Enables `1` or disables `0` `double precision` for floating point
* values such as latitude, longitude, altitude.
*
* `double` is used as variable type when enabled, `float` when disabled.
*/
#ifndef LWGPS_CFG_DOUBLE
#define LWGPS_CFG_DOUBLE 1
#endif
/**
* \brief Enables `1` or disables `0` status reporting callback
* by \ref lwgps_process
*
* \note This is an extension, so not enabled by default.
*/
#ifndef LWGPS_CFG_STATUS
#define LWGPS_CFG_STATUS 0
#endif
/**
* \brief Enables `1` or disables `0` `GGA` statement parsing.
*
* \note This statement must be enabled to parse:
* - Latitude, Longitude, Altitude
* - Number of satellites in use, fix (no fix, GPS, DGPS), UTC time
*/
#ifndef LWGPS_CFG_STATEMENT_GPGGA
#define LWGPS_CFG_STATEMENT_GPGGA 1
#endif
/**
* \brief Enables `1` or disables `0` `GSA` statement parsing.
*
* \note This statement must be enabled to parse:
* - Position/Vertical/Horizontal dilution of precision
* - Fix mode (no fix, 2D, 3D fix)
* - IDs of satellites in use
*/
#ifndef LWGPS_CFG_STATEMENT_GPGSA
#define LWGPS_CFG_STATEMENT_GPGSA 1
#endif
/**
* \brief Enables `1` or disables `0` `RMC` statement parsing.
*
* \note This statement must be enabled to parse:
* - Validity of GPS signal
* - Ground speed in knots and coarse in degrees
* - Magnetic variation
* - UTC date
*/
#ifndef LWGPS_CFG_STATEMENT_GPRMC
#define LWGPS_CFG_STATEMENT_GPRMC 1
#endif
/**
* \brief Enables `1` or disables `0` `GSV` statement parsing.
*
* \note This statement must be enabled to parse:
* - Number of satellites in view
* - Optional details of each satellite in view. See \ref LWGPS_CFG_STATEMENT_GPGSV_SAT_DET
*/
#ifndef LWGPS_CFG_STATEMENT_GPGSV
#define LWGPS_CFG_STATEMENT_GPGSV 1
#endif
/**
* \brief Enables `1` or disables `0` detailed parsing of each
* satellite in view for `GSV` statement.
*
* \note When this feature is disabled, only number of "satellites in view" is parsed
*/
#ifndef LWGPS_CFG_STATEMENT_GPGSV_SAT_DET
#define LWGPS_CFG_STATEMENT_GPGSV_SAT_DET 0
#endif
/**
* \brief Enables `1` or disables `0` parsing and generation
* of PUBX (uBlox) messages
*
* PUBX are a nonstandard ublox-specific extensions,
* so disabled by default.
*/
#ifndef LWGPS_CFG_STATEMENT_PUBX
#define LWGPS_CFG_STATEMENT_PUBX 0
#endif
/**
* \brief Enables `1` or disables `0` parsing and generation
* of PUBX (uBlox) TIME messages.
*
* \note TIME messages can be used to obtain:
* - UTC time of week
* - UTC week number
* - Leap seconds (allows conversion to eg. TAI)
*
* This is a nonstandard ublox-specific extension,
* so disabled by default.
*
* This configure option requires LWGPS_CFG_STATEMENT_PUBX
*/
#ifndef LWGPS_CFG_STATEMENT_PUBX_TIME
#define LWGPS_CFG_STATEMENT_PUBX_TIME 0
#endif
/* Guard against accidental parser breakage */
#if LWGPS_CFG_STATEMENT_PUBX_TIME && !LWGPS_CFG_STATEMENT_PUBX
#error LWGPS_CFG_STATEMENT_PUBX must be enabled when enabling LWGPS_CFG_STATEMENT_PUBX_TIME
#endif /* LWGPS_CFG_STATEMENT_PUBX_TIME && !LWGPS_CFG_STATEMENT_PUBX */
/**
* \}
*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* LWGPS_HDR_OPT_H */

View File

@ -0,0 +1,44 @@
/**
* \file lwgps_opts_template.h
* \brief LwGPS configuration file
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwGPS - Lightweight GPS NMEA parser library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v2.1.0
*/
#ifndef LWGPS_HDR_OPTS_H
#define LWGPS_HDR_OPTS_H
/* Rename this file to "lwgps_opts.h" for your application */
/*
* Open "include/lwgps/lwgps_opt.h" and
* copy & replace here settings you want to change values
*/
#endif /* LWGPS_HDR_OPTS_H */

View File

@ -0,0 +1,495 @@
/**
* \file lwrb.c
* \brief Lightweight ring buffer
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwRB - Lightweight ring buffer library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v2.0.3
*/
#include "lwrb.h"
/* Memory set and copy functions */
#define BUF_MEMSET memset
#define BUF_MEMCPY memcpy
#define BUF_MAGIC1 (0xDEADBEEF)
#define BUF_MAGIC2 (~0xDEADBEEF)
#if LWRB_USE_MAGIC
#define BUF_IS_VALID(b) ((b) != NULL && (b)->magic1 == BUF_MAGIC1 && (b)->magic2 == BUF_MAGIC2 && (b)->buff != NULL && (b)->size > 0)
#else
#define BUF_IS_VALID(b) ((b) != NULL && (b)->buff != NULL && (b)->size > 0)
#endif /* LWRB_USE_MAGIC */
#define BUF_MIN(x, y) ((x) < (y) ? (x) : (y))
#define BUF_MAX(x, y) ((x) > (y) ? (x) : (y))
#define BUF_SEND_EVT(b, type, bp) do { if ((b)->evt_fn != NULL) { (b)->evt_fn((b), (type), (bp)); } } while (0)
/**
* \brief Initialize buffer handle to default values with size and buffer data array
* \param[in] buff: Buffer handle
* \param[in] buffdata: Pointer to memory to use as buffer data
* \param[in] size: Size of `buffdata` in units of bytes
* Maximum number of bytes buffer can hold is `size - 1`
* \return `1` on success, `0` otherwise
*/
uint8_t
lwrb_init(lwrb_t* buff, void* buffdata, size_t size) {
if (buff == NULL || buffdata == NULL || size == 0) {
return 0;
}
BUF_MEMSET((void*)buff, 0x00, sizeof(*buff));
buff->size = size;
buff->buff = (uint8_t*)buffdata;
#if LWRB_USE_MAGIC
buff->magic1 = BUF_MAGIC1;
buff->magic2 = BUF_MAGIC2;
#endif /* LWRB_USE_MAGIC */
return 1;
}
/**
* \brief Check if buff is initialized and ready to use
* \param[in] buff: Buffer handle
* \return `1` if ready, `0` otherwise
*/
uint8_t
lwrb_is_ready(lwrb_t* buff) {
return BUF_IS_VALID(buff);
}
/**
* \brief Free buffer memory
* \note Since implementation does not use dynamic allocation,
* it just sets buffer handle to `NULL`
* \param[in] buff: Buffer handle
*/
void
lwrb_free(lwrb_t* buff) {
if (BUF_IS_VALID(buff)) {
buff->buff = NULL;
}
}
/**
* \brief Set event function callback for different buffer operations
* \param[in] buff: Buffer handle
* \param[in] evt_fn: Callback function
*/
void
lwrb_set_evt_fn(lwrb_t* buff, lwrb_evt_fn evt_fn) {
if (BUF_IS_VALID(buff)) {
buff->evt_fn = evt_fn;
}
}
/**
* \brief Write data to buffer.
* Copies data from `data` array to buffer and marks buffer as full for maximum `btw` number of bytes
*
* \param[in] buff: Buffer handle
* \param[in] data: Pointer to data to write into buffer
* \param[in] btw: Number of bytes to write
* \return Number of bytes written to buffer.
* When returned value is less than `btw`, there was no enough memory available
* to copy full data array
*/
size_t
lwrb_write(lwrb_t* buff, const void* data, size_t btw) {
size_t tocopy, free;
volatile size_t buff_w_ptr;
const uint8_t* d = (uint8_t*)data;
if (!BUF_IS_VALID(buff) || data == NULL || btw == 0) {
return 0;
}
/* Calculate maximum number of bytes available to write */
free = lwrb_get_free(buff);
btw = BUF_MIN(free, btw);
if (btw == 0) {
return 0;
}
/* Step 1: Write data to linear part of buffer */
buff_w_ptr = buff->w;
tocopy = BUF_MIN(buff->size - buff_w_ptr, btw);
BUF_MEMCPY(&buff->buff[buff_w_ptr], d, tocopy);
buff_w_ptr += tocopy;
btw -= tocopy;
/* Step 2: Write data to beginning of buffer (overflow part) */
if (btw > 0) {
BUF_MEMCPY(buff->buff, &d[tocopy], btw);
buff_w_ptr = btw;
}
/* Step 3: Check end of buffer */
if (buff_w_ptr >= buff->size) {
buff_w_ptr = 0;
}
/*
* Write final value to the actual running variable.
* This is to ensure no read operation can access intermediate data
*/
buff->w = buff_w_ptr;
BUF_SEND_EVT(buff, LWRB_EVT_WRITE, tocopy + btw);
return tocopy + btw;
}
/**
* \brief Read data from buffer.
* Copies data from buffer to `data` array and marks buffer as free for maximum `btr` number of bytes
*
* \param[in] buff: Buffer handle
* \param[out] data: Pointer to output memory to copy buffer data to
* \param[in] btr: Number of bytes to read
* \return Number of bytes read and copied to data array
*/
size_t
lwrb_read(lwrb_t* buff, void* data, size_t btr) {
size_t tocopy, full;
volatile size_t buff_r_ptr;
uint8_t* d = (uint8_t*)data;
if (!BUF_IS_VALID(buff) || data == NULL || btr == 0) {
return 0;
}
/* Calculate maximum number of bytes available to read */
full = lwrb_get_full(buff);
btr = BUF_MIN(full, btr);
if (btr == 0) {
return 0;
}
/* Step 1: Read data from linear part of buffer */
buff_r_ptr = buff->r;
tocopy = BUF_MIN(buff->size - buff_r_ptr, btr);
BUF_MEMCPY(d, &buff->buff[buff_r_ptr], tocopy);
buff_r_ptr += tocopy;
btr -= tocopy;
/* Step 2: Read data from beginning of buffer (overflow part) */
if (btr > 0) {
BUF_MEMCPY(&d[tocopy], buff->buff, btr);
buff_r_ptr = btr;
}
/* Step 3: Check end of buffer */
if (buff_r_ptr >= buff->size) {
buff_r_ptr = 0;
}
/*
* Write final value to the actual running variable.
* This is to ensure no write operation can access intermediate data
*/
buff->r = buff_r_ptr;
BUF_SEND_EVT(buff, LWRB_EVT_READ, tocopy + btr);
return tocopy + btr;
}
/**
* \brief Read from buffer without changing read pointer (peek only)
* \param[in] buff: Buffer handle
* \param[in] skip_count: Number of bytes to skip before reading data
* \param[out] data: Pointer to output memory to copy buffer data to
* \param[in] btp: Number of bytes to peek
* \return Number of bytes peeked and written to output array
*/
size_t
lwrb_peek(lwrb_t* buff, size_t skip_count, void* data, size_t btp) {
size_t full, tocopy;
volatile size_t r;
uint8_t* d = (uint8_t*)data;
if (!BUF_IS_VALID(buff) || data == NULL || btp == 0) {
return 0;
}
r = buff->r;
/* Calculate maximum number of bytes available to read */
full = lwrb_get_full(buff);
/* Skip beginning of buffer */
if (skip_count >= full) {
return 0;
}
r += skip_count;
full -= skip_count;
if (r >= buff->size) {
r -= buff->size;
}
/* Check maximum number of bytes available to read after skip */
btp = BUF_MIN(full, btp);
if (btp == 0) {
return 0;
}
/* Step 1: Read data from linear part of buffer */
tocopy = BUF_MIN(buff->size - r, btp);
BUF_MEMCPY(d, &buff->buff[r], tocopy);
btp -= tocopy;
/* Step 2: Read data from beginning of buffer (overflow part) */
if (btp > 0) {
BUF_MEMCPY(&d[tocopy], buff->buff, btp);
}
return tocopy + btp;
}
/**
* \brief Get available size in buffer for write operation
* \param[in] buff: Buffer handle
* \return Number of free bytes in memory
*/
size_t
lwrb_get_free(lwrb_t* buff) {
size_t size;
volatile size_t w, r;
if (!BUF_IS_VALID(buff)) {
return 0;
}
/* Use temporary values in case they are changed during operations */
w = buff->w;
r = buff->r;
if (w == r) {
size = buff->size;
} else if (r > w) {
size = r - w;
} else {
size = buff->size - (w - r);
}
/* Buffer free size is always 1 less than actual size */
return size - 1;
}
/**
* \brief Get number of bytes currently available in buffer
* \param[in] buff: Buffer handle
* \return Number of bytes ready to be read
*/
size_t
lwrb_get_full(lwrb_t* buff) {
size_t size;
volatile size_t w, r;
if (!BUF_IS_VALID(buff)) {
return 0;
}
/* Use temporary values in case they are changed during operations */
w = buff->w;
r = buff->r;
if (w == r) {
size = 0;
} else if (w > r) {
size = w - r;
} else {
size = buff->size - (r - w);
}
return size;
}
/**
* \brief Resets buffer to default values. Buffer size is not modified
* \note This function is not thread safe.
* When used, application must ensure there is no active read/write operation
* \param[in] buff: Buffer handle
*/
void
lwrb_reset(lwrb_t* buff) {
if (BUF_IS_VALID(buff)) {
buff->w = 0;
buff->r = 0;
BUF_SEND_EVT(buff, LWRB_EVT_RESET, 0);
}
}
/**
* \brief Get linear address for buffer for fast read
* \param[in] buff: Buffer handle
* \return Linear buffer start address
*/
void*
lwrb_get_linear_block_read_address(lwrb_t* buff) {
if (!BUF_IS_VALID(buff)) {
return NULL;
}
return &buff->buff[buff->r];
}
/**
* \brief Get length of linear block address before it overflows for read operation
* \param[in] buff: Buffer handle
* \return Linear buffer size in units of bytes for read operation
*/
size_t
lwrb_get_linear_block_read_length(lwrb_t* buff) {
size_t len;
volatile size_t w, r;
if (!BUF_IS_VALID(buff)) {
return 0;
}
/* Use temporary values in case they are changed during operations */
w = buff->w;
r = buff->r;
if (w > r) {
len = w - r;
} else if (r > w) {
len = buff->size - r;
} else {
len = 0;
}
return len;
}
/**
* \brief Skip (ignore; advance read pointer) buffer data
* Marks data as read in the buffer and increases free memory for up to `len` bytes
*
* \note Useful at the end of streaming transfer such as DMA
* \param[in] buff: Buffer handle
* \param[in] len: Number of bytes to skip and mark as read
* \return Number of bytes skipped
*/
size_t
lwrb_skip(lwrb_t* buff, size_t len) {
size_t full;
volatile size_t r;
if (!BUF_IS_VALID(buff) || len == 0) {
return 0;
}
full = lwrb_get_full(buff);
len = BUF_MIN(len, full);
r = buff->r + len;
if (r >= buff->size) {
r -= buff->size;
}
buff->r = r;
BUF_SEND_EVT(buff, LWRB_EVT_READ, len);
return len;
}
/**
* \brief Get linear address for buffer for fast read
* \param[in] buff: Buffer handle
* \return Linear buffer start address
*/
void*
lwrb_get_linear_block_write_address(lwrb_t* buff) {
if (!BUF_IS_VALID(buff)) {
return NULL;
}
return &buff->buff[buff->w];
}
/**
* \brief Get length of linear block address before it overflows for write operation
* \param[in] buff: Buffer handle
* \return Linear buffer size in units of bytes for write operation
*/
size_t
lwrb_get_linear_block_write_length(lwrb_t* buff) {
size_t len;
volatile size_t w, r;
if (!BUF_IS_VALID(buff)) {
return 0;
}
/* Use temporary values in case they are changed during operations */
w = buff->w;
r = buff->r;
if (w >= r) {
len = buff->size - w;
/*
* When read pointer is 0,
* maximal length is one less as if too many bytes
* are written, buffer would be considered empty again (r == w)
*/
if (r == 0) {
/*
* Cannot overflow:
* - If r is not 0, statement does not get called
* - buff->size cannot be 0 and if r is 0, len is greater 0
*/
--len;
}
} else {
len = r - w - 1;
}
return len;
}
/**
* \brief Advance write pointer in the buffer.
* Similar to skip function but modifies write pointer instead of read
*
* \note Useful when hardware is writing to buffer and application needs to increase number
* of bytes written to buffer by hardware
* \param[in] buff: Buffer handle
* \param[in] len: Number of bytes to advance
* \return Number of bytes advanced for write operation
*/
size_t
lwrb_advance(lwrb_t* buff, size_t len) {
size_t free;
volatile size_t w;
if (!BUF_IS_VALID(buff) || len == 0) {
return 0;
}
/* Use local variables before writing back to main structure */
free = lwrb_get_free(buff);
len = BUF_MIN(len, free);
w = buff->w + len;
if (w >= buff->size) {
w -= buff->size;
}
buff->w = w;
BUF_SEND_EVT(buff, LWRB_EVT_WRITE, len);
return len;
}

View File

@ -0,0 +1,139 @@
/**
* \file lwrb.h
* \brief LwRB - Lightweight ring buffer
*/
/*
* Copyright (c) 2020 Tilen MAJERLE
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
* AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* This file is part of LwRB - Lightweight ring buffer library.
*
* Author: Tilen MAJERLE <tilen@majerle.eu>
* Version: v2.0.3
*/
#ifndef LWRB_HDR_H
#define LWRB_HDR_H
#include <string.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* \defgroup LWRB Lightweight ring buffer manager
* \brief Lightweight ring buffer manager
* \{
*/
/**
* \brief Enable buffer structure pointer parameters as volatile
* To use this feature, uncomment keyword below, or define in global compiler settings
*/
#ifndef LWRB_VOLATILE
#define LWRB_VOLATILE /* volatile */
#endif
/**
* \brief Adds 2 magic words to make sure if memory is corrupted
* application can detect wrong data pointer and maximum size
*/
#ifndef LWRB_USE_MAGIC
#define LWRB_USE_MAGIC 1
#endif
/**
* \brief Event type for buffer operations
*/
typedef enum {
LWRB_EVT_READ, /*!< Read event */
LWRB_EVT_WRITE, /*!< Write event */
LWRB_EVT_RESET, /*!< Reset event */
} lwrb_evt_type_t;
/**
* \brief Buffer structure forward declaration
*/
struct lwrb;
/**
* \brief Event callback function type
* \param[in] buff: Buffer handle for event
* \param[in] evt: Event type
* \param[in] bp: Number of bytes written or read (when used), depends on event type
*/
typedef void (*lwrb_evt_fn)(struct lwrb* buff, lwrb_evt_type_t evt, size_t bp);
/**
* \brief Buffer structure
*/
typedef struct lwrb {
#if LWRB_USE_MAGIC
uint32_t magic1; /*!< Magic 1 word */
#endif /* LWRB_USE_MAGIC */
uint8_t* buff; /*!< Pointer to buffer data.
Buffer is considered initialized when `buff != NULL` and `size > 0` */
LWRB_VOLATILE size_t size; /*!< Size of buffer data. Size of actual buffer is `1` byte less than value holds */
LWRB_VOLATILE size_t r; /*!< Next read pointer. Buffer is considered empty when `r == w` and full when `w == r - 1` */
LWRB_VOLATILE size_t w; /*!< Next write pointer. Buffer is considered empty when `r == w` and full when `w == r - 1` */
lwrb_evt_fn evt_fn; /*!< Pointer to event callback function */
#if LWRB_USE_MAGIC
uint32_t magic2; /*!< Magic 2 word */
#endif /* LWRB_USE_MAGIC */
} lwrb_t;
uint8_t lwrb_init(lwrb_t* buff, void* buffdata, size_t size);
uint8_t lwrb_is_ready(lwrb_t* buff);
void lwrb_free(lwrb_t* buff);
void lwrb_reset(lwrb_t* buff);
void lwrb_set_evt_fn(lwrb_t* buff, lwrb_evt_fn fn);
/* Read/Write functions */
size_t lwrb_write(lwrb_t* buff, const void* data, size_t btw);
size_t lwrb_read(lwrb_t* buff, void* data, size_t btr);
size_t lwrb_peek(lwrb_t* buff, size_t skip_count, void* data, size_t btp);
/* Buffer size information */
size_t lwrb_get_free(lwrb_t* buff);
size_t lwrb_get_full(lwrb_t* buff);
/* Read data block management */
void* lwrb_get_linear_block_read_address(lwrb_t* buff);
size_t lwrb_get_linear_block_read_length(lwrb_t* buff);
size_t lwrb_skip(lwrb_t* buff, size_t len);
/* Write data block management */
void* lwrb_get_linear_block_write_address(lwrb_t* buff);
size_t lwrb_get_linear_block_write_length(lwrb_t* buff);
size_t lwrb_advance(lwrb_t* buff, size_t len);
/**
* \}
*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* LWRB_HDR_H */

View File

@ -6,10 +6,10 @@ ZZ_SysConfigger::ZZ_SysConfigger(QObject* parent /*= nullptr*/)
#ifdef _DEBUG
m_qstrDeviceConfigFilePath = "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Settings/DeviceSettings.ini";
#else
m_qstrDeviceConfigFilePath = "/home/data/Setting/DeviceSettings.ini";
m_qstrDeviceSettingsFilePath = "/home/data/Setting/DeviceSettings.ini";
#endif // DEBUG
m_qsDeviceConfig = NULL;
m_qsDeviceSettings = NULL;
}
@ -17,3 +17,108 @@ ZZ_SysConfigger::~ZZ_SysConfigger()
{
}
void ZZ_SysConfigger::Initialize()
{
if (m_qsDeviceSettings != NULL)
{
delete m_qsDeviceSettings;
}
m_qsDeviceSettings = new QSettings(m_qstrDeviceSettingsFilePath, QSettings::IniFormat);
}
//void ZZ_SysConfigger::SetContext(OneFSContext struOFSC)
//{
// m_struOneFSContext = struOFSC;
//}
bool ZZ_SysConfigger::LoadSettings_FS(OneFSContext &struOFSC)
{
bool bRes = true;
////
QString qstrTemp = m_qsDeviceSettings->value(QString("FS/Model"), "Null").toString();
if(qstrTemp == "Null")
{
qDebug() << "FS Model Value Err.";
return false;
}
m_struOneFSContext.ucDeviceModel = ZZ_MISCDEF::IRIS::GetIndex(qstrTemp.toStdString());
////
qstrTemp = m_qsDeviceSettings->value(QString("FS/Port"), "Null").toString();
if (qstrTemp == "Null")
{
qDebug() << "FS Port Value Err.";
return false;
}
m_struOneFSContext.strInterface = qstrTemp.toStdString();
////
qstrTemp = m_qsDeviceSettings->value(QString("FS/UID"), "Null").toString();
if (qstrTemp == "Null")
{
qDebug() << "FS UID Value Err.";
return false;
}
m_struOneFSContext.strSN = qstrTemp.toStdString();
////
float fAEMax = m_qsDeviceSettings->value(QString("FS/AEMax"), -1).toFloat();
if (fAEMax == -1)
{
qDebug() << "FS AEMax Value Err.";
return false;
}
m_struOneFSContext.fMaxFactor = fAEMax;
////
float fAEMin = m_qsDeviceSettings->value(QString("FS/AEMin"), -1).toFloat();
if (fAEMin == -1)
{
qDebug() << "FS AEMin Value Err.";
return false;
}
m_struOneFSContext.fMinFactor = fAEMin;
////
long lDepth = m_qsDeviceSettings->value(QString("FS/Depth"), -1).toInt();
if (lDepth == -1)
{
qDebug() << "FS Depth Value Err.";
return false;
}
m_struOneFSContext.lDepth = lDepth;
////
double dMSI= m_qsDeviceSettings->value(QString("FS/MinSI"), -1).toDouble();
if (dMSI == -1)
{
qDebug() << "FS MinSI Value Err.";
return false;
}
m_struOneFSContext.dMinSamplingInterval = dMSI;
////
struOFSC = m_struOneFSContext;
////
return bRes;
}
bool ZZ_SysConfigger::LoadSettings_GPS(GPSInfo &struGPSC)
{
bool bRes = true;
////
QString qstrTemp = m_qsDeviceSettings->value(QString("GPS/Port"), "Null").toString();
if (qstrTemp == "Null")
{
qDebug() << "GPS Port Value Err.";
return false;
}
m_struGPSContext.qstrInterfaceName = qstrTemp;
////
qstrTemp = m_qsDeviceSettings->value(QString("GPS/Baud"), "Null").toString();
if (qstrTemp == "Null")
{
qDebug() << "GPS Port Value Err.";
return false;
}
m_struGPSContext.iBaud = qstrTemp.toInt();
////
struGPSC = m_struGPSContext;
////
return true;
}

View File

@ -1,6 +1,8 @@
#pragma once
#include "pch.h"
#include "ZZ_Types.h"
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
class ZZ_SysConfigger :public QObject
{
@ -13,7 +15,17 @@ public:
public:
private:
OneFSContext m_struOneFSContext;
GPSInfo m_struGPSContext;
QString m_qstrDeviceSettingsFilePath;
QSettings* m_qsDeviceSettings;
public:
void Initialize();
//void SetContext(OneFSContext struOFSC);
bool LoadSettings_FS(OneFSContext &struOFSC);
bool LoadSettings_GPS(GPSInfo &struGPSC);
};

View File

@ -1,8 +1,45 @@
#include "pch.h"
#include "Logger.h"
#include "Source/Settings/SysConfigger.h"
#include "BD357Ctrl.h"
#include "ZZ_Types.h"
using namespace std;
int main()
int main(int argc, char* argv[])
{
using namespace ZZ_MISCDEF::ZZ_RUNPARAMS;
using namespace ZZ_MISCDEF::MISC_DETECTOR;
QCoreApplication a(argc, argv);
/////
bool bRes = false;
OneFSContext m_struFSParam;
GPSInfo m_struGPSInfo;
ZZ_SysConfigger m_syscfSettings;
BD357Controller m_ctrlGPS;
///configger
m_syscfSettings.Initialize();
bRes = m_syscfSettings.LoadSettings_FS(m_struFSParam);
if (!bRes)
{
qDebug() << "LoadSettings_FS Err." << endl;
return 1;
}
bRes = m_syscfSettings.LoadSettings_GPS(m_struGPSInfo);
if (!bRes)
{
qDebug() << "LoadSettings_GPS Err." << endl;
return 1;
}
//m_ctrlGPS.Signal_InitSelf();
//m_ctrlGPS.Signal_InitSelf();
m_ctrlGPS.Initialize(m_struGPSInfo);
m_ctrlGPS.SyncDateOnce();
cout << "Hello CMake." << endl;
return 0;
return a.exec();
}

View File

@ -40,7 +40,7 @@
{
"directoryIndex" : 0,
"id" : "IRIS_FODIS::@6890427a1f51a3e7e1df",
"jsonFile" : "target-IRIS_FODIS-Debug-30e14700b6a329269cef.json",
"jsonFile" : "target-IRIS_FODIS-Debug-5ca918ca98341bd5d521.json",
"name" : "IRIS_FODIS",
"projectIndex" : 0
},

View File

@ -26,7 +26,7 @@
"objects" :
[
{
"jsonFile" : "codemodel-v2-4b51f020c0a09a8b9c98.json",
"jsonFile" : "codemodel-v2-e3f92b204c4bd4afef92.json",
"kind" : "codemodel",
"version" :
{
@ -99,7 +99,7 @@
}
},
{
"jsonFile" : "codemodel-v2-4b51f020c0a09a8b9c98.json",
"jsonFile" : "codemodel-v2-e3f92b204c4bd4afef92.json",
"kind" : "codemodel",
"version" :
{

View File

@ -30,31 +30,31 @@
{
"command" : 0,
"file" : 0,
"line" : 30,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 27,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 24,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 25,
"line" : 28,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 36,
"line" : 39,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 39,
"line" : 42,
"parent" : 0
},
{
@ -105,6 +105,24 @@
"line" : 22,
"parent" : 0
},
{
"command" : 5,
"file" : 0,
"line" : 23,
"parent" : 0
},
{
"command" : 5,
"file" : 0,
"line" : 24,
"parent" : 0
},
{
"command" : 5,
"file" : 0,
"line" : 25,
"parent" : 0
},
{
"command" : 4,
"file" : 1,
@ -170,21 +188,33 @@
},
{
"backtrace" : 14,
"path" : "/home/pi/FODIS/src/IRIS_FODIS/Source/Settings"
},
{
"backtrace" : 15,
"path" : "/home/pi/FODIS/src/IRIS_FODIS/Source/GPS"
},
{
"backtrace" : 16,
"path" : "/home/pi/FODIS/src/IRIS_FODIS/Source/Logger"
},
{
"backtrace" : 17,
"isSystem" : true,
"path" : "/usr/include/arm-linux-gnueabihf/qt5"
},
{
"backtrace" : 14,
"backtrace" : 17,
"isSystem" : true,
"path" : "/usr/include/arm-linux-gnueabihf/qt5/QtCore"
},
{
"backtrace" : 14,
"backtrace" : 17,
"isSystem" : true,
"path" : "/usr/lib/arm-linux-gnueabihf/qt5/mkspecs/linux-g++"
},
{
"backtrace" : 15,
"backtrace" : 18,
"isSystem" : true,
"path" : "/usr/include/arm-linux-gnueabihf/qt5/QtSerialPort"
}
@ -202,9 +232,13 @@
[
0,
1,
393,
394,
395
400,
401,
402,
403,
404,
405,
406
]
}
],
@ -290,9 +324,13 @@
[
0,
1,
393,
394,
395
400,
401,
402,
403,
404,
405,
406
]
},
{
@ -689,7 +727,14 @@
389,
390,
391,
392
392,
393,
394,
395,
396,
397,
398,
399
]
}
],
@ -733,6 +778,36 @@
"path" : "Source/FS/ZZ_Types.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/GPS/BD357Ctrl.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/GPS/lwgps.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/GPS/lwgps_opt.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/GPS/lwgps_opts.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/GPS/lwrb.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/Logger/Logger.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/OSIF/include/api/DeviceFactory.h",
@ -2653,6 +2728,11 @@
"path" : "Source/OSIF/include/vendors/OceanOptics/utils/Polynomial.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/Settings/SysConfigger.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 1,
"path" : "Source/ZZ_SDK/ZZ_Math_HDRONLY.h",
@ -2680,6 +2760,30 @@
"compileGroupIndex" : 0,
"path" : "Source/FS/OControl_USB.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "Source/GPS/BD357Ctrl.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "Source/GPS/lwgps.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "Source/GPS/lwrb.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "Source/Settings/SysConfigger.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"

View File

@ -0,0 +1,185 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.21.21080301-MSVC_2/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.21.21080301-MSVC_2/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.21.21080301-MSVC_2/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/Windows.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/WindowsPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Compiler/MSVC-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/Windows-MSVC-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/Windows-MSVC.cmake"
},
{
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/3.21.21080301-MSVC_2/CMakeRCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeRCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Compiler/MSVC-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/Windows-MSVC-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/Platform/Windows-MSVC.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5/Qt5ConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5/Qt5Config.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5/Qt5ModuleLocation.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreConfig.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21/Modules/CMakeParseArguments.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5SerialPort/Qt5SerialPortConfigVersion.cmake"
},
{
"isExternal" : true,
"path" : "C:/Qt/Qt5.9.0/5.9/msvc2017_64/lib/cmake/Qt5SerialPort/Qt5SerialPortConfig.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug",
"source" : "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@ -0,0 +1,69 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"jsonFile" : "directory-.-Debug-d0094a50bb2071803777.json",
"minimumCMakeVersion" :
{
"string" : "3.8"
},
"projectIndex" : 0,
"source" : ".",
"targetIndexes" :
[
0,
1
]
}
],
"name" : "Debug",
"projects" :
[
{
"directoryIndexes" :
[
0
],
"name" : "IRIS_FODIS",
"targetIndexes" :
[
0,
1
]
}
],
"targets" :
[
{
"directoryIndex" : 0,
"id" : "IRIS_FODIS::@6890427a1f51a3e7e1df",
"jsonFile" : "target-IRIS_FODIS-Debug-53bd5c6c614ce5cc4ef7.json",
"name" : "IRIS_FODIS",
"projectIndex" : 0
},
{
"directoryIndex" : 0,
"id" : "IRIS_FODIS_autogen::@6890427a1f51a3e7e1df",
"jsonFile" : "target-IRIS_FODIS_autogen-Debug-92303e7ef9b498c165a8.json",
"name" : "IRIS_FODIS_autogen",
"projectIndex" : 0
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug",
"source" : "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS"
},
"version" :
{
"major" : 2,
"minor" : 3
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -0,0 +1,132 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Ninja"
},
"paths" :
{
"cmake" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe",
"cpack" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cpack.exe",
"ctest" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/ctest.exe",
"root" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.21"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 21,
"patch" : 21080301,
"string" : "3.21.21080301-MSVC_2",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-7b5d91b070a739393d7e.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "cache-v2-b019baf930a1f1eab09a.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-85638c0bbee5e0830b0c.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "toolchains-v1-ab49a8cc244824406b61.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-MicrosoftVS" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "cmakeFiles",
"version" : 1
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-b019baf930a1f1eab09a.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-85638c0bbee5e0830b0c.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-7b5d91b070a739393d7e.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 3
}
},
{
"jsonFile" : "toolchains-v1-ab49a8cc244824406b61.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
]
}
}
}
}

View File

@ -0,0 +1,58 @@
{
"backtrace" : 0,
"backtraceGraph" :
{
"commands" : [],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
}
]
},
"id" : "IRIS_FODIS_autogen::@6890427a1f51a3e7e1df",
"isGeneratorProvided" : true,
"name" : "IRIS_FODIS_autogen",
"paths" :
{
"build" : ".",
"source" : "."
},
"sourceGroups" :
[
{
"name" : "",
"sourceIndexes" :
[
0
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
1
]
}
],
"sources" :
[
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen",
"sourceGroupIndex" : 0
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen.rule",
"sourceGroupIndex" : 1
}
],
"type" : "UTILITY"
}

View File

@ -0,0 +1,75 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "MSVC",
"implicit" :
{
"includeDirectories" : [],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.30.30705/bin/Hostx64/x64/cl.exe",
"version" : "19.30.30705.0"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "MSVC",
"implicit" :
{
"includeDirectories" : [],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.30.30705/bin/Hostx64/x64/cl.exe",
"version" : "19.30.30705.0"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm"
]
},
{
"compiler" :
{
"implicit" : {},
"path" : "D:/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe"
},
"language" : "RC",
"sourceFileExtensions" :
[
"rc",
"RC"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

Binary file not shown.

View File

@ -0,0 +1,16 @@
# ninja log v5
0 31 0 CMakeFiles/clean.additional 97ebf0815b79b321
42 54 0 clean 3f9b83505c84670f
1 474 0 CMakeFiles/IRIS_FODIS_autogen ec1e1b7c64947569
1 474 0 IRIS_FODIS_autogen/mocs_compilation.cpp ec1e1b7c64947569
1 474 0 E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen ec1e1b7c64947569
1 474 0 E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/IRIS_FODIS_autogen/mocs_compilation.cpp ec1e1b7c64947569
474 2467 6698169118412625 CMakeFiles/IRIS_FODIS.dir/IRIS_FODIS_autogen/mocs_compilation.cpp.obj 518de0ae23f685b5
487 2471 6698169118432572 CMakeFiles/IRIS_FODIS.dir/main.cpp.obj f07178b4469b51be
498 2473 6698169118462535 CMakeFiles/IRIS_FODIS.dir/Source/FS/OControl_USB.cpp.obj ea5cbbc81c6cdedb
491 2476 6698169118472466 CMakeFiles/IRIS_FODIS.dir/Source/FS/ATPControl_Serial_QT.cpp.obj a65d2d5434e1efbf
495 2481 6698169118582175 CMakeFiles/IRIS_FODIS.dir/Source/FS/DataFileProcessor.cpp.obj 50742e6bd79e3cc6
3 60 0 CMakeFiles/IRIS_FODIS_autogen ec1e1b7c64947569
3 60 0 IRIS_FODIS_autogen/mocs_compilation.cpp ec1e1b7c64947569
3 60 0 E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen ec1e1b7c64947569
3 60 0 E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/IRIS_FODIS_autogen/mocs_compilation.cpp ec1e1b7c64947569

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
moc:96de1c186fbf45fe5eb21e2c05549d4788c2f1f364de771acaadd6d5d9a922b5

View File

@ -0,0 +1,411 @@
# Generated by CMake. Changes will be overwritten.
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OceanBinaryProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/network/TCPIPv4SocketTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/ATPControl_Serial_QT.h
mmc:Q_OBJECT
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/USB4000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/ZZ_Types.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwgps_opt.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/usb/USBInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetHardwareRevisionExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/Bus.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/thermoelectric/ThermoElectricFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/DataFileProcessor.h
mmc:Q_OBJECT
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/FPGARegisterProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/data_buffer/DataBufferFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/features/Feature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/rs232/RS232DeviceLocator.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/features/FeatureFamily.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/IrisFiberSpectrometerBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/OControl_USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/BD357Ctrl.h
mmc:Q_OBJECT
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPLightSourceIntensityQuery.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwgps.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest256SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/UShortVector.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/DeviceLocatorInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwgps_opts.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/RawUSBBusAccessFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/ThermoElectricCoolerFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/USB4000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwrb.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/Logger/Logger.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/DeviceFactory.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/NIRQuestSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/DllDecl.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/NIRQuest512USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/SeaBreezeWrapper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/AcquisitionDelayFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/JazSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/USB2000PlusUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/SeaBreezeAPIConstants.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/SaturationEEPROMSlotFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/ContinuousStrobeFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPProgrammableSaturationProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/DataBufferFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/DeviceAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/network/TCPIPv4SocketBus.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/EEPROMFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPAcquisitionDelayProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/acquisition_delay/AcquisitionDelayFeature_FPGA.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/SpectrometerFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteEEPROMSlotExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/data_buffer/QEProDataBufferFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/FeatureException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/FeatureAdapterInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/temperature/TemperatureFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/U32Vector.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrum_processing/SpectrumProcessingFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/FeatureAdapterTemplate.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/features/FeatureImpl.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/FeatureFamilies.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/wavecal/WaveCalFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/FloatVector.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/IrradCalFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/LightSourceFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIWriteIrradCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/network/IPv4NetworkProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/NonlinearityCoeffsFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/BusFamilies.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/OpticalBenchFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/SeaBreeze.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/stray_light/StrayLightCoeffsFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/acquisition_delay/AcquisitionDelayFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/PixelBinningFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/ProtocolFamilies.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPReadSpectrumWithGainExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR4000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/VentanaLightSourceFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/TransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/JazUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/system/NativeSystem.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/RevisionFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/StrayLightCoeffsFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/StrayLightCoeffsProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/SerialNumberFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/continuous_strobe/ContinuousStrobeFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/SeaBreezeAPI.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPRequestSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/VentanaUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/ShutterFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/StrobeLampFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/BusFamily.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/SpectrumProcessingFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/api/seabreezeapi/TemperatureFeatureAdapter.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/WavelengthEEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Blaze.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/ByteVector.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/Data.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOITECProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/network/JazTCPIPv4.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/usb/USBDeviceLocator.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000PlusSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/DoubleVector.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/continuous_strobe/ContinuousStrobeFeature_FPGA.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/Log.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/UnitDescriptor.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/ZZ_SDK/ZZ_Math_HDRONLY.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/NonlinearityCoeffsProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/Inet4Address.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/DeviceLocationProberInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/UnknownHostException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/network/IPv4SocketDeviceLocator.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/rs232/RS232Interface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/Exchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/rs232/RS232TransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/continuous_strobe/ContinuousStrobeFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/buses/usb/USBTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIIrradCalProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/devices/Device.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/BusConnectException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/BusException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/BusTransferException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPRevisionProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/FeatureControlException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/FeatureProtocolNotFoundException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/IllegalArgumentException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/NumberFormatException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/nonlinearity/NonlinearityCoeffsFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/ProtocolBusMismatchException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/ProtocolException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPSerialNumberProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/ProtocolFormatException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/exceptions/ProtocolTransactionException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetDefaultPixelBinningExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/globals.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/Protocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/ProtocolFamily.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/ProtocolHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/ApexUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/ProtocolHint.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/Transaction.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/common/protocols/Transfer.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/Socket.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/SocketException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/SocketTimeoutException.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/posix/NativeSocketPOSIX.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/network/windows/NativeSocketWindows.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TriggerModeExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/IntegrationTimeExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGASpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/rs232/NativeRS232.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetNonlinearityCoeffsCountExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/rs232/RS232.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/rs232/windows/NativeRS232Windows.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/system/System.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/usb/NativeUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/usb/USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/usb/USBDiscovery.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBEndpointMaps.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/native/usb/winusb/WindowsGUID.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/network/BlazeTCPIPv4.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/Maya2000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/rs232/OOIRS232Interface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetThermoElectricEnableExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/BlazeUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/BlazeUSBTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/FlameNIRUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPLightSourceEnabledQuery.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetIrradCollectionAreaExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/STSUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/HR2000PlusUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/HR2000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetDataBufferElementCountExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/HR4000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/Maya2000ProUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/MayaLSLUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/JazSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/NIRQuest256USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSB4KSpectrumTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBControlTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPThermoElectricProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeatureImpl.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBProductID.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBSpectrumTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/OOIUSBTrivialTransferHelper.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/raw_bus_access/RawUSBBusAccessFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/QE65000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/QEProUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrum_processing/SpectrumProcessingFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/NonlinearityEEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/SparkUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/TorusUSB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPDataBufferClearExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/buses/usb/USB2000USB.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/main.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Apex.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/FlameNIR.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/STS.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/HR2000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/HR2000Plus.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/HR4000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Jaz.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Maya2000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Maya2000Pro.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/MayaLSL.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPContinuousStrobePeriodExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/NIRQuest256.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/NIRQuest512.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/QE65000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPReadRawSpectrum32AndMetadataExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/irradcal/IrradCalFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/QEPro.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/OpCodes.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Spark.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB4000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Torus.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetTemperatureCountExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/USB2000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QEProSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/USB2000Plus.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/devices/Ventana.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/stray_light/StrayLightCoeffsFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SparkSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/acquisition_delay/AcquisitionDelayFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPWaveCalProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/acquisition_delay/STSAcquisitionDelayFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/data_buffer/DataBufferFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/EEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/EEPROMSlotFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/EEPROMSlotFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/SaturationEEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ApexSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/SaturationEEPROMSlotFeature_MayaPro.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/SaturationEEPROMSlotFeature_NIRQuest.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/SerialNumberEEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPIntegrationTimeExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/StrayLightEEPROMSlotFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/serial_number/SerialNumberFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/eeprom_slots/WavelengthEEPROMSlotFeature_QE65000.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/LightSourceFeatureImpl.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/fpga_register/FPGARegisterFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/ControlHint.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/fpga_register/FPGARegisterFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/irradcal/IrradCalFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/LightSourceFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/LightSourceFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/ATPControl_Serial_QT.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/StrobeLampFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/light_source/StrobeLampFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/nonlinearity/NonlinearityCoeffsFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/optical_bench/OpticalBenchFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetStrayLightCoeffExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/optical_bench/OpticalBenchFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/pixel_binning/PixelBinningFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/pixel_binning/STSPixelBinningFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPShutterExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/raw_bus_access/RawUSBBusAccessFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetAcquisitionDelayExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/revision/RevisionFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPShutterProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/revision/RevisionFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetSaturationExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/serial_number/SerialNumberFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/shutter/ShutterFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/shutter/ShutterFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/BlazeSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/constants/OBPMessageTypes.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/FlameNIRSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/STSSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPTransaction.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QE65000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000ProSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/MayaLSLSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetWaveCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest512SpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuestSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeatureBase.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPOpticalBenchProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000PlusSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/spectrometer/VentanaSpectrometerFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/temperature/TemperatureFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/thermoelectric/QEProThermoElectricFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/thermoelectric/ThermoElectricFeatureInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPDataBufferProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/thermoelectric/ThermoElectricQEFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/thermoelectric/VentanaThermoElectricFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/features/wavecal/WaveCalFeature.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/AcquisitionDelayProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/ContinuousStrobeProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/hints/OBPControlHint.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/DataBufferProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/EEPROMProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/FPGARegisterProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/IrradCalProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/LightSourceProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/OpticalBenchProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPReadSpectrum32AndMetadataExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/PixelBinningProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/ProgrammableSaturationProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/RevisionProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/SerialNumberProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/Settings/SysConfigger.h
mmc:Q_OBJECT
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/ShutterProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwrb.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/SpectrometerProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOISpectrometerProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/SpectrumProcessingProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/StrobeLampProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/TemperatureProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchSlitWidthMicronsExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/ThermoElectricProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/interfaces/WaveCalProtocolInterface.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPContinuousStrobeEnableExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIEEPROMProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetAllTemperaturesExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetBoxcarWidthExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetScansToAverageExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetDataBufferCapacityExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetDataBufferMaximumCapacityExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECQESetPointExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetDefaultPixelBinningExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetFirmwareRevisionExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetIrradCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetMaxPixelBinningExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetPixelBinningExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetNonlinearityCoeffExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchIDExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchCoatingExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchFiberDiameterMicronsExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/pch.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchFilterExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchGratingExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetOpticalBenchSerialNumberExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPPixelBinningProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetPixelBinningExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetSerialNumberExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetSerialNumberMaximumLengthExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECQEEnableExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetStrayLightCoeffsCountExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetTemperatureExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPGetThermoElectricTemperatureExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPLampEnableCommand.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPLightSourceEnableCommand.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPLightSourceIntensityCommand.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPMessage.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPReadRawSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPReadSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOI2KSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPRequestBufferedSpectrum32AndMetadataExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPRequestRawSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetBoxcarWidthExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetDataBufferCapacityExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetIrradCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/hints/OBPSpectrumHint.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetIrradCollectionAreaExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetScansToAverageExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPSetThermoElectricSetpointExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/exchanges/OBPTriggerModeExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPContinuousStrobeProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPIrradCalProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPLightSourceProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPLightSourceProtocol_Ventana.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPNonlinearityCoeffsProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPSpectrometerProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPSpectrumProcessingProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPStrayLightCoeffsProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPStrobeLampProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/obp/impls/OBPTemperatureProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/FPGARegisterCodes.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/QETECConstants.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterReadExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterWriteExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FlameNIRSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/HRFPGASpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/MayaProSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/lwgps.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIReadIrradCalExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/QESpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadEEPROMSlotExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECQETemperatureExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/RequestSpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/StrobeEnableExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/USBFPGASpectrumExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/SpectrumHint.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIStrobeLampProtocol.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/OSIF/include/vendors/OceanOptics/utils/Polynomial.h
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/DataFileProcessor.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/FS/OControl_USB.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/GPS/BD357Ctrl.cpp
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/Source/Settings/SysConfigger.cpp

View File

@ -0,0 +1,4 @@
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/IRIS_FODIS.dir
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/edit_cache.dir
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/rebuild_cache.dir
E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen.dir

View File

@ -0,0 +1,10 @@
# Additional clean files
cmake_minimum_required(VERSION 3.16)
if("${CONFIG}" STREQUAL "" OR "${CONFIG}" STREQUAL "Debug")
file(REMOVE_RECURSE
"CMakeFiles\\IRIS_FODIS_autogen.dir\\AutogenUsed.txt"
"CMakeFiles\\IRIS_FODIS_autogen.dir\\ParseCache.txt"
"IRIS_FODIS_autogen"
)
endif()

View File

@ -0,0 +1,77 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Ninja" Generator, CMake Version 3.21
# This file contains all the rules used to get the outputs files
# built from the input files.
# It is included in the main 'build.ninja'.
# =============================================================================
# Project: IRIS_FODIS
# Configurations: Debug
# =============================================================================
# =============================================================================
#############################################
# localized /showIncludes string
msvc_deps_prefix = 注意: 包含文件:
#############################################
# Rule for compiling CXX files.
rule CXX_COMPILER__IRIS_FODIS_Debug
deps = msvc
command = C:\PROGRA~1\MIB055~1\2022\PROFES~1\VC\Tools\MSVC\1430~1.307\bin\Hostx64\x64\cl.exe /nologo /TP $DEFINES $INCLUDES $FLAGS /showIncludes /Fo$out /Fd$TARGET_COMPILE_PDB /FS -c $in
description = Building CXX object $out
#############################################
# Rule for linking CXX executable.
rule CXX_EXECUTABLE_LINKER__IRIS_FODIS_Debug
command = cmd.exe /C "$PRE_LINK && "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=$OBJECT_DIR --rc="D:\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="D:\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests $MANIFESTS -- C:\PROGRA~1\MIB055~1\2022\PROFES~1\VC\Tools\MSVC\1430~1.307\bin\Hostx64\x64\link.exe /nologo $in /out:$TARGET_FILE /implib:$TARGET_IMPLIB /pdb:$TARGET_PDB /version:0.0 $LINK_FLAGS $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
description = Linking CXX executable $TARGET_FILE
restat = $RESTAT
#############################################
# Rule for running custom commands.
rule CUSTOM_COMMAND
command = $COMMAND
description = $DESC
#############################################
# Rule for re-running cmake.
rule RERUN_CMAKE
command = "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --regenerate-during-build -SE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS -BE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug
description = Re-running CMake...
generator = 1
#############################################
# Rule for cleaning additional files.
rule CLEAN_ADDITIONAL
command = "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -DCONFIG=$CONFIG -P CMakeFiles\clean_additional.cmake
description = Cleaning additional files...
#############################################
# Rule for cleaning all built files.
rule CLEAN
command = "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" $FILE_ARG -t clean $TARGETS
description = Cleaning all built files...
#############################################
# Rule for printing all primary targets available.
rule HELP
command = "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" -t targets
description = All primary targets available:

View File

@ -0,0 +1,90 @@
/****************************************************************************
** Meta object code from reading C++ file 'SysConfigger.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../../Source/Settings/SysConfigger.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'SysConfigger.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ZZ_SysConfigger_t {
QByteArrayData data[1];
char stringdata0[16];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ZZ_SysConfigger_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ZZ_SysConfigger_t qt_meta_stringdata_ZZ_SysConfigger = {
{
QT_MOC_LITERAL(0, 0, 15) // "ZZ_SysConfigger"
},
"ZZ_SysConfigger"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ZZ_SysConfigger[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void ZZ_SysConfigger::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObject ZZ_SysConfigger::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_ZZ_SysConfigger.data,
qt_meta_data_ZZ_SysConfigger, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *ZZ_SysConfigger::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ZZ_SysConfigger::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ZZ_SysConfigger.stringdata0))
return static_cast<void*>(const_cast< ZZ_SysConfigger*>(this));
return QObject::qt_metacast(_clname);
}
int ZZ_SysConfigger::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,142 @@
/****************************************************************************
** Meta object code from reading C++ file 'BD357Ctrl.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../../Source/GPS/BD357Ctrl.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'BD357Ctrl.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_BD357Controller_t {
QByteArrayData data[7];
char stringdata0[71];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_BD357Controller_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_BD357Controller_t qt_meta_stringdata_BD357Controller = {
{
QT_MOC_LITERAL(0, 0, 15), // "BD357Controller"
QT_MOC_LITERAL(1, 16, 15), // "Signal_InitSelf"
QT_MOC_LITERAL(2, 32, 0), // ""
QT_MOC_LITERAL(3, 33, 8), // "InitSelf"
QT_MOC_LITERAL(4, 42, 11), // "std::string"
QT_MOC_LITERAL(5, 54, 10), // "ucPortName"
QT_MOC_LITERAL(6, 65, 5) // "iBaud"
},
"BD357Controller\0Signal_InitSelf\0\0"
"InitSelf\0std::string\0ucPortName\0iBaud"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_BD357Controller[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
3, 2, 25, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void,
// slots: parameters
QMetaType::Int, 0x80000000 | 4, QMetaType::Int, 5, 6,
0 // eod
};
void BD357Controller::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
BD357Controller *_t = static_cast<BD357Controller *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->Signal_InitSelf(); break;
case 1: { int _r = _t->InitSelf((*reinterpret_cast< std::string(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = std::move(_r); } break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (BD357Controller::*_t)();
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&BD357Controller::Signal_InitSelf)) {
*result = 0;
return;
}
}
}
}
const QMetaObject BD357Controller::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_BD357Controller.data,
qt_meta_data_BD357Controller, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *BD357Controller::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *BD357Controller::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_BD357Controller.stringdata0))
return static_cast<void*>(const_cast< BD357Controller*>(this));
return QObject::qt_metacast(_clname);
}
int BD357Controller::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
// SIGNAL 0
void BD357Controller::Signal_InitSelf()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,139 @@
/****************************************************************************
** Meta object code from reading C++ file 'ATPControl_Serial_QT.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../../Source/FS/ATPControl_Serial_QT.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'ATPControl_Serial_QT.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ZZ_ATPControl_Serial_Qt_t {
QByteArrayData data[4];
char stringdata0[51];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ZZ_ATPControl_Serial_Qt_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ZZ_ATPControl_Serial_Qt_t qt_meta_stringdata_ZZ_ATPControl_Serial_Qt = {
{
QT_MOC_LITERAL(0, 0, 23), // "ZZ_ATPControl_Serial_Qt"
QT_MOC_LITERAL(1, 24, 15), // "SignalInit_Self"
QT_MOC_LITERAL(2, 40, 0), // ""
QT_MOC_LITERAL(3, 41, 9) // "Init_Self"
},
"ZZ_ATPControl_Serial_Qt\0SignalInit_Self\0"
"\0Init_Self"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ZZ_ATPControl_Serial_Qt[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
3, 0, 25, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void,
// slots: parameters
QMetaType::Int,
0 // eod
};
void ZZ_ATPControl_Serial_Qt::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
ZZ_ATPControl_Serial_Qt *_t = static_cast<ZZ_ATPControl_Serial_Qt *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->SignalInit_Self(); break;
case 1: { int _r = _t->Init_Self();
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = std::move(_r); } break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (ZZ_ATPControl_Serial_Qt::*_t)();
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&ZZ_ATPControl_Serial_Qt::SignalInit_Self)) {
*result = 0;
return;
}
}
}
}
const QMetaObject ZZ_ATPControl_Serial_Qt::staticMetaObject = {
{ &CIrisFSBase::staticMetaObject, qt_meta_stringdata_ZZ_ATPControl_Serial_Qt.data,
qt_meta_data_ZZ_ATPControl_Serial_Qt, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *ZZ_ATPControl_Serial_Qt::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ZZ_ATPControl_Serial_Qt::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ZZ_ATPControl_Serial_Qt.stringdata0))
return static_cast<void*>(const_cast< ZZ_ATPControl_Serial_Qt*>(this));
return CIrisFSBase::qt_metacast(_clname);
}
int ZZ_ATPControl_Serial_Qt::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = CIrisFSBase::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
// SIGNAL 0
void ZZ_ATPControl_Serial_Qt::SignalInit_Self()
{
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,90 @@
/****************************************************************************
** Meta object code from reading C++ file 'DataFileProcessor.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../../Source/FS/DataFileProcessor.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'DataFileProcessor.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_DataFileProcessor_t {
QByteArrayData data[1];
char stringdata0[18];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_DataFileProcessor_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_DataFileProcessor_t qt_meta_stringdata_DataFileProcessor = {
{
QT_MOC_LITERAL(0, 0, 17) // "DataFileProcessor"
},
"DataFileProcessor"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_DataFileProcessor[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void DataFileProcessor::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObject DataFileProcessor::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_DataFileProcessor.data,
qt_meta_data_DataFileProcessor, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *DataFileProcessor::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *DataFileProcessor::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_DataFileProcessor.stringdata0))
return static_cast<void*>(const_cast< DataFileProcessor*>(this));
return QObject::qt_metacast(_clname);
}
int DataFileProcessor::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,5 @@
// This file is autogenerated. Changes will be overwritten.
#include "Y4OZAYNSFZ/moc_ATPControl_Serial_QT.cpp"
#include "Y4OZAYNSFZ/moc_DataFileProcessor.cpp"
#include "SSW2DKPNIO/moc_BD357Ctrl.cpp"
#include "LFZ2LNYI2D/moc_SysConfigger.cpp"

View File

@ -0,0 +1,3 @@
Start testing: Mar 24 17:21 <20>й<EFBFBD><D0B9><EFBFBD>׼ʱ<D7BC><CAB1>
----------------------------------------------------------
End testing: Mar 24 17:21 <20>й<EFBFBD><D0B9><EFBFBD>׼ʱ<D7BC><CAB1>

View File

@ -0,0 +1,246 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Ninja" Generator, CMake Version 3.21
# This file contains all the build statements describing the
# compilation DAG.
# =============================================================================
# Write statements declared in CMakeLists.txt:
#
# Which is the root file.
# =============================================================================
# =============================================================================
# Project: IRIS_FODIS
# Configurations: Debug
# =============================================================================
#############################################
# Minimal version of Ninja required by this file
ninja_required_version = 1.5
#############################################
# Set configuration variable for custom commands.
CONFIGURATION = Debug
# =============================================================================
# Include auxiliary files.
#############################################
# Include rules file.
include CMakeFiles\rules.ninja
# =============================================================================
#############################################
# Logical path to working directory; prefix for absolute paths.
cmake_ninja_workdir = E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\
# =============================================================================
# Object build statements for EXECUTABLE target IRIS_FODIS
#############################################
# Order-only phony target for IRIS_FODIS
build cmake_object_order_depends_target_IRIS_FODIS: phony || IRIS_FODIS_autogen
build CMakeFiles\IRIS_FODIS.dir\IRIS_FODIS_autogen\mocs_compilation.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\mocs_compilation.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\IRIS_FODIS_autogen
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\main.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\main.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\FS\ATPControl_Serial_QT.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS\ATPControl_Serial_QT.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\FS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\FS\DataFileProcessor.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS\DataFileProcessor.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\FS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\FS\OControl_USB.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS\OControl_USB.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\FS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\GPS\BD357Ctrl.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS\BD357Ctrl.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\GPS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\GPS\lwgps.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS\lwgps.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\GPS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\GPS\lwrb.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS\lwrb.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\GPS
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
build CMakeFiles\IRIS_FODIS.dir\Source\Settings\SysConfigger.cpp.obj: CXX_COMPILER__IRIS_FODIS_Debug E$:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings\SysConfigger.cpp || cmake_object_order_depends_target_IRIS_FODIS
DEFINES = -DQT_CORE_LIB -DQT_SERIALPORT_LIB
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -std:c++14
INCLUDES = -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug\IRIS_FODIS_autogen\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\FS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\OSIF\include -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\ZZ_SDK -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Settings -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\GPS -IE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\Source\Logger -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtCore -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\.\mkspecs\win32-msvc -IC:\Qt\Qt5.9.0\5.9\msvc2017_64\include\QtSerialPort
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
OBJECT_FILE_DIR = CMakeFiles\IRIS_FODIS.dir\Source\Settings
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_PDB = IRIS_FODIS.pdb
# =============================================================================
# Link build statements for EXECUTABLE target IRIS_FODIS
#############################################
# Link the executable IRIS_FODIS.exe
build IRIS_FODIS.exe: CXX_EXECUTABLE_LINKER__IRIS_FODIS_Debug CMakeFiles\IRIS_FODIS.dir\IRIS_FODIS_autogen\mocs_compilation.cpp.obj CMakeFiles\IRIS_FODIS.dir\main.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\FS\ATPControl_Serial_QT.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\FS\DataFileProcessor.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\FS\OControl_USB.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\GPS\BD357Ctrl.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\GPS\lwgps.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\GPS\lwrb.cpp.obj CMakeFiles\IRIS_FODIS.dir\Source\Settings\SysConfigger.cpp.obj | C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\Qt5SerialPortd.lib C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\Qt5Cored.lib || IRIS_FODIS_autogen
FLAGS = /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1
LINK_FLAGS = /machine:x64 /debug /INCREMENTAL /subsystem:console
LINK_LIBRARIES = SeaBreeze.lib C:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\Qt5SerialPortd.lib C:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\Qt5Cored.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
LINK_PATH = -LIBPATH:E:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\source\OSIF\DLib -LIBPATH:\home\pi\SeaBrease\lib
OBJECT_DIR = CMakeFiles\IRIS_FODIS.dir
POST_BUILD = cd .
PRE_LINK = cd .
TARGET_COMPILE_PDB = CMakeFiles\IRIS_FODIS.dir\
TARGET_FILE = IRIS_FODIS.exe
TARGET_IMPLIB = IRIS_FODIS.lib
TARGET_PDB = IRIS_FODIS.pdb
#############################################
# Utility command for edit_cache
build CMakeFiles\edit_cache.util: CUSTOM_COMMAND
COMMAND = cmd.exe /C "cd /D E:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug && "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E echo "No interactive CMake dialog available.""
DESC = No interactive CMake dialog available...
restat = 1
build edit_cache: phony CMakeFiles\edit_cache.util
#############################################
# Utility command for rebuild_cache
build CMakeFiles\rebuild_cache.util: CUSTOM_COMMAND
COMMAND = cmd.exe /C "cd /D E:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug && "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --regenerate-during-build -SE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS -BE:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug"
DESC = Running CMake to regenerate build system...
pool = console
restat = 1
build rebuild_cache: phony CMakeFiles\rebuild_cache.util
#############################################
# Utility command for IRIS_FODIS_autogen
build IRIS_FODIS_autogen: phony CMakeFiles\IRIS_FODIS_autogen IRIS_FODIS_autogen\mocs_compilation.cpp
#############################################
# Custom command for CMakeFiles\IRIS_FODIS_autogen
build CMakeFiles\IRIS_FODIS_autogen IRIS_FODIS_autogen\mocs_compilation.cpp | ${cmake_ninja_workdir}CMakeFiles\IRIS_FODIS_autogen ${cmake_ninja_workdir}IRIS_FODIS_autogen\mocs_compilation.cpp: CUSTOM_COMMAND
COMMAND = cmd.exe /C "cd /D E:\WorkSpace\git\IRIS_FODIS\IRIS_FODIS\out\build\x64-Debug && "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E cmake_autogen E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/CMakeFiles/IRIS_FODIS_autogen.dir/AutogenInfo.json Debug"
DESC = Automatic MOC and UIC for target IRIS_FODIS
restat = 1
# =============================================================================
# Target aliases.
build IRIS_FODIS: phony IRIS_FODIS.exe
# =============================================================================
# Folder targets.
# =============================================================================
#############################################
# Folder: E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug
build all: phony IRIS_FODIS.exe
# =============================================================================
# Built-in targets
#############################################
# Re-run CMake if any of its inputs changed.
build build.ninja: RERUN_CMAKE | ..\..\..\CMakeLists.txt C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCXXInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCommonLanguageInclude.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeGenericSystem.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeInitializeConfigs.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeLanguageInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeParseArguments.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeRCInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeSystemSpecificInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeSystemSpecificInitialize.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\CMakeCommonCompilerMacros.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\MSVC-C.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\MSVC-CXX.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC-C.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC-CXX.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\WindowsPaths.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfig.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtras.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtrasMkspecDir.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreMacros.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5SerialPort\Qt5SerialPortConfig.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5SerialPort\Qt5SerialPortConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5Config.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5ConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5ModuleLocation.cmake CMakeCache.txt CMakeFiles\3.21.21080301-MSVC_2\CMakeCCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeCXXCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeRCCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeSystem.cmake
pool = console
#############################################
# A missing CMake input file is not an error.
build ..\..\..\CMakeLists.txt C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCXXInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeCommonLanguageInclude.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeGenericSystem.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeInitializeConfigs.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeLanguageInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeParseArguments.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeRCInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeSystemSpecificInformation.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\CMakeSystemSpecificInitialize.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\CMakeCommonCompilerMacros.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\MSVC-C.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Compiler\MSVC-CXX.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC-C.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC-CXX.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows-MSVC.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\Windows.cmake C$:\Program$ Files\Microsoft$ Visual$ Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\share\cmake-3.21\Modules\Platform\WindowsPaths.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfig.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtras.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigExtrasMkspecDir.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5Core\Qt5CoreMacros.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5SerialPort\Qt5SerialPortConfig.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5SerialPort\Qt5SerialPortConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5Config.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5ConfigVersion.cmake C$:\Qt\Qt5.9.0\5.9\msvc2017_64\lib\cmake\Qt5\Qt5ModuleLocation.cmake CMakeCache.txt CMakeFiles\3.21.21080301-MSVC_2\CMakeCCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeCXXCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeRCCompiler.cmake CMakeFiles\3.21.21080301-MSVC_2\CMakeSystem.cmake: phony
#############################################
# Clean additional files.
build CMakeFiles\clean.additional: CLEAN_ADDITIONAL
CONFIG = Debug
#############################################
# Clean all the built files.
build clean: CLEAN CMakeFiles\clean.additional
#############################################
# Print all primary targets available.
build help: HELP
#############################################
# Make the all target the default.
default all

View File

@ -0,0 +1,44 @@
# Install script for directory: E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS
# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/install/x64-Debug")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else()
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()
# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else()
set(CMAKE_INSTALL_COMPONENT)
endif()
endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()
if(CMAKE_INSTALL_COMPONENT)
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
else()
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
endif()
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
"${CMAKE_INSTALL_MANIFEST_FILES}")
file(WRITE "E:/WorkSpace/git/IRIS_FODIS/IRIS_FODIS/out/build/x64-Debug/${CMAKE_INSTALL_MANIFEST}"
"${CMAKE_INSTALL_MANIFEST_CONTENT}")