主采集逻辑修改中,添加了部分写文件实现

This commit is contained in:
2021-12-02 18:07:29 +08:00
parent 95da780693
commit efbcde38d7
403 changed files with 26857 additions and 77 deletions

View File

@ -0,0 +1,64 @@
/***************************************************//**
* @file AcquisitionDelayProtocolInterface.h
* @date November 2015
* @author Ocean Optics, Inc.
*
* This is a generic interface into thermoelectric functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 ACQUISITION_DELAY_PROTOCOL_INTERFACE_H
#define ACQUISITION_DELAY_PROTOCOL_INTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class AcquisitionDelayProtocolInterface : public ProtocolHelper {
public:
AcquisitionDelayProtocolInterface(Protocol *protocol);
virtual ~AcquisitionDelayProtocolInterface();
virtual void setAcquisitionDelayMicroseconds(const Bus &bus,
const unsigned long delayMicros) throw (ProtocolException) = 0;
/* At this point, the supported devices don't have protocol
* messages to get the current delay or the range of valid
* settings. Later, such functions could be added here if
* they are needed, but for now the protocol interface is
* being kept to a minimum.
*/
};
} /* end namespace seabreeze */
#endif /* ACQUISITION_DELAY_PROTOCOL_INTERFACE_H */

View File

