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

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,45 @@
/***************************************************//**
* @file FPGARegisterReadExchange.h
* @date October 2012
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_FPGA_REGISTER_READ_EXCHANGE_H
#define SEABREEZE_FPGA_REGISTER_READ_EXCHANGE_H
#include "common/protocols/Transaction.h"
namespace seabreeze {
class FPGARegisterReadExchange : public Transaction {
public:
FPGARegisterReadExchange(byte address);
virtual ~FPGARegisterReadExchange();
};
}
#endif

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file FPGARegisterWriteExchange.h
* @date October 2012
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_FPGA_REGISTER_WRITE_EXCHANGE_H
#define SEABREEZE_FPGA_REGISTER_WRITE_EXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
class FPGARegisterWriteExchange : public Transfer {
public:
FPGARegisterWriteExchange(byte address, unsigned short value);
virtual ~FPGARegisterWriteExchange();
};
}
#endif

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file FPGASpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_FPGASPECTRUMEXCHANGE_H
#define SEABREEZE_FPGASPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class FPGASpectrumExchange : public ReadSpectrumExchange {
public:
FPGASpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels);
virtual ~FPGASpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,59 @@
/***************************************************//**
* @file FlameNIRSpectrumExchange.h
* @date Apr 2016
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2016, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_FLAMENIRSPECTRUMEXCHANGE_H
#define SEABREEZE_FLAMENIRSPECTRUMEXCHANGE_H
#include "common/Data.h"
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
namespace seabreeze {
namespace ooiProtocol {
/**
* @brief Spectrum exchange for FlameNIR spectrometer
*
* This class was needed because unlike other FX2-era spectrometers,
* the Flame-NIR does not return a "sync byte" at the end of a spectrum.
*/
class FlameNIRSpectrumExchange : public ReadSpectrumExchange {
public:
FlameNIRSpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
virtual ~FlameNIRSpectrumExchange();
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file HRFPGASpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_HRFPGASPECTRUMEXCHANGE_H
#define SEABREEZE_HRFPGASPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class HRFPGASpectrumExchange : public ReadSpectrumExchange {
public:
HRFPGASpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels);
virtual ~HRFPGASpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file IntegrationTimeExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_INTEGRATIONTIMEEXCHANGE_H
#define SEABREEZE_INTEGRATIONTIMEEXCHANGE_H
#include "common/protocols/Transfer.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class IntegrationTimeExchange : public Transfer {
public:
IntegrationTimeExchange(unsigned long integrationTimeBase_usec);
virtual ~IntegrationTimeExchange();
void setIntegrationTimeMicros(unsigned long integrationTime_usec);
/* Inherited from Transfer */
Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
unsigned long integrationTimeBase_usec;
unsigned long integrationTime_usec;
};
}
}
#endif

View File

@ -0,0 +1,57 @@
/***************************************************//**
* @file JazSpectrumExchange.h
* @date November 2011
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_JAZSPECTRUMEXCHANGE_H
#define SEABREEZE_JAZSPECTRUMEXCHANGE_H
#include "common/Data.h"
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
namespace seabreeze {
namespace ooiProtocol {
class JazSpectrumExchange : public ReadSpectrumExchange {
public:
JazSpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
virtual ~JazSpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
/* This is necessary so that the saturation level which is determined
* at initialization is available to certain protocol messages.
*/
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif

View File

@ -0,0 +1,58 @@
/***************************************************//**
* @file MayaProSpectrumExchange.h
* @date November 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_MAYAPROSPECTRUMEXCHANGE_H
#define SEABREEZE_MAYAPROSPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class MayaProSpectrumExchange : public ReadSpectrumExchange {
public:
MayaProSpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels,
GainAdjustedSpectrometerFeature *spectrometer);
virtual ~MayaProSpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
/* This is necessary so that the saturation level which is determined
* at initialization is available to certain protocol messages.
*/
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif

View File

