first commnit
This commit is contained in:
81
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/FPGARegisterCodes.h
vendored
Normal file
81
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/FPGARegisterCodes.h
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
/***************************************************//**
|
||||
* @file FPGARegisterCodes.h
|
||||
* @date October 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FPGA_REGISTER_CODES_H
|
||||
#define SEABREEZE_FPGA_REGISTER_CODES_H
|
||||
|
||||
#include "common/features/Feature.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "common/exceptions/FeatureException.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
namespace ooiProtocol {
|
||||
|
||||
namespace FPGARegisterCodes {
|
||||
|
||||
/**
|
||||
* These codes were taken from the USB2000+ Data Sheet as it existed
|
||||
* in October 2012. They are believed to apply to the vast majority
|
||||
* of Ocean Optics spectrometers, but because some variance is expected
|
||||
* between models and over time (especially with custom OEM firmware),
|
||||
* you should check your spectrometer's documentation before assuming
|
||||
* these codes are correct for your device.
|
||||
*/
|
||||
class Base {
|
||||
public:
|
||||
static const byte FIRMWARE_VERSION;
|
||||
static const byte SINGLE_STROBE_HIGH_CLOCK_TRANSITION_DELAY_COUNT;
|
||||
static const byte SINGLE_STROBE_LOW_CLOCK_TRANSITION_DELAY_COUNT;
|
||||
static const byte LAMP_ENABLE;
|
||||
static const byte GPIO_MUX_REGISTER;
|
||||
static const byte GPIO_OUTPUT_ENABLE;
|
||||
static const byte GPIO_DATA_REGISTER;
|
||||
static const byte OFFSET_VALUE;
|
||||
static const byte OFFSET_CONTROL;
|
||||
static const byte MAXIMUM_SATURATION_LEVEL;
|
||||
|
||||
};
|
||||
|
||||
class V1 : public Base {
|
||||
public:
|
||||
static const byte CONTINUOUS_STROBE_TIMER_INTERVAL_DIVISOR;
|
||||
static const byte CONTINUOUS_STROBE_BASE_CLOCK_DIVISOR;
|
||||
};
|
||||
|
||||
class V3 : public Base {
|
||||
public:
|
||||
static const byte CONTINUOUS_STROBE_TIMER_MSB;
|
||||
static const byte CONTINUOUS_STROBE_TIMER_LSB;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
83
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/OpCodes.h
vendored
Normal file
83
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/OpCodes.h
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
/***************************************************//**
|
||||
* @file OpCodes.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_OPCODES_H
|
||||
#define SEABREEZE_OPCODES_H
|
||||
|
||||
#include "common/SeaBreeze.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OpCodes {
|
||||
public:
|
||||
|
||||
/* Set the integration time */
|
||||
static const byte OP_ITIME;
|
||||
|
||||
/* Set the strobe/lamp enable */
|
||||
static const byte OP_STROBE;
|
||||
|
||||
/* Read 15 bytes from an EEPROM slot */
|
||||
static const byte OP_GETINFO;
|
||||
|
||||
/* Write 15 bytes to an EEPROM slot */
|
||||
static const byte OP_SETINFO;
|
||||
|
||||
/* Request a spectrum */
|
||||
static const byte OP_REQUESTSPEC;
|
||||
|
||||
/* Set the trigger mode */
|
||||
static const byte OP_SETTRIGMODE;
|
||||
|
||||
/* Set the thermoelectric cooling enable on the QE */
|
||||
static const byte OP_TECENABLE_QE;
|
||||
|
||||
/* Read the current TEC temperature on the QE */
|
||||
static const byte OP_READTEC_QE;
|
||||
|
||||
/* Set the TEC set point on the QE */
|
||||
static const byte OP_TECSETTEMP_QE;
|
||||
|
||||
/* Write a field to the FPGA status register */
|
||||
static const byte OP_WRITE_REGISTER;
|
||||
|
||||
/* Read a field from the FPGA status register */
|
||||
static const byte OP_READ_REGISTER;
|
||||
|
||||
/* Read the irradiance calibration from EEPROM (if available) */
|
||||
static const byte OP_READ_IRRAD_CAL;
|
||||
|
||||
/* Write the irradiance calibration to EEPROM (if available) */
|
||||
static const byte OP_WRITE_IRRAD_CAL;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
36
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/QETECConstants.h
vendored
Normal file
36
source/OSIF/include/vendors/OceanOptics/protocols/ooi/constants/QETECConstants.h
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
/***************************************************//**
|
||||
* @file QETECConstants.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_QETECCONSTANTS_H
|
||||
#define SEABREEZE_QETECCONSTANTS_H
|
||||
|
||||
// TEC cooler understands increments of 0.1 degrees C per encoder count.
|
||||
#define QE_TEC_COUNTS_PER_DEGREE_C 10
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterReadExchange.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterReadExchange.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file FPGARegisterReadExchange.h
|
||||
* @date October 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FPGA_REGISTER_READ_EXCHANGE_H
|
||||
#define SEABREEZE_FPGA_REGISTER_READ_EXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transaction.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class FPGARegisterReadExchange : public Transaction {
|
||||
public:
|
||||
FPGARegisterReadExchange(byte address);
|
||||
virtual ~FPGARegisterReadExchange();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterWriteExchange.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGARegisterWriteExchange.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file FPGARegisterWriteExchange.h
|
||||
* @date October 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FPGA_REGISTER_WRITE_EXCHANGE_H
|
||||
#define SEABREEZE_FPGA_REGISTER_WRITE_EXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class FPGARegisterWriteExchange : public Transfer {
|
||||
public:
|
||||
FPGARegisterWriteExchange(byte address, unsigned short value);
|
||||
virtual ~FPGARegisterWriteExchange();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGASpectrumExchange.h
vendored
Normal file
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FPGASpectrumExchange.h
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
/***************************************************//**
|
||||
* @file FPGASpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FPGASPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_FPGASPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class FPGASpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
FPGASpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels);
|
||||
virtual ~FPGASpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
59
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FlameNIRSpectrumExchange.h
vendored
Normal file
59
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/FlameNIRSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
/***************************************************//**
|
||||
* @file FlameNIRSpectrumExchange.h
|
||||
* @date Apr 2016
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2016, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FLAMENIRSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_FLAMENIRSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "common/Data.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
/**
|
||||
* @brief Spectrum exchange for FlameNIR spectrometer
|
||||
*
|
||||
* This class was needed because unlike other FX2-era spectrometers,
|
||||
* the Flame-NIR does not return a "sync byte" at the end of a spectrum.
|
||||
*/
|
||||
class FlameNIRSpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
FlameNIRSpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
|
||||
virtual ~FlameNIRSpectrumExchange();
|
||||
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
protected:
|
||||
GainAdjustedSpectrometerFeature *spectrometerFeature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/HRFPGASpectrumExchange.h
vendored
Normal file
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/HRFPGASpectrumExchange.h
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
/***************************************************//**
|
||||
* @file HRFPGASpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_HRFPGASPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_HRFPGASPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class HRFPGASpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
HRFPGASpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels);
|
||||
virtual ~HRFPGASpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/IntegrationTimeExchange.h
vendored
Normal file
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/IntegrationTimeExchange.h
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/***************************************************//**
|
||||
* @file IntegrationTimeExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_INTEGRATIONTIMEEXCHANGE_H
|
||||
#define SEABREEZE_INTEGRATIONTIMEEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class IntegrationTimeExchange : public Transfer {
|
||||
public:
|
||||
IntegrationTimeExchange(unsigned long integrationTimeBase_usec);
|
||||
virtual ~IntegrationTimeExchange();
|
||||
void setIntegrationTimeMicros(unsigned long integrationTime_usec);
|
||||
|
||||
/* Inherited from Transfer */
|
||||
Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
unsigned long integrationTimeBase_usec;
|
||||
unsigned long integrationTime_usec;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/JazSpectrumExchange.h
vendored
Normal file
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/JazSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/***************************************************//**
|
||||
* @file JazSpectrumExchange.h
|
||||
* @date November 2011
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_JAZSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_JAZSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "common/Data.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class JazSpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
JazSpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
|
||||
virtual ~JazSpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
protected:
|
||||
/* This is necessary so that the saturation level which is determined
|
||||
* at initialization is available to certain protocol messages.
|
||||
*/
|
||||
GainAdjustedSpectrometerFeature *spectrometerFeature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/MayaProSpectrumExchange.h
vendored
Normal file
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/MayaProSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
/***************************************************//**
|
||||
* @file MayaProSpectrumExchange.h
|
||||
* @date November 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_MAYAPROSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_MAYAPROSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class MayaProSpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
MayaProSpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels,
|
||||
GainAdjustedSpectrometerFeature *spectrometer);
|
||||
virtual ~MayaProSpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
/* This is necessary so that the saturation level which is determined
|
||||
* at initialization is available to certain protocol messages.
|
||||
*/
|
||||
GainAdjustedSpectrometerFeature *spectrometerFeature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/NIRQuestSpectrumExchange.h
vendored
Normal file
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/NIRQuestSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/***************************************************//**
|
||||
* @file NIRQuestSpectrumExchange.h
|
||||
* @date July 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_NIRQUESTSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_NIRQUESTSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/QESpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class NIRQuestSpectrumExchange : public QESpectrumExchange {
|
||||
public:
|
||||
NIRQuestSpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
|
||||
virtual ~NIRQuestSpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
protected:
|
||||
/* This is necessary so that the saturation level which is determined
|
||||
* at initialization is available to certain protocol messages.
|
||||
*/
|
||||
GainAdjustedSpectrometerFeature *spectrometerFeature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOI2KSpectrumExchange.h
vendored
Normal file
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOI2KSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file OOI2KSpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is a protocol exchange that can be used for the
|
||||
* HR2000 (as well as some other early OOI spectrometers).
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_OOI2KSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_OOI2KSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOI2KSpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
OOI2KSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
|
||||
virtual ~OOI2KSpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
51
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h
vendored
Normal file
51
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file OOIIrradCalExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_OOIIRRADCALEXCHANGE_H
|
||||
#define SEABREEZE_OOIIRRADCALEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transaction.h"
|
||||
#include "common/protocols/ProtocolHint.h"
|
||||
#include <vector>
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIIrradCalExchange : public Transaction {
|
||||
public:
|
||||
OOIIrradCalExchange(int numberOfPixels);
|
||||
virtual ~OOIIrradCalExchange();
|
||||
|
||||
protected:
|
||||
unsigned int numberOfPixels;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* SEABREEZE_OOIIRRADCALEXCHANGE_H */
|
||||
|
53
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIReadIrradCalExchange.h
vendored
Normal file
53
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIReadIrradCalExchange.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file OOIReadIrradCalExchange.h
|
||||
* @date March 2010
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is a protocol exchange that can be used for the
|
||||
* USB2000+ and some others.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_OOIREADIRRADCALEXCHANGE_H
|
||||
#define SEABREEZE_OOIREADIRRADCALEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIReadIrradCalExchange : public OOIIrradCalExchange {
|
||||
public:
|
||||
OOIReadIrradCalExchange(int numberOfPixels);
|
||||
virtual ~OOIReadIrradCalExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper* helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* SEABREEZE_OOIREADIRRADCALEXCHANGE_H */
|
||||
|
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIWriteIrradCalExchange.h
vendored
Normal file
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/OOIWriteIrradCalExchange.h
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/***************************************************//**
|
||||
* @file OOIWriteIrradCalExchange.h
|
||||
* @date February 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is a protocol exchange that can be used for the
|
||||
* USB2000+ and some others.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H
|
||||
#define SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIWriteIrradCalExchange : public OOIIrradCalExchange {
|
||||
public:
|
||||
OOIWriteIrradCalExchange(int numberOfPixels);
|
||||
virtual ~OOIWriteIrradCalExchange();
|
||||
int setCalibration(const std::vector<float> &calibration);
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper* helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H */
|
||||
|
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/QESpectrumExchange.h
vendored
Normal file
50
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/QESpectrumExchange.h
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
/***************************************************//**
|
||||
* @file QESpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_QESPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_QESPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class QESpectrumExchange : public ReadSpectrumExchange {
|
||||
public:
|
||||
QESpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels);
|
||||
virtual ~QESpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
46
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadEEPROMSlotExchange.h
vendored
Normal file
46
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadEEPROMSlotExchange.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
/***************************************************//**
|
||||
* @file ReadEEPROMSlotExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_READEEPROMSLOTEXCHANGE_H
|
||||
#define SEABREEZE_READEEPROMSLOTEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transaction.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class ReadEEPROMSlotExchange : public Transaction {
|
||||
public:
|
||||
ReadEEPROMSlotExchange(int slot);
|
||||
virtual ~ReadEEPROMSlotExchange();
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
48
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h
vendored
Normal file
48
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
/***************************************************//**
|
||||
* @file ReadSpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_READSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_READSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class ReadSpectrumExchange : public Transfer {
|
||||
public:
|
||||
ReadSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
|
||||
virtual ~ReadSpectrumExchange();
|
||||
|
||||
protected:
|
||||
unsigned int numberOfPixels;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
49
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECQETemperatureExchange.h
vendored
Normal file
49
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECQETemperatureExchange.h
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
/***************************************************//**
|
||||
* @file ReadTECQETemperatureExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_READTECQETEMPERATUREEXCHANGE_H
|
||||
#define SEABREEZE_READTECQETEMPERATUREEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class ReadTECQETemperatureExchange : public ReadTECTemperatureExchange {
|
||||
public:
|
||||
ReadTECQETemperatureExchange();
|
||||
virtual ~ReadTECQETemperatureExchange();
|
||||
|
||||
/* Inherited from Transaction */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file ReadTECTemperatureExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_READTECTEMPERATUREEXCHANGE_H
|
||||
#define SEABREEZE_READTECTEMPERATUREEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transaction.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class ReadTECTemperatureExchange : public Transaction {
|
||||
public:
|
||||
ReadTECTemperatureExchange();
|
||||
virtual ~ReadTECTemperatureExchange();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/RequestSpectrumExchange.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/RequestSpectrumExchange.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file RequestSpectrumExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_REQUESTSPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_REQUESTSPECTRUMEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class RequestSpectrumExchange : public Transfer {
|
||||
public:
|
||||
RequestSpectrumExchange();
|
||||
virtual ~RequestSpectrumExchange();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/StrobeEnableExchange.h
vendored
Normal file
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/StrobeEnableExchange.h
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/***************************************************//**
|
||||
* @file StrobeEnableExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_STROBEENABLEEXCHANGE_H
|
||||
#define SEABREEZE_STROBEENABLEEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class StrobeEnableExchange : public Transfer {
|
||||
public:
|
||||
StrobeEnableExchange();
|
||||
virtual ~StrobeEnableExchange();
|
||||
|
||||
void setEnable(bool enable);
|
||||
|
||||
/* Inherited from Transfer */
|
||||
Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
bool strobeEnable;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h
vendored
Normal file
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file TECEnableExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is made abstract so that subclasses specific to
|
||||
* the QE/NIRQuest protocol and the old legacy NIR256/512
|
||||
* can coexist. The NIR256/512 are not going to be supported
|
||||
* at first, but the design will leave room for them.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_TECENABLEEXCHANGE_H
|
||||
#define SEABREEZE_TECENABLEEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class TECEnableExchange : public Transfer {
|
||||
public:
|
||||
TECEnableExchange();
|
||||
virtual ~TECEnableExchange();
|
||||
|
||||
virtual void setEnable(bool enable) = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECQEEnableExchange.h
vendored
Normal file
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TECQEEnableExchange.h
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
/***************************************************//**
|
||||
* @file TECQEEnableExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is specifically for the QE-style of TEC, including
|
||||
* the QE65000 and NIRQuest thermoelectric coolers. This
|
||||
* will not work for the legacy NIR256/512 TEC, but a
|
||||
* corresponding implementation could be derived adjacent
|
||||
* to this class.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_TECQEENABLEEXCHANGE_H
|
||||
#define SEABREEZE_TECQEENABLEEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class TECQEEnableExchange : public TECEnableExchange {
|
||||
public:
|
||||
TECQEEnableExchange();
|
||||
virtual ~TECQEEnableExchange();
|
||||
|
||||
/* Inherited from TECEnableExchange */
|
||||
virtual void setEnable(bool enable);
|
||||
Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
bool tecEnable;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TriggerModeExchange.h
vendored
Normal file
54
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/TriggerModeExchange.h
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/***************************************************//**
|
||||
* @file TriggerModeExchange.h
|
||||
* @date August 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_TRIGGERMODEEXCHANGE_H
|
||||
#define SEABREEZE_TRIGGERMODEEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
#include "common/Data.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class TriggerModeExchange : public Transfer {
|
||||
public:
|
||||
TriggerModeExchange();
|
||||
virtual ~TriggerModeExchange();
|
||||
void setTriggerMode(SpectrometerTriggerMode &mode);
|
||||
|
||||
/* Inherited from Transfer */
|
||||
Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
int triggerMode;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/USBFPGASpectrumExchange.h
vendored
Normal file
57
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/USBFPGASpectrumExchange.h
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/***************************************************//**
|
||||
* @file USBFPGASpectrumExchange.h
|
||||
* @date July 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_USBFPGASPECTRUMEXCHANGE_H
|
||||
#define SEABREEZE_USBFPGASPECTRUMEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/FPGASpectrumExchange.h"
|
||||
#include "common/Data.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class USBFPGASpectrumExchange : public FPGASpectrumExchange {
|
||||
public:
|
||||
USBFPGASpectrumExchange(unsigned int readoutLength,
|
||||
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
|
||||
virtual ~USBFPGASpectrumExchange();
|
||||
|
||||
/* Inherited */
|
||||
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
protected:
|
||||
/* This is necessary so that the saturation level which is determined
|
||||
* at initialization is available to certain protocol messages.
|
||||
*/
|
||||
GainAdjustedSpectrometerFeature *spectrometerFeature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
43
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteEEPROMSlotExchange.h
vendored
Normal file
43
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteEEPROMSlotExchange.h
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
/***************************************************//**
|
||||
* @file WriteEEPROMSlotExchange.h
|
||||
* @date October 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_WRITE_EEPROM_SLOT_EXCHANGE_H
|
||||
#define SEABREEZE_WRITE_EEPROM_SLOT_EXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transaction.h"
|
||||
|
||||
namespace seabreeze {
|
||||
class WriteEEPROMSlotExchange : public Transaction {
|
||||
public:
|
||||
WriteEEPROMSlotExchange(int slot, const std::vector<unsigned char>& data);
|
||||
virtual ~WriteEEPROMSlotExchange();
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECQESetPointExchange.h
vendored
Normal file
58
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECQESetPointExchange.h
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
/***************************************************//**
|
||||
* @file WriteTECQESetPointExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is made abstract so that subclasses specific to
|
||||
* the QE/NIRQuest protocol and the old legacy NIR256/512
|
||||
* can coexist. The NIR256/512 are not going to be supported
|
||||
* at first, but the design will leave room for them.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_WRITETECQESETPOINTEXCHANGE_H
|
||||
#define SEABREEZE_WRITETECQESETPOINTEXCHANGE_H
|
||||
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class WriteTECQESetPointExchange : public WriteTECSetPointExchange {
|
||||
public:
|
||||
WriteTECQESetPointExchange();
|
||||
virtual ~WriteTECQESetPointExchange();
|
||||
|
||||
/** Inherited from WriteTECSetPointExchange */
|
||||
virtual void setSetPointCelsius(double degreesC);
|
||||
Data *transfer(TransferHelper *helper) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
int tecCounts;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOIPROTOCOLWRITETECQESETPOINTEXCHANGE_H */
|
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h
vendored
Normal file
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file WriteTECSetPointExchange.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This is made abstract so that subclasses specific to
|
||||
* the QE/NIRQuest protocol and the old legacy NIR256/512
|
||||
* can coexist. The NIR256/512 are not going to be supported
|
||||
* at first, but the design will leave room for them.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_WRITETECSETPOINTEXCHANGE_H
|
||||
#define SEABREEZE_WRITETECSETPOINTEXCHANGE_H
|
||||
|
||||
#include "common/protocols/Transfer.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class WriteTECSetPointExchange : public Transfer {
|
||||
public:
|
||||
WriteTECSetPointExchange();
|
||||
virtual ~WriteTECSetPointExchange();
|
||||
|
||||
virtual void setSetPointCelsius(double degreesC) = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/ControlHint.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/ControlHint.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file ControlHint.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_CONTROLHINT_H
|
||||
#define SEABREEZE_CONTROLHINT_H
|
||||
|
||||
#include "common/protocols/ProtocolHint.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class ControlHint : public ProtocolHint {
|
||||
public:
|
||||
ControlHint();
|
||||
virtual ~ControlHint();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/SpectrumHint.h
vendored
Normal file
45
source/OSIF/include/vendors/OceanOptics/protocols/ooi/hints/SpectrumHint.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/***************************************************//**
|
||||
* @file SpectrumHint.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_SPECTRUMHINT_H
|
||||
#define SEABREEZE_SPECTRUMHINT_H
|
||||
|
||||
#include "common/protocols/ProtocolHint.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class SpectrumHint : public ProtocolHint {
|
||||
public:
|
||||
SpectrumHint();
|
||||
virtual ~SpectrumHint();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/FPGARegisterProtocol.h
vendored
Normal file
52
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/FPGARegisterProtocol.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file FPGARegisterProtocol.h
|
||||
* @date October 2012
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SEABREEZE_FPGA_REGISTER_PROTOCOL_H
|
||||
#define SEABREEZE_FPGA_REGISTER_PROTOCOL_H
|
||||
|
||||
#include "common/SeaBreeze.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "common/exceptions/ProtocolException.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/FPGARegisterProtocolInterface.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class FPGARegisterProtocol : public FPGARegisterProtocolInterface {
|
||||
public:
|
||||
FPGARegisterProtocol();
|
||||
virtual ~FPGARegisterProtocol();
|
||||
virtual unsigned int readRegister(const Bus &bus, byte address)
|
||||
throw (ProtocolException);
|
||||
virtual void writeRegister(const Bus &bus, byte address,
|
||||
unsigned int value) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
53
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIEEPROMProtocol.h
vendored
Normal file
53
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIEEPROMProtocol.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file OOIEEPROMProtocol.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOIEEPROMPROTOCOL_H
|
||||
#define OOIEEPROMPROTOCOL_H
|
||||
|
||||
#include "common/SeaBreeze.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "common/exceptions/ProtocolException.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/EEPROMProtocolInterface.h"
|
||||
#include <vector>
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIEEPROMProtocol : public EEPROMProtocolInterface {
|
||||
public:
|
||||
OOIEEPROMProtocol();
|
||||
virtual ~OOIEEPROMProtocol();
|
||||
virtual std::vector<byte> *readEEPROMSlot(const Bus &bus, int slot)
|
||||
throw (ProtocolException);
|
||||
virtual int writeEEPROMSlot(const Bus &bus, int slot,
|
||||
const std::vector<byte> &data) throw (ProtocolException);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOIEEPROMPROTOCOL_H */
|
63
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIIrradCalProtocol.h
vendored
Normal file
63
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIIrradCalProtocol.h
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
/***************************************************//**
|
||||
* @file OOIIrradCalProtocol.h
|
||||
* @date March 2010
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOIIRRADCALPROTOCOL_H
|
||||
#define OOIIRRADCALPROTOCOL_H
|
||||
|
||||
#include "common/buses/Bus.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/IrradCalProtocolInterface.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIReadIrradCalExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIWriteIrradCalExchange.h"
|
||||
#include "common/exceptions/ProtocolException.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIIrradCalProtocol : public IrradCalProtocolInterface {
|
||||
public:
|
||||
OOIIrradCalProtocol(unsigned int numberOfPixels);
|
||||
virtual ~OOIIrradCalProtocol();
|
||||
|
||||
/* Inherited from IrradCalProtocolInterface */
|
||||
virtual std::vector<float> *readIrradCal(const Bus &bus)
|
||||
throw (ProtocolException);
|
||||
virtual int writeIrradCal(const Bus &bus, const std::vector<float> &cal)
|
||||
throw (ProtocolException);
|
||||
virtual int hasCollectionArea(const Bus &bus);
|
||||
virtual float readCollectionArea(const Bus &bus)
|
||||
throw (ProtocolException);
|
||||
virtual void writeCollectionArea(const Bus &bus, float area)
|
||||
throw (ProtocolException);
|
||||
|
||||
private:
|
||||
unsigned int numberOfPixels;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOIIRRADCALPROTOCOL_H */
|
51
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIProtocol.h
vendored
Normal file
51
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIProtocol.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file OOIProtocol.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This provides a singleton object that identifies the
|
||||
* OOI legacy USB command set.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOIPROTOCOL_H
|
||||
#define OOIPROTOCOL_H
|
||||
|
||||
#include "common/protocols/Protocol.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIProtocol : public Protocol {
|
||||
public:
|
||||
OOIProtocol();
|
||||
virtual ~OOIProtocol();
|
||||
|
||||
/* Must be overridden from Protocol */
|
||||
virtual ProtocolFamily getProtocolFamily();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOIPROTOCOL_H */
|
79
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOISpectrometerProtocol.h
vendored
Normal file
79
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOISpectrometerProtocol.h
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
/***************************************************//**
|
||||
* @file OOISpectrometerProtocol.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOISPECTROMETERPROTOCOL_H
|
||||
#define OOISPECTROMETERPROTOCOL_H
|
||||
|
||||
#include "common/SeaBreeze.h"
|
||||
#include "common/protocols/Exchange.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/IntegrationTimeExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/TriggerModeExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/SpectrometerProtocolInterface.h"
|
||||
#include <vector>
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOISpectrometerProtocol : public SpectrometerProtocolInterface {
|
||||
public:
|
||||
OOISpectrometerProtocol(
|
||||
IntegrationTimeExchange *integrationTimeExchange,
|
||||
Transfer *requestSpectrumExchange,
|
||||
Transfer *unformattedSpectrumExchange,
|
||||
Transfer *spectrumTransferExchange,
|
||||
TriggerModeExchange *triggerMode);
|
||||
virtual ~OOISpectrometerProtocol();
|
||||
|
||||
/* FIXME: instead of returning primitive vectors, should this return Data* so that
|
||||
* metadata (units, etc.) can also be attached?
|
||||
*/
|
||||
virtual std::vector<byte> *readUnformattedSpectrum(const Bus &bus)
|
||||
throw (ProtocolException);
|
||||
virtual std::vector<double> *readSpectrum(const Bus &bus)
|
||||
throw (ProtocolException);
|
||||
virtual void requestSpectrum(const Bus &bus) throw (ProtocolException);
|
||||
virtual void setIntegrationTimeMicros(const Bus &bus,
|
||||
unsigned long time_usec) throw (ProtocolException);
|
||||
virtual void setTriggerMode(const Bus &bus,
|
||||
SpectrometerTriggerMode &mode) throw (ProtocolException);
|
||||
|
||||
private:
|
||||
IntegrationTimeExchange *integrationTimeExchange;
|
||||
/* These are Transfers instead of Exchanges so that we can call getHints() on them.
|
||||
* if getHints is promoted up to the level of Exchange, then these can revert back.
|
||||
*/
|
||||
Transfer *unformattedSpectrumExchange;
|
||||
Transfer *requestSpectrumExchange;
|
||||
Transfer *spectrumTransferExchange;
|
||||
TriggerModeExchange *triggerModeExchange;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOISPECTROMETERPROTOCOL_H */
|
55
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIStrobeLampProtocol.h
vendored
Normal file
55
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOIStrobeLampProtocol.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/***************************************************//**
|
||||
* @file OOIStrobeLampProtocol.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOISTROBELAMPPROTOCOL_H
|
||||
#define OOISTROBELAMPPROTOCOL_H
|
||||
|
||||
#include "common/buses/Bus.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/StrobeEnableExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/StrobeLampProtocolInterface.h"
|
||||
#include "common/exceptions/ProtocolException.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOIStrobeLampProtocol : public StrobeLampProtocolInterface {
|
||||
public:
|
||||
OOIStrobeLampProtocol();
|
||||
virtual ~OOIStrobeLampProtocol();
|
||||
|
||||
virtual void setStrobeLampEnable(const Bus &bus, bool enable)
|
||||
throw (ProtocolException);
|
||||
|
||||
private:
|
||||
StrobeEnableExchange *strobeEnableExchange;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOISTROBELAMPPROTOCOL_H */
|
65
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOITECProtocol.h
vendored
Normal file
65
source/OSIF/include/vendors/OceanOptics/protocols/ooi/impls/OOITECProtocol.h
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
/***************************************************//**
|
||||
* @file OOITECProtocol.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* 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.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOITECPROTOCOL_H
|
||||
#define OOITECPROTOCOL_H
|
||||
|
||||
#include "common/buses/Bus.h"
|
||||
#include "vendors/OceanOptics/protocols/interfaces/ThermoElectricProtocolInterface.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h"
|
||||
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h"
|
||||
#include "common/exceptions/ProtocolException.h"
|
||||
|
||||
namespace seabreeze {
|
||||
namespace ooiProtocol {
|
||||
class OOITECProtocol : public ThermoElectricProtocolInterface {
|
||||
public:
|
||||
OOITECProtocol(TECEnableExchange *enableExchange,
|
||||
WriteTECSetPointExchange *writeSetPointExchange,
|
||||
ReadTECTemperatureExchange *readTECTempExchange);
|
||||
virtual ~OOITECProtocol();
|
||||
|
||||
/* Inherited from ThermoElectricProtocolInterface */
|
||||
virtual double readThermoElectricTemperatureCelsius(const Bus &bus)
|
||||
throw (ProtocolException);
|
||||
virtual void writeThermoElectricEnable(const Bus &bus, bool enable)
|
||||
throw (ProtocolException);
|
||||
virtual void writeThermoElectricSetPointCelsius(const Bus &bus, double degreesC)
|
||||
throw (ProtocolException);
|
||||
|
||||
private:
|
||||
TECEnableExchange *tecEnable;
|
||||
WriteTECSetPointExchange *tecWriteSetPoint;
|
||||
ReadTECTemperatureExchange *tecReadTemperature;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* OOITECPROTOCOL_H */
|
Reference in New Issue
Block a user