@ -0,0 +1,58 @@
/***************************************************//**
* @file ContinuousStrobeProtocolInterface.h
* @date October 2012
* @author Ocean Optics, Inc.
*
* This is a generic interface into lamp functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* 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_CONTINUOUS_STROBE_PROTOCOL_INTERFACE_H
#define SEABREEZE_CONTINUOUS_STROBE_PROTOCOL_INTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class ContinuousStrobeProtocolInterface : public ProtocolHelper {
public:
ContinuousStrobeProtocolInterface(Protocol *proto);
virtual ~ContinuousStrobeProtocolInterface();
virtual void setContinuousStrobePeriodMicroseconds(const Bus &bus,
unsigned short strobe_id, unsigned long period_usec)
throw (ProtocolException) = 0;
virtual void setContinuousStrobeEnable(const Bus &bus,
unsigned short strobe_id, bool enable)
throw (ProtocolException) = 0;
};
}
#endif

View File

@ -0,0 +1,77 @@
/***************************************************//**
* @file DataBufferProtocolInterface.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* This is a generic interface into thermoelectric functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 DATABUFFERPROTOCOLINTERFACE_H
#define DATABUFFERPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class DataBufferProtocolInterface : public ProtocolHelper {
public:
DataBufferProtocolInterface(Protocol *protocol);
virtual ~DataBufferProtocolInterface();
virtual void clearBuffer(const Bus &bus, unsigned char bufferIndex)
throw (ProtocolException) = 0;
virtual unsigned long getNumberOfElements(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException) = 0;
virtual unsigned long getBufferCapacity(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException) = 0;
virtual unsigned long getBufferCapacityMinimum(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException) = 0;
virtual unsigned long getBufferCapacityMaximum(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException) = 0;
virtual void setBufferCapacity(const Bus &bus,
unsigned char bufferIndex,
const unsigned long capacity)
throw (ProtocolException) = 0;
};
} /* end namespace */
#endif /* DATABUFFERPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,63 @@
/***************************************************//**
* @file EEPROMProtocolInterface.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* an EEPROM slot on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 EEPROMPROTOCOLINTERFACE_H
#define EEPROMPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
#include <vector>
namespace seabreeze {
class EEPROMProtocolInterface : public ProtocolHelper {
public:
EEPROMProtocolInterface(Protocol *protocol);
virtual ~EEPROMProtocolInterface();
virtual std::vector<byte> *readEEPROMSlot(const Bus &bus, int slot)
throw (ProtocolException) = 0;
virtual int writeEEPROMSlot(const Bus &bus, int slot,
const std::vector<byte> &data) throw (ProtocolException) = 0;
};
}
#endif /* EEPROMPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,62 @@
/***************************************************//**
* @file FPGARegisterProtocolInterface.h
* @date October 2012
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* an FPGARegister slot on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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_INTERFACE_H
#define SEABREEZE_FPGA_REGISTER_PROTOCOL_INTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class FPGARegisterProtocolInterface : public ProtocolHelper {
public:
FPGARegisterProtocolInterface(Protocol *protocol);
virtual ~FPGARegisterProtocolInterface();
virtual unsigned int readRegister(const Bus &bus, byte address)
throw (ProtocolException) = 0;
virtual void writeRegister(const Bus &bus, byte address,
unsigned int value) throw (ProtocolException) = 0;
};
}
#endif

View File

@ -0,0 +1,82 @@
/***************************************************//**
* @file IrradCalProtocolInterface.h
* @date March 2010
* @author Ocean Optics, Inc.
*
* This is a generic interface into irradiance calibration
* storage functionality at the protocol level, agnostic to
* any particular protocol. Each Protocol offering this
* functionality should implement this interface.
*
* 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 IRRADCALPROTOCOLINTERFACE_H
#define IRRADCALPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class IrradCalProtocolInterface : public ProtocolHelper {
public:
IrradCalProtocolInterface(Protocol *protocol);
virtual ~IrradCalProtocolInterface();
/**
* Get the irradiance calibration from the device.
*/
virtual std::vector<float> *readIrradCal(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Write a new irradiance calibration to the device.
*/
virtual int writeIrradCal(const Bus &bus, const std::vector<float> &cal)
throw (ProtocolException) = 0;
/**
* Determine whether the device has a stored irradiance collection area.
* This will trap any exceptions so it is always safe to call.
*/
virtual int hasCollectionArea(const Bus &bus) = 0;
/**
* Get the irradiance collection area from the device.
*/
virtual float readCollectionArea(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Write a new irradiance collection area to the device.
*/
virtual void writeCollectionArea(const Bus &bus, float area)
throw (ProtocolException) = 0;
};
}
#endif /* IRRADCALPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,95 @@
/***************************************************//**
* @file LightSourceProtocolInterface.h
* @date April 2013
* @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 LIGHTSOURCEPROTOCOLINTERFACE_H
#define LIGHTSOURCEPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class LightSourceProtocolInterface : public ProtocolHelper {
public:
LightSourceProtocolInterface(Protocol *proto);
virtual ~LightSourceProtocolInterface();
virtual bool hasLightSourceEnable(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual bool isLightSourceEnabled(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual bool hasVariableIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual void setLightSourceEnable(const Bus &bus, int moduleIndex,
int lightSourceIndex, bool enable) throw (ProtocolException) = 0;
};
class LightSourceProtocolInterface_NormalizedIntensity {
public:
LightSourceProtocolInterface_NormalizedIntensity();
virtual ~LightSourceProtocolInterface_NormalizedIntensity();
virtual double getIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual void setIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex, double intensity) throw (ProtocolException) = 0;
virtual double getIntensityMinimum(const Bus &bus, int moduleIndex,
int lightSourceIndex) = 0;
virtual double getIntensityMaximum(const Bus &bus, int moduleIndex,
int lightSourceIndex) = 0;
};
class LightSourceProtocolInterface_Counts {
public:
LightSourceProtocolInterface_Counts();
virtual ~LightSourceProtocolInterface_Counts();
virtual int getIntensityCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual int getIntensityMinimumCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual int getIntensityMaximumCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException) = 0;
virtual void setIntensityCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex, int counts) throw (ProtocolException) = 0;
};
}
#endif /* LIGHTSOURCEPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,61 @@
/***************************************************//**
* @file NonlinearityCoeffsProtocolInterface.h
* @date February 2012
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* nonlinearity calibrations on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 NONLINEARITYCOEFFSPROTOCOLINTERFACE_H
#define NONLINEARITYCOEFFSPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include <vector>
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class NonlinearityCoeffsProtocolInterface : public ProtocolHelper {
public:
NonlinearityCoeffsProtocolInterface(Protocol *protocol);
virtual ~NonlinearityCoeffsProtocolInterface();
virtual std::vector<double> *readNonlinearityCoeffs(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* NONLINEARITYCOEFFSPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,73 @@
/***************************************************//**
* @file OpticalBenchProtocolInterface.h
* @date Janaure 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* Optical Bench Parameters on an Ocean Optics device.
*
* This does not extend Protocol or otherwise read involved
* in that hierarchy because it might interfere with the
* lookup process for readting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OPTICALBENCHPROTOCOLINTERFACE_H
#define OPTICALBENCHPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include <vector>
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class OpticalBenchProtocolInterface : public ProtocolHelper {
public:
OpticalBenchProtocolInterface(Protocol *protocol);
virtual ~OpticalBenchProtocolInterface();
virtual std::string *readOpticalBenchID(const Bus &bus)
throw (ProtocolException) = 0;
virtual std::string *readOpticalBenchSerialNumber(const Bus &bus)
throw (ProtocolException) = 0;
virtual unsigned short int readOpticalBenchSlitWidthMicrons(const Bus &bus)
throw (ProtocolException) = 0;
virtual unsigned short int readOpticalBenchFiberDiameterMicrons(const Bus &bus)
throw (ProtocolException) = 0;
virtual std::string *readOpticalBenchGrating(const Bus &bus)
throw (ProtocolException) = 0;
virtual std::string *readOpticalBenchFilter(const Bus &bus)
throw (ProtocolException) = 0;
virtual std::string *readOpticalBenchCoating(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* OPTICALBENCHPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,87 @@
/***************************************************//**
* @file PixelBinningProtocolInterface.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* This is a generic interface into thermoelectric functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 PIXELBINNINGPROTOCOLINTERFACE_H
#define PIXELBINNINGPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class PixelBinningProtocolInterface : public ProtocolHelper {
public:
PixelBinningProtocolInterface(Protocol *protocol);
virtual ~PixelBinningProtocolInterface();
/**
* Get the pixel binning factor of the device.
*/
virtual unsigned char readPixelBinningFactor(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Set the pixel binning factor on the device.
*/
virtual void writePixelBinningFactor(const Bus &bus, const unsigned char binningFactor)
throw (ProtocolException) = 0;
/**
* Get the default pixel binning factor of the device.
*/
virtual unsigned char readDefaultPixelBinningFactor(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Set the default pixel binning factor on the device.
*/
virtual void writeDefaultPixelBinningFactor(const Bus &bus, const unsigned char binningFactor)
throw (ProtocolException) = 0;
/**
* Reset the default pixel binning factor on the device. This will reinstate the factory default of 0.
*/
virtual void writeDefaultPixelBinningFactor(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Get the maximum pixel binning factor of the device.
*/
virtual unsigned char readMaxPixelBinningFactor(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* PIXELBINNINGPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file ProgrammableSaturationProtocolInterface.h
* @date March 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 PROGRAMMABLESATURATIONPROTOCOLINTERFACE_H
#define PROGRAMMABLESATURATIONPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class ProgrammableSaturationProtocolInterface : public ProtocolHelper {
public:
ProgrammableSaturationProtocolInterface(Protocol *protocol);
virtual ~ProgrammableSaturationProtocolInterface();
virtual unsigned int getSaturation(const Bus &bus)
throw (ProtocolException) = 0;
};
} /* end namespace seabreeze */
#endif /* PROGRAMMABLESATURATIONPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,65 @@
/***************************************************//**
* @file RevisionProtocolInterface.h
* @date Janaure 2015
* @author Kirk Clendinning, Heliospectra
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* temperature sensors on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 REVISIONPROTOCOLINTERFACE_H
#define REVISIONPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include <vector>
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class RevisionProtocolInterface : public ProtocolHelper {
public:
RevisionProtocolInterface(Protocol *protocol);
virtual ~RevisionProtocolInterface();
virtual unsigned char readHardwareRevision(const Bus &bus)
throw (ProtocolException) = 0;
virtual unsigned short int readFirmwareRevision(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* REVISIONPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,63 @@
/***************************************************//**
* @file SerialNumberProtocolInterface.h
* @date February 2011
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* serial numbers on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 SERIALNUMBERPROTOCOLINTERFACE_H
#define SERIALNUMBERPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
#include <vector>
namespace seabreeze {
class SerialNumberProtocolInterface : public ProtocolHelper {
public:
SerialNumberProtocolInterface(Protocol *protocol);
virtual ~SerialNumberProtocolInterface();
virtual std::string *readSerialNumber(const Bus &bus)
throw (ProtocolException) = 0;
virtual unsigned char readSerialNumberMaximumLength(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* SERIALNUMBERPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,60 @@
/***************************************************//**
* @file ShutterProtocolInterface.h
* @date January 2011
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* a built-in shutter on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 SHUTTERPROTOCOLINTERFACE_H
#define SHUTTERPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class ShutterProtocolInterface : public ProtocolHelper {
public:
ShutterProtocolInterface(Protocol *protocol);
virtual ~ShutterProtocolInterface();
virtual void setShutterOpen(const Bus &bus, bool opened)
throw (ProtocolException) = 0;
};
}
#endif /* SHUTTERPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,64 @@
/***************************************************//**
* @file SpectrometerProtocolInterface.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is a generic interface into spectrometer functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* 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 SPECTROMETERPROTOCOLINTERFACE_H
#define SPECTROMETERPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
#include <vector>
namespace seabreeze {
class SpectrometerProtocolInterface : public ProtocolHelper {
public:
SpectrometerProtocolInterface(Protocol *protocol);
virtual ~SpectrometerProtocolInterface();
virtual std::vector<byte> *readUnformattedSpectrum(const Bus &bus)
throw (ProtocolException) = 0;
virtual std::vector<double> *readSpectrum(const Bus &bus)
throw (ProtocolException) = 0;
virtual void requestSpectrum(const Bus &bus) throw (ProtocolException) = 0;
virtual void setIntegrationTimeMicros(const Bus &bus,
unsigned long time_usec) throw (ProtocolException) = 0;
virtual void setTriggerMode(const Bus &bus,
SpectrometerTriggerMode &mode) throw (ProtocolException) = 0;
};
}
#endif /* SPECTROMETERPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,67 @@
/***************************************************//**
* @file SpectrumProcessingProtocolInterface.h
* @date February 2015
* @author Kirk Clendinning, Heliospectra
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* spectrum processing features on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 SPECTRUMPROCESSINGPROTOCOLINTERFACE_H
#define SPECTRUMPROCESSINGPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include <vector>
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class SpectrumProcessingProtocolInterface : public ProtocolHelper {
public:
SpectrumProcessingProtocolInterface(Protocol *protocol);
virtual ~SpectrumProcessingProtocolInterface();
virtual unsigned char readSpectrumProcessingBoxcarWidth(const Bus &bus)
throw (ProtocolException) = 0;
virtual unsigned short int readSpectrumProcessingScansToAverage(const Bus &bus)
throw (ProtocolException) = 0;
virtual void writeSpectrumProcessingBoxcarWidth(const Bus &bus, unsigned char boxcarWidth)
throw (ProtocolException) = 0;
virtual void writeSpectrumProcessingScansToAverage(const Bus &bus, unsigned short int scansToAverage)
throw (ProtocolException) = 0;
};
}
#endif /* SPECTRUMPROCESSINGPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,61 @@
/***************************************************//**
* @file StrayLightCoeffsProtocolInterface.h
* @date February 2012
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* stray light calibrations on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 STRAYLIGHTCOEFFSPROTOCOLINTERFACE_H
#define STRAYLIGHTCOEFFSPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
#include <vector>
namespace seabreeze {
class StrayLightCoeffsProtocolInterface : public ProtocolHelper {
public:
StrayLightCoeffsProtocolInterface(Protocol *protocol);
virtual ~StrayLightCoeffsProtocolInterface();
virtual std::vector<double> *readStrayLightCoeffs(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* STRAYLIGHTCOEFFSPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file StrobeLampProtocolInterface.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is a generic interface into lamp functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* 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 STROBELAMPPROTOCOLINTERFACE_H
#define STROBELAMPPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class StrobeLampProtocolInterface : public ProtocolHelper {
public:
StrobeLampProtocolInterface(Protocol *proto);
virtual ~StrobeLampProtocolInterface();
virtual void setStrobeLampEnable(const Bus &bus, bool enable)
throw (ProtocolException) = 0;
};
}
#endif /* LAMPPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,65 @@
/***************************************************//**
* @file TemperatureProtocolInterface.h
* @date Janaure 2015
* @author Kirk Clendinning, Heliospectra
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* temperature sensors on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 TEMPERATUREPROTOCOLINTERFACE_H
#define TEMPERATUREPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include <vector>
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class TemperatureProtocolInterface : public ProtocolHelper {
public:
TemperatureProtocolInterface(Protocol *protocol);
virtual ~TemperatureProtocolInterface();
virtual unsigned char readTemperatureCount(const Bus &bus)
throw (ProtocolException) = 0;
virtual double readTemperature(const Bus &bus, int index)
throw (ProtocolException) = 0;
virtual std::vector<double> *readAllTemperatures(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* TEMPERATUREPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,73 @@
/***************************************************//**
* @file ThermoElectricProtocolInterface.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is a generic interface into thermoelectric functionality
* at the protocol level, agnostic to any particular protocol.
* Each Protocol offering this functionality should implement
* this interface.
*
* 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 THERMOELECTRICPROTOCOLINTERFACE_H
#define THERMOELECTRICPROTOCOLINTERFACE_H
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
namespace seabreeze {
class ThermoElectricProtocolInterface : public ProtocolHelper {
public:
ThermoElectricProtocolInterface(Protocol *protocol);
virtual ~ThermoElectricProtocolInterface();
/**
* Get the temperature of the thermoelectric device.
*/
virtual double readThermoElectricTemperatureCelsius(const Bus &bus)
throw (ProtocolException) = 0;
/**
* Enable the thermoelectric unit on the device.
*/
virtual void writeThermoElectricEnable(const Bus &bus, bool enable)
throw (ProtocolException) = 0;
/**
* Set the target temperature for the thermoelectric in degrees
* Celsius. The actual temperature that the device
* can reach may be a function of ambient temperature.
*/
virtual void writeThermoElectricSetPointCelsius(const Bus &bus, double degreesC)
throw (ProtocolException) = 0;
};
}
#endif /* THERMOELECTRICPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,62 @@
/***************************************************//**
* @file WaveCalProtocolInterface.h
* @date January 2011
* @author Ocean Optics, Inc.
*
* This is a simple interface for any protocol to implement
* that provides a protocol-agnostic mechanism for accessing
* wavelength calibrations on an Ocean Optics device.
*
* This does not extend Protocol or otherwise get involved
* in that hierarchy because it might interfere with the
* lookup process for getting a Protocol object to delegate
* these methods to. Worse, it could end up inheriting
* twice from the same base class, which is just messy.
*
* 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 WAVECALPROTOCOLINTERFACE_H
#define WAVECALPROTOCOLINTERFACE_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "common/exceptions/ProtocolException.h"
#include "common/protocols/ProtocolHelper.h"
#include <vector>
namespace seabreeze {
class WaveCalProtocolInterface : public ProtocolHelper {
public:
WaveCalProtocolInterface(Protocol *protocol);
virtual ~WaveCalProtocolInterface();
virtual std::vector<double> *readWavelengthCoeffs(const Bus &bus)
throw (ProtocolException) = 0;
};
}
#endif /* WAVECALPROTOCOLINTERFACE_H */