@ -0,0 +1,57 @@
/***************************************************//**
* @file NIRQuestSpectrumExchange.h
* @date July 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_NIRQUESTSPECTRUMEXCHANGE_H
#define SEABREEZE_NIRQUESTSPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/QESpectrumExchange.h"
#include "common/Data.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
namespace seabreeze {
namespace ooiProtocol {
class NIRQuestSpectrumExchange : public QESpectrumExchange {
public:
NIRQuestSpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
virtual ~NIRQuestSpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
/* This is necessary so that the saturation level which is determined
* at initialization is available to certain protocol messages.
*/
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif

View File

@ -0,0 +1,52 @@
/***************************************************//**
* @file OOI2KSpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is a protocol exchange that can be used for the
* HR2000 (as well as some other early OOI spectrometers).
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_OOI2KSPECTRUMEXCHANGE_H
#define SEABREEZE_OOI2KSPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class OOI2KSpectrumExchange : public ReadSpectrumExchange {
public:
OOI2KSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
virtual ~OOI2KSpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,51 @@
/***************************************************//**
* @file OOIIrradCalExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_OOIIRRADCALEXCHANGE_H
#define SEABREEZE_OOIIRRADCALEXCHANGE_H
#include "common/protocols/Transaction.h"
#include "common/protocols/ProtocolHint.h"
#include <vector>
namespace seabreeze {
namespace ooiProtocol {
class OOIIrradCalExchange : public Transaction {
public:
OOIIrradCalExchange(int numberOfPixels);
virtual ~OOIIrradCalExchange();
protected:
unsigned int numberOfPixels;
};
}
}
#endif /* SEABREEZE_OOIIRRADCALEXCHANGE_H */

View File

@ -0,0 +1,53 @@
/***************************************************//**
* @file OOIReadIrradCalExchange.h
* @date March 2010
* @author Ocean Optics, Inc.
*
* This is a protocol exchange that can be used for the
* USB2000+ and some others.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_OOIREADIRRADCALEXCHANGE_H
#define SEABREEZE_OOIREADIRRADCALEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class OOIReadIrradCalExchange : public OOIIrradCalExchange {
public:
OOIReadIrradCalExchange(int numberOfPixels);
virtual ~OOIReadIrradCalExchange();
/* Inherited */
virtual Data *transfer(TransferHelper* helper) throw (ProtocolException);
};
}
}
#endif /* SEABREEZE_OOIREADIRRADCALEXCHANGE_H */

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file OOIWriteIrradCalExchange.h
* @date February 2012
* @author Ocean Optics, Inc.
*
* This is a protocol exchange that can be used for the
* USB2000+ and some others.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H
#define SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/OOIIrradCalExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class OOIWriteIrradCalExchange : public OOIIrradCalExchange {
public:
OOIWriteIrradCalExchange(int numberOfPixels);
virtual ~OOIWriteIrradCalExchange();
int setCalibration(const std::vector<float> &calibration);
/* Inherited */
virtual Data *transfer(TransferHelper* helper) throw (ProtocolException);
};
}
}
#endif /* SEABREEZE_OOIWRITEIRRADCALEXCHANGE_H */

View File

