1.air部署,细节待修改
This commit is contained in:
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ApexSpectrometerFeature.h
vendored
Normal file
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ApexSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file ApexSpectrometerFeature.h
|
||||
* @date January 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 APEXSPECTROMETERFEATURE_H
|
||||
#define APEXSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class ApexSpectrometerFeature : public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
ApexSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~ApexSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* APEXSPECTROMETERFEATURE_H */
|
56
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/BlazeSpectrometerFeature.h
vendored
Normal file
56
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/BlazeSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
/***************************************************//**
|
||||
* @file BlazeSpectrometerFeature.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 BLAZESPECTROMETERFEATURE_H
|
||||
#define BLAZESPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class BlazeSpectrometerFeature : public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
BlazeSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~BlazeSpectrometerFeature();
|
||||
|
||||
/* The Blaze gets wavelengths a bit differently */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* BLAZESPECTROMETERFEATURE_H */
|
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/FlameNIRSpectrometerFeature.h
vendored
Normal file
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/FlameNIRSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file FlameNIRSpectrometerFeature.h
|
||||
* @date Apr 2016
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2016, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef FLAMENIRSPECTROMETERFEATURE_H
|
||||
#define FLAMENIRSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class FlameNIRSpectrometerFeature
|
||||
: public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
FlameNIRSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~FlameNIRSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
56
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h
vendored
Normal file
56
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
/***************************************************//**
|
||||
* @file GainAdjustedSpectrometerFeature.h
|
||||
* @date July 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef GAINADJUSTEDSPECTROMETERFEATURE_H
|
||||
#define GAINADJUSTEDSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class GainAdjustedSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
GainAdjustedSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~GainAdjustedSpectrometerFeature();
|
||||
|
||||
virtual unsigned int getSaturationLevel();
|
||||
|
||||
/* Inherited from Feature */
|
||||
virtual bool initialize(const Protocol &protocol, const Bus &bus)
|
||||
throw (FeatureException);
|
||||
|
||||
protected:
|
||||
ProgrammableSaturationFeature *saturation;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* GAINADJUSTEDSPECTROMETERFEATURE_H */
|
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000PlusSpectrometerFeature.h
vendored
Normal file
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000PlusSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file HR2000PlusSpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef HR2000PLUSSPECTROMETERFEATURE_H
|
||||
#define HR2000PLUSSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class HR2000PlusSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
HR2000PlusSpectrometerFeature();
|
||||
virtual ~HR2000PlusSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* HR2000PLUSSPECTROMETERFEATURE_H */
|
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000SpectrometerFeature.h
vendored
Normal file
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR2000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file HR2000SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef HR2000SPECTROMETERFEATURE_H
|
||||
#define HR2000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class HR2000SpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
HR2000SpectrometerFeature();
|
||||
virtual ~HR2000SpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* HR2000SPECTROMETERFEATURE_H */
|
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR4000SpectrometerFeature.h
vendored
Normal file
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/HR4000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file HR4000SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef HR4000SPECTROMETERFEATURE_H
|
||||
#define HR4000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class HR4000SpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
HR4000SpectrometerFeature();
|
||||
virtual ~HR4000SpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* HR4000SPECTROMETERFEATURE_H */
|
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/JazSpectrometerFeature.h
vendored
Normal file
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/JazSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file JazSpectrometerFeature.h
|
||||
* @date November 2011
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef JAZSPECTROMETERFEATURE_H
|
||||
#define JAZSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class JazSpectrometerFeature
|
||||
: public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
JazSpectrometerFeature(ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~JazSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* JAZSPECTROMETERFEATURE_H */
|
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000ProSpectrometerFeature.h
vendored
Normal file
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000ProSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file Maya2000ProSpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef MAYA2000PROSPECTROMETERFEATURE_H
|
||||
#define MAYA2000PROSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class Maya2000ProSpectrometerFeature
|
||||
: public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
Maya2000ProSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~Maya2000ProSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* MAYA2000PROSPECTROMETERFEATURE_H */
|
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000SpectrometerFeature.h
vendored
Normal file
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/Maya2000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file Maya2000SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef MAYA2000SPECTROMETERFEATURE_H
|
||||
#define MAYA2000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class Maya2000SpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
Maya2000SpectrometerFeature();
|
||||
virtual ~Maya2000SpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* MAYA2000SPECTROMETERFEATURE_H */
|
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/MayaLSLSpectrometerFeature.h
vendored
Normal file
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/MayaLSLSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file MayaLSLSpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef MAYALSLSPECTROMETERFEATURE_H
|
||||
#define MAYALSLSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class MayaLSLSpectrometerFeature : public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
MayaLSLSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~MayaLSLSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* MAYALSLSPECTROMETERFEATURE_H */
|
46
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest256SpectrometerFeature.h
vendored
Normal file
46
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest256SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
/***************************************************//**
|
||||
* @file NIRQuest256SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef NIRQUEST256SPECTROMETERFEATURE_H
|
||||
#define NIRQUEST256SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/NIRQuestSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class NIRQuest256SpectrometerFeature : public NIRQuestSpectrometerFeature {
|
||||
public:
|
||||
NIRQuest256SpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~NIRQuest256SpectrometerFeature();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* NIRQUEST256SPECTROMETERFEATURE_H */
|
46
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest512SpectrometerFeature.h
vendored
Normal file
46
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuest512SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
/***************************************************//**
|
||||
* @file NIRQuest512SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef NIRQUEST512SPECTROMETERFEATURE_H
|
||||
#define NIRQUEST512SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/NIRQuestSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class NIRQuest512SpectrometerFeature : public NIRQuestSpectrometerFeature {
|
||||
public:
|
||||
NIRQuest512SpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~NIRQuest512SpectrometerFeature();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* NIRQUEST512SPECTROMETERFEATURE_H */
|
54
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuestSpectrometerFeature.h
vendored
Normal file
54
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/NIRQuestSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/***************************************************//**
|
||||
* @file NIRQuestSpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef NIRQUESTSPECTROMETERFEATURE_H
|
||||
#define NIRQUESTSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class NIRQuestSpectrometerFeature : public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
NIRQuestSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~NIRQuestSpectrometerFeature();
|
||||
|
||||
protected:
|
||||
void setupExchanges(int readoutLength);
|
||||
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* NIRQUESTSPECTROMETERFEATURE_H */
|
111
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h
vendored
Normal file
111
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
/***************************************************//**
|
||||
* @file OOISpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOISPECTROMETERFEATURE_H
|
||||
#define OOISPECTROMETERFEATURE_H
|
||||
|
||||
#include <vector>
|
||||
#include "common/features/FeatureImpl.h"
|
||||
#include "common/protocols/Protocol.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "common/exceptions/FeatureException.h"
|
||||
#include "common/exceptions/IllegalArgumentException.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeatureInterface.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class OOISpectrometerFeature : public FeatureImpl,
|
||||
public OOISpectrometerFeatureInterface {
|
||||
public:
|
||||
OOISpectrometerFeature();
|
||||
virtual ~OOISpectrometerFeature();
|
||||
/* Request and read out a spectrum formatted into intensity (A/D counts) */
|
||||
virtual std::vector<double> *getSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
/* Request and read out the raw spectrum data stream */
|
||||
virtual std::vector<byte> *getUnformattedSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
/* Request and read out the wavelengths in nanometers as a vector of doubles */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
/* Read the raw spectrum data stream. No request is made first. */
|
||||
virtual std::vector<byte> *readUnformattedSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
/* Set the integration time of the spectrometer */
|
||||
virtual void setIntegrationTimeMicros(const Protocol &protocol,
|
||||
const Bus &bus, unsigned long time_usec)
|
||||
throw (FeatureException, IllegalArgumentException);
|
||||
|
||||
/* Request that the spectrometer make a spectrum available for
|
||||
* reading (e.g. with readUnformattedSpectrum())
|
||||
*/
|
||||
virtual void writeRequestSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
/* Setting the external trigger mode for the spectrometer */
|
||||
virtual void setTriggerMode(const Protocol &protocol,
|
||||
const Bus &bus, SpectrometerTriggerMode &mode) throw (FeatureException);
|
||||
|
||||
virtual std::vector<SpectrometerTriggerMode *> getTriggerModes() const;
|
||||
|
||||
virtual std::vector<int> getElectricDarkPixelIndices() const;
|
||||
|
||||
virtual long getIntegrationTimeMinimum() const;
|
||||
virtual long getIntegrationTimeMaximum() const;
|
||||
virtual long getIntegrationTimeIncrement() const;
|
||||
|
||||
virtual int getNumberOfPixels() const;
|
||||
virtual int getMaximumIntensity() const;
|
||||
|
||||
/* Overriding from Feature */
|
||||
virtual FeatureFamily getFeatureFamily();
|
||||
|
||||
protected:
|
||||
/* Detector details */
|
||||
int numberOfPixels;
|
||||
int maxIntensity;
|
||||
|
||||
/* Integration time parameters (measured in microseconds) */
|
||||
long integrationTimeMinimum;
|
||||
long integrationTimeMaximum;
|
||||
long integrationTimeBase;
|
||||
long integrationTimeIncrement;
|
||||
|
||||
std::vector<SpectrometerTriggerMode *> triggerModes;
|
||||
std::vector<int> electricDarkPixelIndices;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* OOISPECTROMETERFEATURE_H */
|
95
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeatureInterface.h
vendored
Normal file
95
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/OOISpectrometerFeatureInterface.h
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
/***************************************************//**
|
||||
* @file OOISpectrometerFeatureInterface.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef OOISPECTROMETERFEATUREINTERFACE_H
|
||||
#define OOISPECTROMETERFEATUREINTERFACE_H
|
||||
|
||||
#include <vector>
|
||||
#include "common/protocols/Protocol.h"
|
||||
#include "common/buses/Bus.h"
|
||||
#include "common/exceptions/FeatureException.h"
|
||||
#include "common/exceptions/IllegalArgumentException.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class OOISpectrometerFeatureInterface {
|
||||
public:
|
||||
virtual ~OOISpectrometerFeatureInterface() = 0;
|
||||
|
||||
/* Request and read out a spectrum formatted into intensity (A/D counts) */
|
||||
virtual std::vector<double> *getSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
/* Request and read out the raw spectrum data stream */
|
||||
virtual std::vector<byte> *getUnformattedSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
/* Request and read out the wavelengths in nanometers as a vector of doubles */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
/* Read the raw spectrum data stream. No request is made first. */
|
||||
virtual std::vector<byte> *readUnformattedSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
/* Set the integration time of the spectrometer */
|
||||
virtual void setIntegrationTimeMicros(const Protocol &protocol,
|
||||
const Bus &bus, unsigned long time_usec)
|
||||
throw (FeatureException, IllegalArgumentException) = 0;
|
||||
|
||||
/* Request that the spectrometer make a spectrum available for
|
||||
* reading (e.g. with readUnformattedSpectrum())
|
||||
*/
|
||||
virtual void writeRequestSpectrum(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
/* Setting the external trigger mode for the spectrometer */
|
||||
virtual void setTriggerMode(const Protocol &protocol,
|
||||
const Bus &bus, SpectrometerTriggerMode &mode) throw (FeatureException) = 0;
|
||||
|
||||
virtual std::vector<SpectrometerTriggerMode *> getTriggerModes() const = 0;
|
||||
|
||||
virtual std::vector<int> getElectricDarkPixelIndices() const = 0;
|
||||
|
||||
virtual long getIntegrationTimeMinimum() const = 0;
|
||||
virtual long getIntegrationTimeMaximum() const = 0;
|
||||
virtual long getIntegrationTimeIncrement() const = 0;
|
||||
|
||||
virtual int getNumberOfPixels() const = 0;
|
||||
virtual int getMaximumIntensity() const = 0;
|
||||
|
||||
};
|
||||
|
||||
/* Default implementation for (otherwise) pure virtual destructor */
|
||||
inline OOISpectrometerFeatureInterface::~OOISpectrometerFeatureInterface() {}
|
||||
|
||||
}
|
||||
|
||||
#endif /* OOISPECTROMETERFEATUREINTERFACE_H */
|
60
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeature.h
vendored
Normal file
60
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeature.h
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
/***************************************************//**
|
||||
* @file ProgrammableSaturationFeature.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 PROGRAMMABLESATURATIONFEATURE_H
|
||||
#define PROGRAMMABLESATURATIONFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeatureInterface.h"
|
||||
#include "common/features/Feature.h"
|
||||
#include <vector>
|
||||
|
||||
namespace seabreeze {
|
||||
/* ProgrammableSaturationFeature might be implemented by extending another
|
||||
* Feature, so this needs to use virtual inheritance to solve the
|
||||
* diamond problem.
|
||||
*/
|
||||
class ProgrammableSaturationFeature : public virtual Feature,
|
||||
public ProgrammableSaturationFeatureInterface {
|
||||
|
||||
public:
|
||||
ProgrammableSaturationFeature();
|
||||
virtual ~ProgrammableSaturationFeature();
|
||||
|
||||
virtual unsigned int getSaturation() throw (FeatureException) = 0;
|
||||
|
||||
/* Overriding from Feature */
|
||||
virtual bool initialize(const Protocol &protocol, const Bus &bus)
|
||||
throw (FeatureException) = 0;
|
||||
|
||||
virtual FeatureFamily getFeatureFamily() = 0;
|
||||
};
|
||||
|
||||
} /* end namespace seabreeze */
|
||||
|
||||
#endif /* PROGRAMMABLESATURATIONFEATURE_H */
|
@ -0,0 +1,66 @@
|
||||
/***************************************************//**
|
||||
* @file ProgrammableSaturationFeatureBase.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 PROGRAMMABLESATURATIONFEATUREBASE_H
|
||||
#define PROGRAMMABLESATURATIONFEATUREBASE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class ProgrammableSaturationFeatureBase
|
||||
: public ProgrammableSaturationFeature {
|
||||
public:
|
||||
ProgrammableSaturationFeatureBase();
|
||||
virtual ~ProgrammableSaturationFeatureBase();
|
||||
|
||||
/* Inherited from ProgrammableSaturationFeature */
|
||||
virtual unsigned int getSaturation() throw (FeatureException);
|
||||
|
||||
/* Overriding from Feature */
|
||||
virtual bool initialize(const Protocol &protocol, const Bus &bus)
|
||||
throw (FeatureException);
|
||||
|
||||
virtual FeatureFamily getFeatureFamily();
|
||||
|
||||
protected:
|
||||
/* Derived classes must implement this in whatever way is appropriate
|
||||
* to get the saturation level for the device.
|
||||
*/
|
||||
virtual unsigned int getSaturation(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException) = 0;
|
||||
|
||||
private:
|
||||
unsigned int saturation;
|
||||
bool valid;
|
||||
};
|
||||
|
||||
} /* end namespace seabreeze */
|
||||
|
||||
#endif /* PROGRAMMABLESATURATIONFEATUREBASE_H */
|
@ -0,0 +1,61 @@
|
||||
/***************************************************//**
|
||||
* @file ProgrammableSaturationFeatureImpl.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 PROGRAMMABLESATURATIONFEATUREIMPL_H
|
||||
#define PROGRAMMABLESATURATIONFEATUREIMPL_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/ProgrammableSaturationFeatureBase.h"
|
||||
#include "common/features/FeatureImpl.h"
|
||||
#include "common/protocols/ProtocolHelper.h"
|
||||
#include <vector>
|
||||
|
||||
namespace seabreeze {
|
||||
/* This class is intended for devices that have a clean protocol
|
||||
* interface for reading out the saturation level directly.
|
||||
*/
|
||||
class ProgrammableSaturationFeatureImpl
|
||||
: public ProgrammableSaturationFeatureBase, FeatureImpl {
|
||||
public:
|
||||
ProgrammableSaturationFeatureImpl(std::vector<ProtocolHelper *> helpers);
|
||||
virtual ~ProgrammableSaturationFeatureImpl();
|
||||
|
||||
virtual bool initialize(const Protocol &protocol, const Bus &bus)
|
||||
throw (FeatureException);
|
||||
|
||||
virtual FeatureFamily getFeatureFamily();
|
||||
|
||||
protected:
|
||||
/* Inherited from ProgrammableSaturationFeatureBase */
|
||||
virtual unsigned int getSaturation(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
};
|
||||
|
||||
} /* end namespace seabreeze */
|
||||
|
||||
#endif /* PROGRAMMABLESATURATIONFEATUREIMPL_H */
|
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file ProgrammableSaturationFeatureInterface.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 PROGRAMMABLESATURATIONFEATUREINTERFACE_H
|
||||
#define PROGRAMMABLESATURATIONFEATUREINTERFACE_H
|
||||
|
||||
#include "common/exceptions/FeatureException.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class ProgrammableSaturationFeatureInterface {
|
||||
public:
|
||||
virtual ~ProgrammableSaturationFeatureInterface() = 0;
|
||||
|
||||
/*
|
||||
* Get the detector saturation level from the device.
|
||||
*/
|
||||
virtual unsigned int getSaturation() throw (FeatureException) = 0;
|
||||
};
|
||||
|
||||
|
||||
/* Default implementation for (otherwise) pure virtual destructor */
|
||||
inline ProgrammableSaturationFeatureInterface::~ProgrammableSaturationFeatureInterface() {}
|
||||
|
||||
} /* end namespace seabreeze */
|
||||
|
||||
#endif /* PROGRAMMABLESATURATIONFEATUREINTERFACE_H */
|
57
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QE65000SpectrometerFeature.h
vendored
Normal file
57
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QE65000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/***************************************************//**
|
||||
* @file QE65000SpectrometerFeature.h
|
||||
* @date February 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef QE65000SPECTROMETERFEATURE_H
|
||||
#define QE65000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class QE65000SpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
QE65000SpectrometerFeature();
|
||||
virtual ~QE65000SpectrometerFeature();
|
||||
|
||||
/* Overridden from OOISpectrometerFeature because the QE65000
|
||||
* wavelength calibration is done differently than in most others
|
||||
*/
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* QE65000SPECTROMETERFEATURE_H */
|
55
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QEProSpectrometerFeature.h
vendored
Normal file
55
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/QEProSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/***************************************************//**
|
||||
* @file QEProSpectrometerFeature.h
|
||||
* @date June 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 QEPROSPECTROMETERFEATURE_H
|
||||
#define QEPROSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class QEProSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
QEProSpectrometerFeature();
|
||||
virtual ~QEProSpectrometerFeature();
|
||||
|
||||
/* The QE-PRO gets wavelengths a bit differently */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* QEPROSPECTROMETERFEATURE_H */
|
74
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/STSSpectrometerFeature.h
vendored
Normal file
74
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/STSSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
/***************************************************//**
|
||||
* @file STSSpectrometerFeature.h
|
||||
* @date May 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef STSSPECTROMETERFEATURE_H
|
||||
#define STSSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/temperature/TemperatureFeature.h"
|
||||
#include "vendors/OceanOptics/protocols/obp/impls/OBPTemperatureProtocol.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
|
||||
#define STS_TEMPERATURE_DETECTOR_INDEX 0
|
||||
#define STS_TEMPERATURE_RESERVED_INDEX 1
|
||||
#define STS_TEMPERATURE_CPU_INDEX 2
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
namespace oceanBinaryProtocol {
|
||||
class OBPReadRawSpectrumExchange;
|
||||
class OBPReadSpectrumExchange;
|
||||
}
|
||||
|
||||
class STSSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
STSSpectrometerFeature();
|
||||
virtual ~STSSpectrometerFeature();
|
||||
|
||||
void setPixelBinningFactor(unsigned char binningFactor);
|
||||
|
||||
/* The STS gets wavelengths a bit differently */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
oceanBinaryProtocol::OBPReadRawSpectrumExchange *unformattedSpectrum;
|
||||
oceanBinaryProtocol::OBPReadSpectrumExchange *formattedSpectrum;
|
||||
unsigned char binningFactor;
|
||||
|
||||
static const unsigned int unbinnedNumberOfPixels = 1024;
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* STSSPECTROMETERFEATURE_H */
|
62
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SparkSpectrometerFeature.h
vendored
Normal file
62
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SparkSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
/***************************************************//**
|
||||
* @file SparkSpectrometerFeature.h
|
||||
* @date May 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef SPARKSPECTROMETERFEATURE_H
|
||||
#define SPARKSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/temperature/TemperatureFeature.h"
|
||||
#include "vendors/OceanOptics/protocols/obp/impls/OBPTemperatureProtocol.h"
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
|
||||
#define SPARK_TEMPERATURE_DETECTOR_INDEX 0
|
||||
#define SPARK_TEMPERATURE_RESERVED_INDEX 1
|
||||
#define SPARK_TEMPERATURE_CPU_INDEX 2
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class SparkSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
SparkSpectrometerFeature();
|
||||
virtual ~SparkSpectrometerFeature();
|
||||
|
||||
/* The Spark gets wavelengths a bit differently */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* SPARKSPECTROMETERFEATURE_H */
|
70
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h
vendored
Normal file
70
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
/***************************************************//**
|
||||
* @file SpectrometerTriggerMode.h
|
||||
* @date August 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* This file describes the different kinds of trigger modes
|
||||
* that spectrometers may support.
|
||||
*
|
||||
* 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 SPECTROMETER_TRIGGER_MODE_H
|
||||
#define SPECTROMETER_TRIGGER_MODE_H
|
||||
|
||||
#define SPECTROMETER_TRIGGER_MODE_NORMAL 0x00
|
||||
#define SPECTROMETER_TRIGGER_MODE_SOFTWARE 0x01
|
||||
#define SPECTROMETER_TRIGGER_MODE_LEVEL 0x01
|
||||
#define SPECTROMETER_TRIGGER_MODE_SYNCHRONIZATION 0x02
|
||||
#define SPECTROMETER_TRIGGER_MODE_HARDWARE 0x03
|
||||
#define SPECTROMETER_TRIGGER_MODE_EDGE 0x03
|
||||
#define SPECTROMETER_TRIGGER_MODE_SINGLE_SHOT 0x04
|
||||
#define SPECTROMETER_TRIGGER_MODE_SELF_NORMAL 0x80
|
||||
#define SPECTROMETER_TRIGGER_MODE_SELF_SOFTWARE 0x81
|
||||
#define SPECTROMETER_TRIGGER_MODE_SELF_SYNCHRONIZATION 0x82
|
||||
#define SPECTROMETER_TRIGGER_MODE_SELF_HARDWARE 0x83
|
||||
|
||||
#define SPECTROMETER_TRIGGER_MODE_OBP_NORMAL 0x00
|
||||
#define SPECTROMETER_TRIGGER_MODE_OBP_EXTERNAL 0x01
|
||||
#define SPECTROMETER_TRIGGER_MODE_OBP_INTERNAL 0x02
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class SpectrometerTriggerMode {
|
||||
public:
|
||||
SpectrometerTriggerMode(int mode);
|
||||
virtual ~SpectrometerTriggerMode();
|
||||
|
||||
int getTriggerMode();
|
||||
|
||||
/* Overriding equality operator so that modes can be compared. */
|
||||
bool operator==(const SpectrometerTriggerMode &that);
|
||||
|
||||
private:
|
||||
int triggerMode;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* SPECTROMETER_TRIGGER_MODE_H */
|
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000PlusSpectrometerFeature.h
vendored
Normal file
53
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000PlusSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/***************************************************//**
|
||||
* @file USB2000PlusSpectrometerFeature.h
|
||||
* @date May 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef USB2000PLUSSPECTROMETERFEATURE_H
|
||||
#define USB2000PLUSSPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class USB2000PlusSpectrometerFeature
|
||||
: public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
USB2000PlusSpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~USB2000PlusSpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* USB2000PLUSSPECTROMETERFEATURE_H */
|
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000SpectrometerFeature.h
vendored
Normal file
51
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB2000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
/***************************************************//**
|
||||
* @file USB2000SpectrometerFeature.h
|
||||
* @date May 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef USB2000SPECTROMETERFEATURE_H
|
||||
#define USB2000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class USB2000SpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
USB2000SpectrometerFeature();
|
||||
virtual ~USB2000SpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* USB2000SPECTROMETERFEATURE_H */
|
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB4000SpectrometerFeature.h
vendored
Normal file
52
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/USB4000SpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************//**
|
||||
* @file USB4000SpectrometerFeature.h
|
||||
* @date May 2009
|
||||
* @author Ocean Optics, Inc.
|
||||
*
|
||||
* LICENSE:
|
||||
*
|
||||
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject
|
||||
* to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*******************************************************/
|
||||
|
||||
#ifndef USB4000SPECTROMETERFEATURE_H
|
||||
#define USB4000SPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class USB4000SpectrometerFeature : public GainAdjustedSpectrometerFeature {
|
||||
public:
|
||||
USB4000SpectrometerFeature(
|
||||
ProgrammableSaturationFeature *saturationFeature);
|
||||
virtual ~USB4000SpectrometerFeature();
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* USB4000SPECTROMETERFEATURE_H */
|
55
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/VentanaSpectrometerFeature.h
vendored
Normal file
55
Source/OSIF/include/vendors/OceanOptics/features/spectrometer/VentanaSpectrometerFeature.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/***************************************************//**
|
||||
* @file VentanaSpectrometerFeature.h
|
||||
* @date January 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 VENTANASPECTROMETERFEATURE_H
|
||||
#define VENTANASPECTROMETERFEATURE_H
|
||||
|
||||
#include "vendors/OceanOptics/features/spectrometer/OOISpectrometerFeature.h"
|
||||
|
||||
namespace seabreeze {
|
||||
|
||||
class VentanaSpectrometerFeature : public OOISpectrometerFeature {
|
||||
public:
|
||||
VentanaSpectrometerFeature();
|
||||
virtual ~VentanaSpectrometerFeature();
|
||||
|
||||
/* The Ventana gets wavelengths a bit differently */
|
||||
virtual std::vector<double> *getWavelengths(const Protocol &protocol,
|
||||
const Bus &bus) throw (FeatureException);
|
||||
|
||||
private:
|
||||
static const long INTEGRATION_TIME_MINIMUM;
|
||||
static const long INTEGRATION_TIME_MAXIMUM;
|
||||
static const long INTEGRATION_TIME_INCREMENT;
|
||||
static const long INTEGRATION_TIME_BASE;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* VENTANASPECTROMETERFEATURE_H */
|
Reference in New Issue
Block a user