View File

@ -0,0 +1,166 @@
/***************************************************//**
* @file OBPMessageTypes.h
* @date January 2011
* @author Ocean Optics, Inc.
*
* This class contains legal values for the messageType
* field in the OBPMessage 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 OBPMESSAGETYPES_H
#define OBPMESSAGETYPES_H
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPMessageTypes {
public:
// Basic hardware and firmware information
// static const unsigned int OBP_RESET = 0x00000000;
// static const unsigned int OBP_RESET_DEFAULTS = 0x00000001;
static const unsigned int OBP_GET_HARDWARE_REVISION = 0x00000080;
static const unsigned int OBP_GET_FIRMWARE_REVISION = 0x00000090;
static const unsigned int OBP_GET_SERIAL_NUMBER = 0x00000100;
static const unsigned int OBP_GET_SERIAL_NUMBER_LENGTH = 0x00000101;
static const unsigned int OBP_GET_DEVICE_ALIAS = 0x00000200;
static const unsigned int OBP_GET_DEVICE_ALIAS_LENGTH = 0x00000201;
static const unsigned int OBP_SET_DEVICE_ALIAS = 0x00000210;
static const unsigned int OBP_GET_USER_STRING_COUNT = 0x00000300;
static const unsigned int OBP_GET_USER_STRING_LENGTH = 0x00000301;
static const unsigned int OBP_GET_USER_STRING = 0x00000302;
static const unsigned int OBP_SET_USER_STRING = 0x00000310;
// Serial Interface
static const unsigned int OBP_GET_RS232_BAUD_RATE = 0x00000800;
static const unsigned int OBP_GET_RS232_FLOW_COTROL_MODE = 0x00000804;
static const unsigned int OBP_SET_RS232_BAUD_RATE = 0x00000810;
static const unsigned int OBP_SET_RS232_FLOW_COTROL_MODE = 0x00000814;
static const unsigned int OBP_GET_RS232_SAVE_SETTINGS = 0x000008F0;
// Miscellaneous
static const unsigned int OBP_CONFIGURE_STATUS_LED = 0x00001010;
// static const unsigned int OBP_ENTER_REPROGRAMMING_MODE = 0x000FFF00;
// Buffering
static const unsigned int OBP_GET_BUFFER_SIZE_MAX = 0x00100820;
static const unsigned int OBP_GET_BUFFER_SIZE_ACTIVE = 0x00100822;
static const unsigned int OBP_CLEAR_BUFFER_ALL = 0x00100830;
static const unsigned int OBP_SET_BUFFER_SIZE_ACTIVE = 0x00100832;
static const unsigned int OBP_GET_BUFFERED_SPEC_COUNT = 0x00100900;
//Spectra queries
static const unsigned int OBP_GET_BUF_SPEC32_META = 0x00100928;
static const unsigned int OBP_GET_CORRECTED_SPECTRUM_NOW = 0x00101000;
static const unsigned int OBP_GET_SATURATION_LEVEL = 0x001010A0;
static const unsigned int OBP_GET_RAW_SPECTRUM_NOW = 0x00101100;
static const unsigned int OBP_GET_PARTIAL_SPECTRUM_MODE = 0x00102000;
static const unsigned int OBP_SET_PARTIAL_SPECTRUM_MODE = 0x00102010;
static const unsigned int OBP_GET_PARTIAL_SPECTRUM_NOW = 0x00102080;
// Integration, binning, lamps, shutters etc.
static const unsigned int OBP_SET_ITIME_USEC = 0x00110010;
static const unsigned int OBP_SET_TRIG_MODE = 0x00110110;
static const unsigned int OBP_SIMULATE_TRIG_PULSE = 0x00110120;
static const unsigned int OBP_GET_PIXEL_BINNING_FACTOR = 0x00110280;
static const unsigned int OBP_GET_MAX_BINNING_FACTOR = 0x00110281;
static const unsigned int OBP_GET_DEFAULT_BINNING_FACTOR = 0x00110285;
static const unsigned int OBP_SET_PIXEL_BINNING_FACTOR = 0x00110290;
static const unsigned int OBP_SET_DEFAULT_BINNING_FACTOR = 0x00110295;
static const unsigned int OBP_SET_LAMP_ENABLE = 0x00110410;
static const unsigned int OBP_SET_TRIG_DELAY_USEC = 0x00110510;
static const unsigned int OBP_SET_SHUTTER = 0x00110610;
// Spectrum filtering and averaging
static const unsigned int OBP_GET_SCANS_TO_AVERAGE = 0x00120000;
static const unsigned int OBP_SET_SCANS_TO_AVERAGE = 0x00120010;
static const unsigned int OBP_GET_BOXCAR_WIDTH = 0x00121000;
static const unsigned int OBP_SET_BOXCAR_WIDTH = 0x00121010;
// Spectral correction and calibration
static const unsigned int OBP_GET_WL_COEFF_COUNT = 0x00180100;
static const unsigned int OBP_GET_WL_COEFF = 0x00180101;
static const unsigned int OBP_SET_WL_COEFF = 0x00180111;
static const unsigned int OBP_GET_NL_COEFF_COUNT = 0x00181100;
static const unsigned int OBP_GET_NL_COEFF = 0x00181101;
static const unsigned int OBP_SET_NL_COEFF = 0x00181111;
static const unsigned int OBP_GET_IRRAD_CAL_ALL = 0x00182001;
static const unsigned int OBP_GET_IRRAD_CAL_COUNT = 0x00182002;
static const unsigned int OBP_GET_IRRAD_CAL_COLL_AREA = 0x00182003;
static const unsigned int OBP_SET_IRRAD_CAL_ALL = 0x00182011;
static const unsigned int OBP_SET_IRRAD_CAL_COLL_AREA = 0x00182013;
static const unsigned int OBP_GET_STRAY_COEFF_COUNT = 0x00183100;
static const unsigned int OBP_GET_STRAY_COEFF = 0x00183101;
static const unsigned int OBP_SET_STRAY_COEFF = 0x00183111;
static const unsigned int OBP_SPEC_GET_HOT_PIXEL_INDICES = 0x00186000;
static const unsigned int OBP_SPEC_SET_HOT_PIXEL_INDICES = 0x00186010;
// Optical Bench
static const unsigned int OBP_GET_BENCH_ID = 0x001B0000;
static const unsigned int OBP_GET_BENCH_SERIAL_NUMBER = 0x001B0100;
static const unsigned int OBP_GET_BENCH_SLIT_WIDTH_MICRONS = 0x001B0200;
static const unsigned int OBP_GET_BENCH_FIBER_DIAM_MICRONS = 0x001B0300;
static const unsigned int OBP_GET_BENCH_GRATING = 0x001B0400;
static const unsigned int OBP_GET_BENCH_FILTER = 0x001B0500;
static const unsigned int OBP_GET_BENCH_COATING = 0x001B0600;
// GPIO
static const unsigned int OBP_GET_GPIO_NUMBER_OF_PINS = 0x00200000;
static const unsigned int OBP_GET_GPIO_OUTPUT_ENABLE_VECTOR = 0x00200100;
static const unsigned int OBP_SET_GPIO_OUTPUT_ENABLE_VECTOR = 0x00200110;
static const unsigned int OBP_GET_GPIO_VALUE = 0x00200300;
static const unsigned int OBP_SET_GPIO_VALUE = 0x00200310;
// Strobe
static const unsigned int OBP_SET_SINGLE_STROBE_DELAY = 0x00300010;
static const unsigned int OBP_SET_SINGLE_STROBE_WIDTH = 0x00300011;
static const unsigned int OBP_SET_SINGLE_STROBE_ENABLE = 0x00300012;
static const unsigned int OBP_SET_CONT_STROBE_PERIOD = 0x00310010;
static const unsigned int OBP_SET_CONT_STROBE_ENABLE = 0x00310011;
// Temperature control and sensing
static const unsigned int OBP_GET_TEMPERATURE_COUNT = 0x00400000;
static const unsigned int OBP_GET_TEMPERATURE = 0x00400001;
static const unsigned int OBP_GET_TEMPERATURE_ALL = 0x00400002;
static const unsigned int OBP_GET_TE_ENABLE = 0x00420000;
static const unsigned int OBP_GET_TE_SETPOINT = 0x00420001;
static const unsigned int OBP_GET_TE_FAN_ENABLE = 0x00420002;
static const unsigned int OBP_GET_TE_IS_STABLE = 0x00420003;
static const unsigned int OBP_GET_TE_TEMPERATURE = 0x00420004;
static const unsigned int OBP_SET_TE_ENABLE = 0x00420010;
static const unsigned int OBP_SET_TE_SETPOINT = 0x00420011;
static const unsigned int OBP_SET_TE_FAN_ENABLE = 0x00420012;
// light source control
static const unsigned int OBP_GET_LIGHT_SOURCE_ENABLE = 0x00810021;
static const unsigned int OBP_SET_LIGHT_SOURCE_ENABLE = 0x00810031;
static const unsigned int OBP_GET_LIGHT_SOURCE_INTENSITY = 0x00810041;
static const unsigned int OBP_SET_LIGHT_SOURCE_INTENSITY = 0x00810051;
};
}
}
#endif /* OBPMESSAGETYPES_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPCommand.h
* @date May 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 OBPCOMMAND_H
#define OBPCOMMAND_H
#include <vector>
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPTransaction.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPCommand : public OBPTransaction {
public:
OBPCommand();
virtual ~OBPCommand();
using OBPTransaction::sendCommandToDevice;
virtual bool sendCommandToDevice(TransferHelper *helper) throw (ProtocolException);
protected:
int messageType;
std::vector<byte> payload;
};
}
}
#endif /* OBPCOMMAND_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPContinuousStrobeEnableExchange.h
* @date February 2013
* @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 OBPCONTINUOUS_STROBE_ENABLE_EXCHANGE_H
#define OBPCONTINUOUS_STROBE_ENABLE_EXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPContinuousStrobeEnableExchange : public OBPCommand {
public:
OBPContinuousStrobeEnableExchange();
virtual ~OBPContinuousStrobeEnableExchange();
void setContinuousStrobeEnable(bool enable);
};
}
}
#endif /* OBPCONTINUOUS_STROBE_ENABLE_EXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPContinuousStrobePeriodExchange.h
* @date February 2013
* @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 OBPCONTINUOUS_STROBE_PERIOD_EXCHANGE_H
#define OBPCONTINUOUS_STROBE_PERIOD_EXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPContinuousStrobePeriodExchange : public OBPCommand {
public:
OBPContinuousStrobePeriodExchange();
virtual ~OBPContinuousStrobePeriodExchange();
void setContinuousStrobePeriodMicroseconds(unsigned long period_usec);
};
}
}
#endif /* OBPCONTINUOUS_STROBE_PERIOD_EXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPDataBufferClearExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPDATABUFFERCLEAREXCHANGE_H
#define OBPDATABUFFERCLEAREXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPDataBufferClearExchange : public OBPCommand {
public:
OBPDataBufferClearExchange();
virtual ~OBPDataBufferClearExchange();
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPDATABUFFERCLEAREXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetAllTemperaturesExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* 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 OBPGETALLTEMPERATURESEXCHANGE_H
#define OBPGETALLTEMPERATURESEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetAllTemperaturesExchange : public OBPQuery {
public:
OBPGetAllTemperaturesExchange();
virtual ~OBPGetAllTemperaturesExchange();
};
}
}
#endif /* OBPGETALLTEMPERATURESEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetBoxcarWidthExchange.h
* @date February 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETBOXCARWIDTHEXCHANGE_H
#define OBPGETBOXCARWIDTHEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetBoxcarWidthExchange : public OBPQuery {
public:
OBPGetBoxcarWidthExchange();
virtual ~OBPGetBoxcarWidthExchange();
};
}
}
#endif /* OBPGETBOXCARWIDTHEXCHANGE_H */

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file OBPGetDataBufferCapacityExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETDATABUFFERCAPACITYEXCHANGE_H
#define OBPGETDATABUFFERCAPACITYEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetDataBufferCapacityExchange : public OBPQuery {
public:
OBPGetDataBufferCapacityExchange();
virtual ~OBPGetDataBufferCapacityExchange();
unsigned long queryBufferCapacity(TransferHelper *helper)
throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPGETDATABUFFERCAPACITYEXCHANGE_H */

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file OBPGetDataBufferElementCountExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETDATABUFFERELEMENTCOUNTEXCHANGE_H
#define OBPGETDATABUFFERELEMENTCOUNTEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetDataBufferElementCountExchange : public OBPQuery {
public:
OBPGetDataBufferElementCountExchange();
virtual ~OBPGetDataBufferElementCountExchange();
unsigned long queryNumberOfElements(TransferHelper *helper)
throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPGETDATABUFFERELEMENTCOUNTEXCHANGE_H */

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file OBPGetDataBufferMaximumCapacityExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETDATABUFFERMAXIMUMCAPACITYEXCHANGE_H
#define OBPGETDATABUFFERMAXIMUMCAPACITYEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetDataBufferMaximumCapacityExchange : public OBPQuery {
public:
OBPGetDataBufferMaximumCapacityExchange();
virtual ~OBPGetDataBufferMaximumCapacityExchange();
unsigned long queryBufferMaximumCapacity(
TransferHelper *helper) throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPGETDATABUFFERMAXIMUMCAPACITYEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPGetDefaultPixelBinningExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETDEFAULTPIXELBINNINGEXCHANGE_H
#define OBPGETDEFAULTPIXELBINNINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetDefaultPixelBinningExchange : public OBPQuery {
public:
OBPGetDefaultPixelBinningExchange();
virtual ~OBPGetDefaultPixelBinningExchange();
unsigned char getDefaultPixelBinningFactor();
};
}
}
#endif /* OBPGETDEFAULTPIXELBINNINGEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetFirmwareRevisionExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* 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 OBPGETFIRMWAREREVISIONEXCHANGE_H
#define OBPGETFIRMWAREREVISIONEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetFirmwareRevisionExchange : public OBPQuery {
public:
OBPGetFirmwareRevisionExchange();
virtual ~OBPGetFirmwareRevisionExchange();
};
}
}
#endif /* OBPGETFIRMWAREREVISIONEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetHardwareRevisionExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* 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 OBPGETHARDWAREREVISIONEXCHANGE_H
#define OBPGETHARDWAREREVISIONEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetHardwareRevisionExchange : public OBPQuery {
public:
OBPGetHardwareRevisionExchange();
virtual ~OBPGetHardwareRevisionExchange();
};
}
}
#endif /* OBPGETHARDWAREREVISIONEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetIrradCalExchange.h
* @date February 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 OBPGETIRRADCALEXCHANGE_H
#define OBPGETIRRADCALEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetIrradCalExchange : public OBPQuery {
public:
OBPGetIrradCalExchange();
virtual ~OBPGetIrradCalExchange();
};
}
}
#endif /* OBPGETIRRADCALEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetIrradCollectionAreaExchange.h
* @date February 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 OBPGETIRRADCOLLECTIONAREAEXCHANGE_H
#define OBPGETIRRADCOLLECTIONAREAEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetIrradCollectionAreaExchange : public OBPQuery {
public:
OBPGetIrradCollectionAreaExchange();
virtual ~OBPGetIrradCollectionAreaExchange();
};
}
}
#endif /* OBPGETIRRADCOLLECTIONAREAEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPGetMaxPixelBinningExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETMAXPIXELBINNINGEXCHANGE_H
#define OBPGETMAXPIXELBINNINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetMaxPixelBinningExchange : public OBPQuery {
public:
OBPGetMaxPixelBinningExchange();
virtual ~OBPGetMaxPixelBinningExchange();
unsigned char getMaxPixelBinningFactor();
};
}
}
#endif /* OBPGETMAXPIXELBINNINGEXCHANGE_H */