@ -0,0 +1,50 @@
/***************************************************//**
* @file QESpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_QESPECTRUMEXCHANGE_H
#define SEABREEZE_QESPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadSpectrumExchange.h"
#include "common/Data.h"
namespace seabreeze {
namespace ooiProtocol {
class QESpectrumExchange : public ReadSpectrumExchange {
public:
QESpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels);
virtual ~QESpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,46 @@
/***************************************************//**
* @file ReadEEPROMSlotExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_READEEPROMSLOTEXCHANGE_H
#define SEABREEZE_READEEPROMSLOTEXCHANGE_H
#include "common/protocols/Transaction.h"
namespace seabreeze {
class ReadEEPROMSlotExchange : public Transaction {
public:
ReadEEPROMSlotExchange(int slot);
virtual ~ReadEEPROMSlotExchange();
};
}
#endif

View File

@ -0,0 +1,48 @@
/***************************************************//**
* @file ReadSpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_READSPECTRUMEXCHANGE_H
#define SEABREEZE_READSPECTRUMEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace ooiProtocol {
class ReadSpectrumExchange : public Transfer {
public:
ReadSpectrumExchange(unsigned int readoutLength, unsigned int numberOfPixels);
virtual ~ReadSpectrumExchange();
protected:
unsigned int numberOfPixels;
};
}
}
#endif

View File

@ -0,0 +1,49 @@
/***************************************************//**
* @file ReadTECQETemperatureExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_READTECQETEMPERATUREEXCHANGE_H
#define SEABREEZE_READTECQETEMPERATUREEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/ReadTECTemperatureExchange.h"
namespace seabreeze {
namespace ooiProtocol {
class ReadTECQETemperatureExchange : public ReadTECTemperatureExchange {
public:
ReadTECQETemperatureExchange();
virtual ~ReadTECQETemperatureExchange();
/* Inherited from Transaction */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
};
}
}
#endif

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file ReadTECTemperatureExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_READTECTEMPERATUREEXCHANGE_H
#define SEABREEZE_READTECTEMPERATUREEXCHANGE_H
#include "common/protocols/Transaction.h"
namespace seabreeze {
namespace ooiProtocol {
class ReadTECTemperatureExchange : public Transaction {
public:
ReadTECTemperatureExchange();
virtual ~ReadTECTemperatureExchange();
};
}
}
#endif

View File

@ -0,0 +1,45 @@
/***************************************************//**
* @file RequestSpectrumExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_REQUESTSPECTRUMEXCHANGE_H
#define SEABREEZE_REQUESTSPECTRUMEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace ooiProtocol {
class RequestSpectrumExchange : public Transfer {
public:
RequestSpectrumExchange();
virtual ~RequestSpectrumExchange();
};
}
}
#endif

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file StrobeEnableExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_STROBEENABLEEXCHANGE_H
#define SEABREEZE_STROBEENABLEEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace ooiProtocol {
class StrobeEnableExchange : public Transfer {
public:
StrobeEnableExchange();
virtual ~StrobeEnableExchange();
void setEnable(bool enable);
/* Inherited from Transfer */
Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
bool strobeEnable;
};
}
}
#endif

View File

@ -0,0 +1,52 @@
/***************************************************//**
* @file TECEnableExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is made abstract so that subclasses specific to
* the QE/NIRQuest protocol and the old legacy NIR256/512
* can coexist. The NIR256/512 are not going to be supported
* at first, but the design will leave room for them.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_TECENABLEEXCHANGE_H
#define SEABREEZE_TECENABLEEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace ooiProtocol {
class TECEnableExchange : public Transfer {
public:
TECEnableExchange();
virtual ~TECEnableExchange();
virtual void setEnable(bool enable) = 0;
};
}
}
#endif

View File

@ -0,0 +1,58 @@
/***************************************************//**
* @file TECQEEnableExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is specifically for the QE-style of TEC, including
* the QE65000 and NIRQuest thermoelectric coolers. This
* will not work for the legacy NIR256/512 TEC, but a
* corresponding implementation could be derived adjacent
* to this class.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_TECQEENABLEEXCHANGE_H
#define SEABREEZE_TECQEENABLEEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/TECEnableExchange.h"
namespace seabreeze {
namespace ooiProtocol {
class TECQEEnableExchange : public TECEnableExchange {
public:
TECQEEnableExchange();
virtual ~TECQEEnableExchange();
/* Inherited from TECEnableExchange */
virtual void setEnable(bool enable);
Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
bool tecEnable;
};
}
}
#endif

View File

@ -0,0 +1,54 @@
/***************************************************//**
* @file TriggerModeExchange.h
* @date August 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_TRIGGERMODEEXCHANGE_H
#define SEABREEZE_TRIGGERMODEEXCHANGE_H
#include "common/protocols/Transfer.h"
#include "common/Data.h"
#include "vendors/OceanOptics/features/spectrometer/SpectrometerTriggerMode.h"
namespace seabreeze {
namespace ooiProtocol {
class TriggerModeExchange : public Transfer {
public:
TriggerModeExchange();
virtual ~TriggerModeExchange();
void setTriggerMode(SpectrometerTriggerMode &mode);
/* Inherited from Transfer */
Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
int triggerMode;
};
}
}
#endif