View File

@ -0,0 +1,47 @@
/***************************************************//**
* @file OBPGetNonlinearityCoeffExchange.h
* @date February 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 OBPGETNONLINEARITYCOEFFEXCHANGE_H
#define OBPGETNONLINEARITYCOEFFEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetNonlinearityCoeffExchange : public OBPQuery {
public:
OBPGetNonlinearityCoeffExchange();
virtual ~OBPGetNonlinearityCoeffExchange();
void setCoefficientIndex(unsigned int index);
};
}
}
#endif /* OBPGETNONLINEARITYCOEFFEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetNonlinearityCoeffsCountExchange.h
* @date February 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 OBPGETNONLINEARITYCOEFFSCOUNTEXCHANGE_H
#define OBPGETNONLINEARITYCOEFFSCOUNTEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetNonlinearityCoeffsCountExchange : public OBPQuery {
public:
OBPGetNonlinearityCoeffsCountExchange();
virtual ~OBPGetNonlinearityCoeffsCountExchange();
};
}
}
#endif /* OBPGETNONLINEARITYCOEFFSCOUNTEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchCoatingExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHCOATINGEXCHANGE_H
#define OBPGETOPTICALBENCHCOATINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchCoatingExchange : public OBPQuery {
public:
OBPGetOpticalBenchCoatingExchange();
virtual ~OBPGetOpticalBenchCoatingExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHCOATINGEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchFiberDiameterMicronsExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHFIBERDIAMETERMIRCONSEXCHANGE_H
#define OBPGETOPTICALBENCHFIBERDIAMETERMIRCONSEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchFiberDiameterMicronsExchange : public OBPQuery {
public:
OBPGetOpticalBenchFiberDiameterMicronsExchange();
virtual ~OBPGetOpticalBenchFiberDiameterMicronsExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHFIBERDIAMETERMIRCONSEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchFilterExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHFILTEREXCHANGE_H
#define OBPGETOPTICALBENCHFILTEREXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchFilterExchange : public OBPQuery {
public:
OBPGetOpticalBenchFilterExchange();
virtual ~OBPGetOpticalBenchFilterExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHFILTEREXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchGratingExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHGRATINGEXCHANGE_H
#define OBPGETOPTICALBENCHGRATINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchGratingExchange : public OBPQuery {
public:
OBPGetOpticalBenchGratingExchange();
virtual ~OBPGetOpticalBenchGratingExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHGRATINGEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchIDExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHIDEXCHANGE_H
#define OBPGETOPTICALBENCHIDEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchIDExchange : public OBPQuery {
public:
OBPGetOpticalBenchIDExchange();
virtual ~OBPGetOpticalBenchIDExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHIDEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchSerialNumberExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHSERIALNUMBEREXCHANGE_H
#define OBPGETOPTICALBENCHSERIALNUMBEREXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchSerialNumberExchange : public OBPQuery {
public:
OBPGetOpticalBenchSerialNumberExchange();
virtual ~OBPGetOpticalBenchSerialNumberExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHSERIALNUMBEREXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetOpticalBenchSlitWidthMicronsExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETOPTICALBENCHSLITWIDTHMIRCONSEXCHANGE_H
#define OBPGETOPTICALBENCHSLITWIDTHMIRCONSEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetOpticalBenchSlitWidthMicronsExchange : public OBPQuery {
public:
OBPGetOpticalBenchSlitWidthMicronsExchange();
virtual ~OBPGetOpticalBenchSlitWidthMicronsExchange();
};
}
}
#endif /* OBPGETOPTICALBENCHSLITWIDTHMIRCONSEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPGetPixelBinningExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETPIXELBINNINGEXCHANGE_H
#define OBPGETPIXELBINNINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetPixelBinningExchange : public OBPQuery {
public:
OBPGetPixelBinningExchange();
virtual ~OBPGetPixelBinningExchange();
unsigned char getPixelBinningFactor();
};
}
}
#endif /* OBPGETPIXELBINNINGEXCHANGE_H */

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file OBPGetSaturationExchange.h
* @date March 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 OBPGETSATURATIONEXCHANGE_H
#define OBPGETSATURATIONEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetSaturationExchange : public OBPQuery {
public:
OBPGetSaturationExchange();
virtual ~OBPGetSaturationExchange();
unsigned int querySaturationLevel(TransferHelper *helper)
throw (ProtocolException);
};
}
}
#endif /* OBPGETSATURATIONEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetScansToAverageExchange.h
* @date February 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* 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 OBPGETSCANSTOAVERAGEEXCHANGE_H
#define OBPGETSCANSTOAVERAGEEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetScansToAverageExchange : public OBPQuery {
public:
OBPGetScansToAverageExchange();
virtual ~OBPGetScansToAverageExchange();
};
}
}
#endif /* OBPGETSCANSTOAVERAGEEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetSerialNumberExchange.h
* @date February 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 OBPGETSERIALNUMBEREXCHANGE_H
#define OBPGETSERIALNUMBEREXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetSerialNumberExchange : public OBPQuery {
public:
OBPGetSerialNumberExchange();
virtual ~OBPGetSerialNumberExchange();
};
}
}
#endif /* OBPGETSERIALNUMBEREXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetSerialNumberMaximumLengthExchange.h
* @date Janaury 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPGETSERIALNUMBERMAXIMUMLENGTHEXCHANGE_H
#define OBPGETSERIALNUMBERMAXIMUMLENGTHEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetSerialNumberMaximumLengthExchange : public OBPQuery {
public:
OBPGetSerialNumberMaximumLengthExchange();
virtual ~OBPGetSerialNumberMaximumLengthExchange();
};
}
}
#endif /* OBPGETSERIALNUMBERMAXIMUMLENGTHEXCHANGE_H */

View File

@ -0,0 +1,47 @@
/***************************************************//**
* @file OBPGetStrayLightCoeffExchange.h
* @date February 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 OBPGETSTRAYLIGHTCOEFFEXCHANGE_H
#define OBPGETSTRAYLIGHTCOEFFEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetStrayLightCoeffExchange : public OBPQuery {
public:
OBPGetStrayLightCoeffExchange();
virtual ~OBPGetStrayLightCoeffExchange();
void setCoefficientIndex(unsigned int index);
};
}
}
#endif /* OBPGETSTRAYLIGHTCOEFFEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetStrayLightCoeffsCountExchange.h
* @date February 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 OBPGETSTRAYLIGHTCOEFFSCOUNTEXCHANGE_H
#define OBPGETSTRAYLIGHTCOEFFSCOUNTEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetStrayLightCoeffsCountExchange : public OBPQuery {
public:
OBPGetStrayLightCoeffsCountExchange();
virtual ~OBPGetStrayLightCoeffsCountExchange();
};
}
}
#endif /* OBPGETSTRAYLIGHTCOEFFSCOUNTEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetTemperatureCountExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, Ocean Optics Inc, Heliospectra AB
*
* 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 OBPGETTEMPERATURECOUNTEXCHANGE_H
#define OBPGETTEMPERATURECOUNTEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetTemperatureCountExchange : public OBPQuery {
public:
OBPGetTemperatureCountExchange();
virtual ~OBPGetTemperatureCountExchange();
};
}
}
#endif /* OBPGETTEMPERATURECOUNTEXCHANGE_H */

View File

@ -0,0 +1,47 @@
/***************************************************//**
* @file OBPGetTemperatureExchange.h
* @date January 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* 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 OBPGETTEMPERATUREEXCHANGE_H
#define OBPGETTEMPERATUREEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetTemperatureExchange : public OBPQuery {
public:
OBPGetTemperatureExchange();
virtual ~OBPGetTemperatureExchange();
void setTemperatureIndex(unsigned int index);
};
}
}
#endif /* OBPGETTEMPERATUREEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPGetThermoElectricTemperatureExchange.h
* @date March 2013
* @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 OBPGETTHERMOELECTRICTEMPERATUREEXCHANGE_H
#define OBPGETTHERMOELECTRICTEMPERATUREEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetThermoElectricTemperatureExchange : public OBPQuery {
public:
OBPGetThermoElectricTemperatureExchange();
virtual ~OBPGetThermoElectricTemperatureExchange();
};
}
}
#endif /* OBPGETTHERMOELECTRICTEMPERATUREEXCHANGE_H */

View File

@ -0,0 +1,48 @@
/***************************************************//**
* @file OBPGetWaveCalExchange.h
* @date January 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 OBPGETWAVECALEXCHANGE_H
#define OBPGETWAVECALEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPGetWaveCalExchange : public OBPQuery {
public:
OBPGetWaveCalExchange();
virtual ~OBPGetWaveCalExchange();
void setCoefficientIndex(unsigned int index);
};
}
}
#endif /* OBPGETWAVECALEXCHANGE_H */

View File

@ -0,0 +1,51 @@
/***************************************************//**
* @file OBPIntegrationTimeExchange.h
* @date January 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 OBPINTEGRATIONTIMEEXCHANGE_H
#define OBPINTEGRATIONTIMEEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPMessage.h"
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPIntegrationTimeExchange : public OBPCommand {
public:
OBPIntegrationTimeExchange(unsigned long integrationTimeBase_usec);
virtual ~OBPIntegrationTimeExchange();
void setIntegrationTimeMicros(unsigned long integrationTime_usec);
private:
unsigned long integrationTimeBase_usec;
unsigned long integrationTime_usec;
};
}
}
#endif /* OBPINTEGRATIONTIMEEXCHANGE_H */

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file OBPLampEnableCommand.cpp
* @date February 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 OBPLAMPENABLECOMMAND_H
#define OBPLAMPENABLECOMMAND_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLampEnableCommand : public OBPCommand {
public:
OBPLampEnableCommand();
virtual ~OBPLampEnableCommand();
void setEnable(TransferHelper *helper, bool enable)
throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPLAMPENABLECOMMAND_H */

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file OBPLightSourceEnableCommand.h
* @date April 2013
* @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 OBPLIGHTSOURCEENABLECOMMAND_H
#define OBPLIGHTSOURCEENABLECOMMAND_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceEnableCommand : public OBPCommand {
public:
OBPLightSourceEnableCommand();
virtual ~OBPLightSourceEnableCommand();
virtual void setLightSourceEnable(int moduleIndex, int source, bool enable);
};
}
}
#endif /* OBPLIGHTSOURCEENABLECOMMAND_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPLightSourceEnabledQuery.h
* @date April 2013
* @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 OBPLIGHTSOURCEENABLEDQUERY_H
#define OBPLIGHTSOURCEENABLEDQUERY_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceEnabledQuery : public OBPQuery {
public:
OBPLightSourceEnabledQuery(int module, int source);
virtual ~OBPLightSourceEnabledQuery();
bool queryEnable(TransferHelper *helper) throw (ProtocolException);
private:
int moduleIndex;
int lightSourceIndex;
};
}
}
#endif /* OBPLIGHTSOURCEENABLEDQUERY_H */

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file OBPLightSourceIntensityCommand.h
* @date April 2013
* @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 OBPLIGHTSOURCEINTENSITYCOMMAND_H
#define OBPLIGHTSOURCEINTENSITYCOMMAND_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceIntensityCommand : public OBPCommand {
public:
OBPLightSourceIntensityCommand();
virtual ~OBPLightSourceIntensityCommand();
virtual void setLightSourceIntensity(int moduleIndex, int source,
float intensity);
};
}
}
#endif /* OBPLIGHTSOURCEINTENSITYCOMMAND_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPLightSourceIntensityQuery.h
* @date April 2013
* @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 OBPLIGHTSOURCEINTENSITYQUERY_H
#define OBPLIGHTSOURCEINTENSITYQUERY_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPQuery.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceIntensityQuery : public OBPQuery {
public:
OBPLightSourceIntensityQuery(int module, int source);
virtual ~OBPLightSourceIntensityQuery();
float queryIntensity(TransferHelper *helper) throw (ProtocolException);
private:
int moduleIndex;
int lightSourceIndex;
};
}
}
#endif /* OBPLIGHTSOURCEINTENSITYQUERY_H */