View File

@ -0,0 +1,57 @@
/***************************************************//**
* @file USBFPGASpectrumExchange.h
* @date July 2009
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_USBFPGASPECTRUMEXCHANGE_H
#define SEABREEZE_USBFPGASPECTRUMEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/FPGASpectrumExchange.h"
#include "common/Data.h"
#include "vendors/OceanOptics/features/spectrometer/GainAdjustedSpectrometerFeature.h"
namespace seabreeze {
namespace ooiProtocol {
class USBFPGASpectrumExchange : public FPGASpectrumExchange {
public:
USBFPGASpectrumExchange(unsigned int readoutLength,
unsigned int numberOfPixels, GainAdjustedSpectrometerFeature *feature);
virtual ~USBFPGASpectrumExchange();
/* Inherited */
virtual Data *transfer(TransferHelper *helper) throw (ProtocolException);
protected:
/* This is necessary so that the saturation level which is determined
* at initialization is available to certain protocol messages.
*/
GainAdjustedSpectrometerFeature *spectrometerFeature;
};
}
}
#endif

View File

@ -0,0 +1,43 @@
/***************************************************//**
* @file WriteEEPROMSlotExchange.h
* @date October 2012
* @author Ocean Optics, Inc.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_WRITE_EEPROM_SLOT_EXCHANGE_H
#define SEABREEZE_WRITE_EEPROM_SLOT_EXCHANGE_H
#include "common/protocols/Transaction.h"
namespace seabreeze {
class WriteEEPROMSlotExchange : public Transaction {
public:
WriteEEPROMSlotExchange(int slot, const std::vector<unsigned char>& data);
virtual ~WriteEEPROMSlotExchange();
};
}
#endif

View File

@ -0,0 +1,58 @@
/***************************************************//**
* @file WriteTECQESetPointExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is made abstract so that subclasses specific to
* the QE/NIRQuest protocol and the old legacy NIR256/512
* can coexist. The NIR256/512 are not going to be supported
* at first, but the design will leave room for them.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_WRITETECQESETPOINTEXCHANGE_H
#define SEABREEZE_WRITETECQESETPOINTEXCHANGE_H
#include "vendors/OceanOptics/protocols/ooi/exchanges/WriteTECSetPointExchange.h"
namespace seabreeze {
namespace ooiProtocol {
class WriteTECQESetPointExchange : public WriteTECSetPointExchange {
public:
WriteTECQESetPointExchange();
virtual ~WriteTECQESetPointExchange();
/** Inherited from WriteTECSetPointExchange */
virtual void setSetPointCelsius(double degreesC);
Data *transfer(TransferHelper *helper) throw (ProtocolException);
private:
int tecCounts;
};
}
}
#endif /* OOIPROTOCOLWRITETECQESETPOINTEXCHANGE_H */

View File

@ -0,0 +1,52 @@
/***************************************************//**
* @file WriteTECSetPointExchange.h
* @date February 2009
* @author Ocean Optics, Inc.
*
* This is made abstract so that subclasses specific to
* the QE/NIRQuest protocol and the old legacy NIR256/512
* can coexist. The NIR256/512 are not going to be supported
* at first, but the design will leave room for them.
*
* LICENSE:
*
* SeaBreeze Copyright (C) 2014, Ocean Optics Inc
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*******************************************************/
#ifndef SEABREEZE_WRITETECSETPOINTEXCHANGE_H
#define SEABREEZE_WRITETECSETPOINTEXCHANGE_H
#include "common/protocols/Transfer.h"
namespace seabreeze {
namespace ooiProtocol {
class WriteTECSetPointExchange : public Transfer {
public:
WriteTECSetPointExchange();
virtual ~WriteTECSetPointExchange();
virtual void setSetPointCelsius(double degreesC) = 0;
};
}
}
#endif