View File

@ -0,0 +1,105 @@
/***************************************************//**
* @file OBPMessage.h
* @date January 2011
* @author Ocean Optics, Inc.
*
* All messages in the Ocean Binary Protocol begin with
* a standard 64-byte header. It is always safe to read
* 64 bytes for the start of a new transfer from a device
* that supports this protocol, which works nicely with
* the USB minimum packet size.
*
* This class simplifies the task of getting data into
* and out of the header.
*
* 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 OBPMESSAGE_H
#define OBPMESSAGE_H
#include <vector>
#include "common/SeaBreeze.h"
#include "common/exceptions/IllegalArgumentException.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPMessage {
public:
OBPMessage();
~OBPMessage();
static OBPMessage *parseHeaderFromByteStream(std::vector<byte> *stream) throw (IllegalArgumentException);
static OBPMessage *parseByteStream(std::vector<byte> *stream) throw (IllegalArgumentException);
std::vector<byte> *toByteStream();
std::vector<byte> *getData();
unsigned int getBytesRemaining();
byte getChecksumType();
unsigned short getErrno();
unsigned short getFlags();
std::vector<byte> *getImmediateData();
byte getImmediateDataLength();
unsigned int getMessageType();
std::vector<byte> *getPayload();
unsigned short getProtocolVersion();
unsigned int getRegarding();
bool isAckFlagSet();
bool isNackFlagSet();
void setAckRequestedFlag();
void setBytesRemaining(unsigned int bytesRemaining);
void setChecksumType(byte checksumType);
void setData(std::vector<byte> *data);
void setErrorNumber(unsigned short errorNumber);
void setFlags(unsigned short flags);
void setImmediateData(std::vector<byte> *immediateData);
void setImmediateDataLength(byte immediateDataLength);
void setMessageType(unsigned int messageType);
void setPayload(std::vector<byte> *payload);
void setProtocolVersion(unsigned short protocolVersion);
void setRegarding(unsigned int regarding);
protected:
void setupMessage();
std::vector<byte> *header;
unsigned short protocolVersion;
unsigned short flags;
unsigned short errorNumber;
unsigned int messageType;
unsigned int regarding;
byte checksumType;
byte immediateDataLength;
std::vector<byte> *immediateData;
unsigned int bytesRemaining;
std::vector<byte> *payload;
std::vector<byte> *checksum;
std::vector<byte> *footer;
};
}
}
#endif /* OBPMESSAGE_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPQuery.h
* @date May 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 OBPQUERY_H
#define OBPQUERY_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPTransaction.h"
#include <vector>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPQuery : public OBPTransaction {
public:
OBPQuery();
virtual ~OBPQuery();
using OBPTransaction::queryDevice;
virtual std::vector<byte> *queryDevice(TransferHelper *helper) throw (ProtocolException) ;
protected:
int messageType;
std::vector<byte> payload;
};
}
}
#endif /* OBPQUERY_H */

View File

@ -0,0 +1,59 @@
/***************************************************//**
* @file OBPReadRawSpectrum32AndMetadataExchange.h
* @date September 2013
* @author Ocean Optics, Inc.
*
* This message type is intended for the QE-PRO which
* aligns pixel data to 32-bit words and includes a
* metadata block at the start of each spectrum.
*
* 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 OBPREADRAWSPECTRUM32ANDMETADATAEXCHANGE_H
#define OBPREADRAWSPECTRUM32ANDMETADATAEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPReadRawSpectrum32AndMetadataExchange : public Transfer {
public:
OBPReadRawSpectrum32AndMetadataExchange(unsigned int numberOfPixels);
virtual ~OBPReadRawSpectrum32AndMetadataExchange();
void setNumberOfPixels(int numberOfPixels);
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
unsigned int isLegalMessageType(unsigned int t);
unsigned int numberOfPixels;
unsigned int metadataLength;
};
}
}
#endif /* OBPREADRAWSPECTRUM32ANDMETADATAEXCHANGE_H */

View File

@ -0,0 +1,55 @@
/***************************************************//**
* @file OBPReadRawSpectrumExchange.h
* @date January 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 OBPREADRAWSPECTRUMEXCHANGE_H
#define OBPREADRAWSPECTRUMEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPReadRawSpectrumExchange : public Transfer {
public:
OBPReadRawSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
virtual ~OBPReadRawSpectrumExchange();
// Allow the number of pixels to be altered for pixel binning
void setNumberOfPixels(unsigned int readoutLength, unsigned int numPixels);
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
unsigned int isLegalMessageType(unsigned int t);
unsigned int numberOfPixels;
};
}
}
#endif /* OBPREADRAWSPECTRUMEXCHANGE_H */

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file OBPReadSpectrum32AndMetadataExchange.h
* @date September 2013
* @author Ocean Optics, Inc.
*
* This message type is intended for the QE-PRO which
* aligns pixel data to 32-bit words and includes a
* metadata block at the start of each spectrum.
*
* 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 OBPREADSPECTRUM32ANDMETADATAEXCHANGE_H
#define OBPREADSPECTRUM32ANDMETADATAEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPReadRawSpectrum32AndMetadataExchange.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPReadSpectrum32AndMetadataExchange
: public OBPReadRawSpectrum32AndMetadataExchange {
public:
OBPReadSpectrum32AndMetadataExchange(unsigned int numberOfPixels);
virtual ~OBPReadSpectrum32AndMetadataExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif /* OBPREADSPECTRUM32ANDMETADATAEXCHANGE_H */

View File

@ -0,0 +1,48 @@
/***************************************************//**
* @file OBPReadSpectrumExchange.h
* @date January 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 OBPREADSPECTRUMEXCHANGE_H
#define OBPREADSPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPReadRawSpectrumExchange.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPReadSpectrumExchange : public OBPReadRawSpectrumExchange {
public:
OBPReadSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
virtual ~OBPReadSpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif /* OBPREADSPECTRUMEXCHANGE_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPReadSpectrumWithGainExchange.h
* @date March 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 OBPREADSPECTRUMWITHGAINEXCHANGE_H
#define OBPREADSPECTRUMWITHGAINEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPReadSpectrumExchange.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPReadSpectrumWithGainExchange : public OBPReadSpectrumExchange {
public:
OBPReadSpectrumWithGainExchange(unsigned int readoutLength,
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *spec);
virtual ~OBPReadSpectrumWithGainExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif /* OBPREADSPECTRUMWITHGAINEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPRequestBufferedSpectrum32AndMetadataExchange.h
* @date September 2013
* @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 OBPREQUESTBUFFEREDSPECTRUM32ANDMETADATAEXCHANGE_H
#define OBPREQUESTBUFFEREDSPECTRUM32ANDMETADATAEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPRequestBufferedSpectrum32AndMetadataExchange : public Transfer {
public:
OBPRequestBufferedSpectrum32AndMetadataExchange();
virtual ~OBPRequestBufferedSpectrum32AndMetadataExchange();
};
}
}
#endif /* OBPREQUESTBUFFEREDSPECTRUM32ANDMETADATAEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPRequestRawSpectrumExchange.h
* @date February 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 OBPREQUESTRAWSPECTRUMEXCHANGE_H
#define OBPREQUESTRAWSPECTRUMEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPRequestRawSpectrumExchange : public Transfer {
public:
OBPRequestRawSpectrumExchange();
virtual ~OBPRequestRawSpectrumExchange();
};
}
}
#endif /* OBPREQUESTRAWSPECTRUMEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPRequestSpectrumExchange.h
* @date January 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 OBPREQUESTSPECTRUMEXCHANGE_H
#define OBPREQUESTSPECTRUMEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPRequestSpectrumExchange : public Transfer {
public:
OBPRequestSpectrumExchange();
virtual ~OBPRequestSpectrumExchange();
};
}
}
#endif /* OBPREQUESTSPECTRUMEXCHANGE_H */

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file OBPSetAcquisitionDelayExchange.h
* @date November 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETACQUISITIONDELAYEXCHANGE_H
#define OBPSETACQUISITIONDELAYEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetAcquisitionDelayExchange : public OBPCommand {
public:
OBPSetAcquisitionDelayExchange();
virtual ~OBPSetAcquisitionDelayExchange();
void setAcquisitionDelayMicros(unsigned long delayMicros);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPSETACQUISITIONDELAYEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetBoxcarWidthExchange.h
* @date Februayr 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETBOXCARWIDTHEXCHANGE_H
#define OBPSETBOXCARWIDTHEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetBoxcarWidthExchange : public OBPCommand {
public:
OBPSetBoxcarWidthExchange();
virtual ~OBPSetBoxcarWidthExchange();
void setBoxcarWidth(unsigned char boxcarWidth);
};
}
}
#endif /* OBPSETBOXCARWIDTHEXCHANGE_H */

View File

@ -0,0 +1,48 @@
/***************************************************//**
* @file OBPSetDataBufferCapacityExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETDATABUFFERCAPACITYEXCHANGE_H
#define OBPSETDATABUFFERCAPACITYEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetDataBufferCapacityExchange : public OBPCommand {
public:
OBPSetDataBufferCapacityExchange();
virtual ~OBPSetDataBufferCapacityExchange();
void setBufferCapacity(unsigned long capacity);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPSETDATABUFFERCAPACITYEXCHANGE_H */

View File

@ -0,0 +1,47 @@
/***************************************************//**
* @file OBPSetDefaultPixelBinningExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETDEFAULTPIXELBINNINGEXCHANGE_H
#define OBPSETDEFAULTPIXELBINNINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetDefaultPixelBinningExchange : public OBPCommand {
public:
OBPSetDefaultPixelBinningExchange();
virtual ~OBPSetDefaultPixelBinningExchange();
void setDefaultPixelBinningFactor(const unsigned char binning);
void setDefaultPixelBinningFactor();
};
}
}
#endif /* OBPSETDEFAULTPIXELBINNINGEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetIrradCalExchange.h
* @date February 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 OBPSETIRRADCALEXCHANGE_H
#define OBPSETIRRADCALEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetIrradCalExchange : public OBPCommand {
public:
OBPSetIrradCalExchange(int maximumPixels);
virtual ~OBPSetIrradCalExchange();
void setIrradianceCalibration(std::vector<float> &values);
};
}
}
#endif /* OBPSETIRRADCALEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetIrradCollectionAreaExchange.h
* @date February 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 OBPSETIRRADCOLLECTIONAREAEXCHANGE_H
#define OBPSETIRRADCOLLECTIONAREAEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetIrradCollectionAreaExchange : public OBPCommand {
public:
OBPSetIrradCollectionAreaExchange();
virtual ~OBPSetIrradCollectionAreaExchange();
void setCollectionArea(float area);
};
}
}
#endif /* OBPSETIRRADCOLLECTIONAREAEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetPixelBinningExchange.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETPIXELBINNINGEXCHANGE_H
#define OBPSETPIXELBINNINGEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetPixelBinningExchange : public OBPCommand {
public:
OBPSetPixelBinningExchange();
virtual ~OBPSetPixelBinningExchange();
void setPixelBinningFactor(const unsigned char binning);
};
}
}
#endif /* OBPSETPIXELBINNINGEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetScansToAverageExchange.h
* @date Februayr 2015
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPSETSCANSTOAVERAGEEXCHANGE_H
#define OBPSETSCANSTOAVERAGEEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetScansToAverageExchange : public OBPCommand {
public:
OBPSetScansToAverageExchange();
virtual ~OBPSetScansToAverageExchange();
void setScansToAverage(unsigned short int scansToAverage);
};
}
}
#endif /* OBPSETSCANSTOAVERAGEEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetThermoElectricEnableExchange.h
* @date March 2013
* @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 OBPSETTHERMOELECTRICENABLEEXCHANGE_H
#define OBPSETTHERMOELECTRICENABLEEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetThermoElectricEnableExchange : public OBPCommand {
public:
OBPSetThermoElectricEnableExchange();
virtual ~OBPSetThermoElectricEnableExchange();
void setThermoElectricEnable(bool enable);
};
}
}
#endif /* OBPSETTHERMOELECTRICENABLEEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPSetThermoElectricSetpointExchange.h
* @date March 2013
* @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 OBPSETTHERMOELECTRICSETPOINTEXCHANGE_H
#define OBPSETTHERMOELECTRICSETPOINTEXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSetThermoElectricSetpointExchange : public OBPCommand {
public:
OBPSetThermoElectricSetpointExchange();
virtual ~OBPSetThermoElectricSetpointExchange();
void setThermoElectricSetpointCelsius(float setpoint);
};
}
}
#endif /* OBPSETTHERMOELECTRICSETPOINTEXCHANGE_H */

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file OBPShutterExchange.h
* @date February 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 OBPSHUTTEREXCHANGE_H
#define OBPSHUTTEREXCHANGE_H
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPShutterExchange : public OBPCommand {
public:
OBPShutterExchange();
virtual ~OBPShutterExchange();
void setShutterOpen(bool openShutter);
};
}
}
#endif /* OBPSHUTTEREXCHANGE_H */

View File

@ -0,0 +1,84 @@
/***************************************************//**
* @file OBPTransaction.h
* @date March 2011
* @author Ocean Optics, Inc.
*
* All messages in the Ocean Binary Protocol begin with
* a standard 64-byte header. It is always safe to read
* 64 bytes for the start of a new transfer from a device
* that supports this protocol, which works nicely with
* the USB minimum packet size.
*
* This class simplifies the task of performing transactions
* with the device, where a command is always followed
* by a response.
*
* 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 OBPTRANSACTION_H
#define OBPTRANSACTION_H
#include <vector>
#include "common/buses/TransferHelper.h"
#include "common/protocols/ProtocolHint.h"
#include "common/exceptions/ProtocolException.h"
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPMessage.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPTransaction {
public:
OBPTransaction();
virtual ~OBPTransaction();
virtual const std::vector<ProtocolHint *> &getHints();
protected:
/* This creates a message of the given type and payload and sends it
* to the device. The reply is formatted into a byte vector. Any
* errors will be indicated via an exception.
*/
virtual std::vector<byte> *queryDevice(TransferHelper *helper,
unsigned int messageType,
std::vector<byte> &data) throw (ProtocolException);
/* This creates a message of the given type and payload and sends it
* to the device. No response (other than an acknowledgment) is
* expected. This will return true if the command was acknowledged
* correctly, or false if there was a negative acknowledgment (NACK). Note
* that some commands will normally return a NACK even though it was
* a correct command (e.g. trying to read out a calibration that does
* not exist) so this does not throw an exception on a NACK.
*/
virtual bool sendCommandToDevice(TransferHelper *helper,
unsigned int messageType,
std::vector<byte> &data) throw (ProtocolException);
std::vector<ProtocolHint *> *hints;
};
}
}
#endif /* OBPTRANSACTION_H */

View File

@ -0,0 +1,47 @@
/***************************************************//**
* @file OBPTriggerModeExchange.h
* @date January 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 OBPTRIGGERMODEEXCHANGE_H
#define OBPTRIGGERMODEEXCHANGE_H
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPCommand.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPTriggerModeExchange : public OBPCommand {
public:
OBPTriggerModeExchange();
virtual ~OBPTriggerModeExchange();
void setTriggerMode(SpectrometerTriggerMode &mode);
};
}
}
#endif /* OBPTRIGGERMODEEXCHANGE_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPControlHint.h
* @date January 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 OBPCONTROLHINT_H
#define OBPCONTROLHINT_H
#include "common/protocols/ProtocolHint.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPControlHint : public ProtocolHint {
public:
OBPControlHint();
virtual ~OBPControlHint();
};
}
}
#endif /* OBPCONTROLHINT_H */

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file OBPSpectrumHint.h
* @date January 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 OBPSPECTRUMHINT_H
#define OBPSPECTRUMHINT_H
#include "common/protocols/ProtocolHint.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSpectrumHint : public ProtocolHint {
public:
OBPSpectrumHint();
virtual ~OBPSpectrumHint();
};
}
}
#endif /* OBPSPECTRUMHINT_H */

View File

@ -0,0 +1,51 @@
/***************************************************//**
* @file OBPAcquisitionDelayProtocol.h
* @date November 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPACQUISITIONDELAYPROTOCOL_H
#define OBPACQUISITIONDELAYPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/AcquisitionDelayProtocolInterface.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPAcquisitionDelayProtocol : public AcquisitionDelayProtocolInterface {
public:
OBPAcquisitionDelayProtocol();
virtual ~OBPAcquisitionDelayProtocol();
virtual void setAcquisitionDelayMicroseconds(const Bus &bus,
const unsigned long delayMicros) throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPACQUISITIONDELAYPROTOCOL_H */

View File

@ -0,0 +1,60 @@
/***************************************************//**
* @file OBPContinuousStrobeProtocol.h
* @date February 2013
* @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 OBPCONTINUOUS_STROBE_PROTOCOL_H
#define OBPCONTINUOUS_STROBE_PROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPContinuousStrobePeriodExchange.h"
#include "vendors/OceanOptics/protocols/obp/exchanges/OBPContinuousStrobeEnableExchange.h"
#include "vendors/OceanOptics/protocols/interfaces/ContinuousStrobeProtocolInterface.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPContinuousStrobeProtocol : public ContinuousStrobeProtocolInterface {
public:
OBPContinuousStrobeProtocol();
virtual ~OBPContinuousStrobeProtocol();
virtual void setContinuousStrobePeriodMicroseconds(const Bus &bus,
unsigned short strobe_id, unsigned long period_usec)
throw (ProtocolException);
virtual void setContinuousStrobeEnable(const Bus &bus,
unsigned short strobe_id, bool enable)
throw (ProtocolException);
protected:
OBPContinuousStrobePeriodExchange *setPeriodExchange;
OBPContinuousStrobeEnableExchange *setEnableExchange;
};
}
}
#endif /* OBPCONTINUOUS_STROBE_PROTOCOL_H */

View File

@ -0,0 +1,71 @@
/***************************************************//**
* @file OBPDataBufferProtocol.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPDATABUFFERPROTOCOL_H
#define OBPDATABUFFERPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/DataBufferProtocolInterface.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPDataBufferProtocol : public DataBufferProtocolInterface {
public:
OBPDataBufferProtocol();
virtual ~OBPDataBufferProtocol();
virtual void clearBuffer(const Bus &bus, unsigned char bufferIndex)
throw (ProtocolException);
virtual unsigned long getNumberOfElements(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException);
virtual unsigned long getBufferCapacity(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException);
virtual unsigned long getBufferCapacityMinimum(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException);
virtual unsigned long getBufferCapacityMaximum(const Bus &bus,
unsigned char bufferIndex)
throw (ProtocolException);
virtual void setBufferCapacity(const Bus &bus,
unsigned char bufferIndex,
const unsigned long capacity)
throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPDATABUFFERPROTOCOL_H */

View File

@ -0,0 +1,63 @@
/***************************************************//**
* @file OBPIrradCalProtocol.h
* @date February 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 OBPIRRADCALPROTOCOL_H
#define OBPIRRADCALPROTOCOL_H
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/IrradCalProtocolInterface.h"
#include "common/exceptions/ProtocolException.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPIrradCalProtocol : public IrradCalProtocolInterface {
public:
OBPIrradCalProtocol(int maximumNumberOfPixels);
virtual ~OBPIrradCalProtocol();
/* 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 pixelCountMaximum;
};
}
}
#endif /* OBPIRRADCALPROTOCOL_H */

View File

@ -0,0 +1,86 @@
/***************************************************//**
* @file OBPLightSourceProtocol.h
* @date April 2013
* @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_OBPLIGHTSOURCEPROTOCOL_H
#define SEABREEZE_OBPLIGHTSOURCEPROTOCOL_H
#include "vendors/OceanOptics/protocols/interfaces/LightSourceProtocolInterface.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceProtocol : public LightSourceProtocolInterface {
public:
OBPLightSourceProtocol();
virtual ~OBPLightSourceProtocol();
/* Required by LightSourceProtocolInterface */
virtual bool isLightSourceEnabled(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException);
virtual void setLightSourceEnable(const Bus &bus, int moduleIndex,
int lightSourceIndex, bool enable) throw (ProtocolException);
protected:
virtual int getModuleCount() = 0;
virtual int getLightSourceCount(int moduleIndex) = 0;
};
class OBPLightSourceProtocol_NormalizedIntensity : public OBPLightSourceProtocol,
public LightSourceProtocolInterface_NormalizedIntensity {
public:
OBPLightSourceProtocol_NormalizedIntensity();
virtual ~OBPLightSourceProtocol_NormalizedIntensity();
virtual double getIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException);
virtual void setIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex, double intensity) throw (ProtocolException);
};
class OBPLightSourceProtocol_Counts : public OBPLightSourceProtocol,
public LightSourceProtocolInterface_Counts {
public:
OBPLightSourceProtocol_Counts();
virtual ~OBPLightSourceProtocol_Counts();
virtual int getIntensityCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException);
virtual void setIntensityCounts(const Bus &bus, int moduleIndex,
int lightSourceIndex, int counts) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,66 @@
/***************************************************//**
* @file OBPLightSourceProtocol_Ventana.h
* @date April 2013
* @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_OBPLIGHTSOURCEPROTOCOL_VENTANA_H
#define SEABREEZE_OBPLIGHTSOURCEPROTOCOL_VENTANA_H
#include "vendors/OceanOptics/protocols/obp/impls/OBPLightSourceProtocol.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPLightSourceProtocol_Ventana
: public OBPLightSourceProtocol_NormalizedIntensity {
public:
OBPLightSourceProtocol_Ventana();
virtual ~OBPLightSourceProtocol_Ventana();
/* Required by OBPLightSourceProtocol */
virtual int getModuleCount();
virtual int getLightSourceCount(int moduleIndex);
/* Required by LightSourceProtocolInterface */
virtual bool hasLightSourceEnable(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException);
virtual bool hasVariableIntensity(const Bus &bus, int moduleIndex,
int lightSourceIndex) throw (ProtocolException);
/* Required by LightSourceProtocolInterface_NormalizedIntensity */
virtual double getIntensityMinimum(const Bus &bus, int moduleIndex,
int lightSourceIndex);
virtual double getIntensityMaximum(const Bus &bus, int moduleIndex,
int lightSourceIndex);
};
}
}
#endif

View File

@ -0,0 +1,51 @@
/***************************************************//**
* @file OBPNonlinearityCoeffsProtocol.h
* @date February 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_OBP_NONLINEARITYCOEFFSPROTOCOL_H
#define SEABREEZE_OBP_NONLINEARITYCOEFFSPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/NonlinearityCoeffsProtocolInterface.h"
#include <vector>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPNonlinearityCoeffsProtocol : public NonlinearityCoeffsProtocolInterface {
public:
OBPNonlinearityCoeffsProtocol();
virtual ~OBPNonlinearityCoeffsProtocol();
virtual std::vector<double> *readNonlinearityCoeffs(const Bus &bus)
throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,63 @@
/***************************************************//**
* @file OBPOpticalBenchProtocol.h
* @date January 2015
* @author Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, Ocean Optics Inc, Heliospectra AB
*
* 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_OBP_OPTICAL_BENCHROTOCOL_H
#define SEABREEZE_OBP_OPTICAL_BENCHROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/OpticalBenchProtocolInterface.h"
#include <vector>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPOpticalBenchProtocol : public OpticalBenchProtocolInterface {
public:
OBPOpticalBenchProtocol();
virtual ~OBPOpticalBenchProtocol();
virtual unsigned short int readOpticalBenchSlitWidthMicrons(const Bus &bus)
throw (ProtocolException);
virtual unsigned short int readOpticalBenchFiberDiameterMicrons(const Bus &bus)
throw (ProtocolException);
virtual std::string *readOpticalBenchID(const Bus &bus)
throw (ProtocolException);
virtual std::string *readOpticalBenchSerialNumber(const Bus &bus)
throw (ProtocolException);
virtual std::string *readOpticalBenchCoating(const Bus &bus)
throw (ProtocolException);
virtual std::string *readOpticalBenchFilter(const Bus &bus)
throw (ProtocolException);
virtual std::string *readOpticalBenchGrating(const Bus &bus)
throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,84 @@
/***************************************************//**
* @file OBPPixelBinningProtocol.h
* @date October 2015
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, 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 OBPPIXELBINNINGPROTOCOL_H
#define OBPPIXELBINNINGPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/PixelBinningProtocolInterface.h"
#include <string>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPPixelBinningProtocol : public PixelBinningProtocolInterface {
public:
OBPPixelBinningProtocol();
virtual ~OBPPixelBinningProtocol();
/**
* Get the pixel binning factor of the device.
*/
virtual unsigned char readPixelBinningFactor(const Bus &bus)
throw (ProtocolException);
/**
* Set the pixel binning factor on the device.
*/
virtual void writePixelBinningFactor(const Bus &bus, const unsigned char binningFactor)
throw (ProtocolException);
/**
* Get the default pixel binning factor of the device.
*/
virtual unsigned char readDefaultPixelBinningFactor(const Bus &bus)
throw (ProtocolException);
/**
* Set the default pixel binning factor on the device.
*/
virtual void writeDefaultPixelBinningFactor(const Bus &bus, const unsigned char binningFactor)
throw (ProtocolException);
/**
* Reset the default pixel binning factor on the device. This will reinstate the factory default of 0.
*/
virtual void writeDefaultPixelBinningFactor(const Bus &bus)
throw (ProtocolException);
/**
* Get the maximum pixel binning factor of the device.
*/
virtual unsigned char readMaxPixelBinningFactor(const Bus &bus)
throw (ProtocolException);
};
}
}
#endif /* OBPPIXELBINNINGPROTOCOL_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPProgrammableSaturationProtocol.h
* @date March 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 OBPPROGRAMMABLESATURATIONPROTOCOL_H
#define OBPPROGRAMMABLESATURATIONPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/ProgrammableSaturationProtocolInterface.h"
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPProgrammableSaturationProtocol
: public ProgrammableSaturationProtocolInterface {
public:
OBPProgrammableSaturationProtocol();
virtual ~OBPProgrammableSaturationProtocol();
/* Inherited from ProgrammableSaturationProtocolInterface */
virtual unsigned int getSaturation(const Bus &bus)
throw (ProtocolException);
};
} /* end namespace oceanBinaryProtocol */
} /* end namespace seabreeze */
#endif /* OBPPROGRAMMABLESATURATIONPROTOCOL_H */

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file OBPRevisionProtocol.h
* @date January 2015
* @author Kirk Clendinning, Heliospectra
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2015, Ocean Optics Inc, Heliospectra AB
*
* 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_OBP_REVISIONPROTOCOL_H
#define SEABREEZE_OBP_REVISIONPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/RevisionProtocolInterface.h"
#include <vector>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPRevisionProtocol : public RevisionProtocolInterface {
public:
OBPRevisionProtocol();
virtual ~OBPRevisionProtocol();
virtual unsigned char readHardwareRevision(const Bus &bus)
throw (ProtocolException);
virtual unsigned short int readFirmwareRevision(const Bus &bus)
throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OBPSerialNumberProtocol.h
* @date February 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 OBPSERIALNUMBERPROTOCOL_H
#define OBPSERIALNUMBERPROTOCOL_H
#include "common/SeaBreeze.h"
#include "common/buses/Bus.h"
#include "vendors/OceanOptics/protocols/interfaces/SerialNumberProtocolInterface.h"
#include <string>
namespace seabreeze {
namespace oceanBinaryProtocol {
class OBPSerialNumberProtocol : public SerialNumberProtocolInterface {
public:
OBPSerialNumberProtocol();
virtual ~OBPSerialNumberProtocol();
virtual std::string *readSerialNumber(const Bus &bus)
throw (ProtocolException);
virtual unsigned char readSerialNumberMaximumLength(const Bus &bus)
throw (ProtocolException);
};
}
}
#endif /* OBPSERIALNUMBERPROTOCOL_H */

Some files were not shown because too many files have changed in this diff Show More