mirror of
http://172.16.0.230/r/SIF/TowerOptoSifAndSpectral.git
synced 2025-10-18 03:19:43 +08:00
2482 lines
118 KiB
C++
2482 lines
118 KiB
C++
/***************************************************//**
|
|
* @file SeaBreezeAPI.h
|
|
* @date February 2015
|
|
* @author Ocean Optics, Inc., Kirk Clendinning, Heliospectra
|
|
*
|
|
* This is an interface to SeaBreeze that allows
|
|
* the user to connect to devices over USB and other buses.
|
|
* This is intended as a usable and extensible API.
|
|
*
|
|
* This provides a C interface to help with linkage.
|
|
*
|
|
* 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 SEABREEZEAPI_H
|
|
#define SEABREEZEAPI_H
|
|
|
|
#include "api/DllDecl.h"
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#include "api/seabreezeapi/DeviceAdapter.h"
|
|
|
|
/*!
|
|
@brief This is an interface to SeaBreeze that allows
|
|
the user to connect to devices over USB and
|
|
other buses. This is intended as a usable and
|
|
extensible API.
|
|
|
|
@note Detailed method documentation is available in
|
|
the analogous C functions in SeaBreezeAPI.h
|
|
*/
|
|
class DLL_DECL SeaBreezeAPI {
|
|
public:
|
|
/**
|
|
* No public constructor. To use this class in C++,
|
|
* you must first call getInstance(). This provides
|
|
* a singleton: it is the same on every call.
|
|
*/
|
|
static SeaBreezeAPI *getInstance();
|
|
|
|
/**
|
|
* No public destructor. Call this to force memory cleanup.
|
|
*/
|
|
static void shutdown();
|
|
|
|
/**
|
|
* Use the probeDevices() method to force the driver to look for any
|
|
* device that can be found automatically. If this is not called then
|
|
* such devices will not be available for use. This should be used when
|
|
* attempting to find USB devices.
|
|
*/
|
|
int probeDevices();
|
|
|
|
/**
|
|
* Use the addIPv4DeviceLocation() method to specify that a device may be
|
|
* found on a TCP/IPv4 network on a given port. Once specified,
|
|
* the typical openDevice() function can be used to access it.
|
|
*/
|
|
int addTCPIPv4DeviceLocation(char *deviceTypeName, char *ipAddr, int port);
|
|
|
|
/**
|
|
* Use the addRS232DeviceLocation() method to specify that a device may be
|
|
* found on a particular serial bus with a given baud rate. Once specified,
|
|
* the typical openDevice() function can be used to access it.
|
|
*/
|
|
int addRS232DeviceLocation(char *deviceTypeName, char *deviceBusPath, unsigned int baud);
|
|
|
|
/**
|
|
* This provides the number of devices that have either been probed or
|
|
* manually specified. Devices are not opened automatically, but this can
|
|
* provide a bound for getDeviceIDs().
|
|
*/
|
|
int getNumberOfDeviceIDs();
|
|
|
|
/**
|
|
* This provides a unique ID of each device that is detected or specified.
|
|
* The IDs are copied into the user-provided buffer. These IDs are weak
|
|
* references: attempting to access a device that no longer exists will cause
|
|
* an error value to be returned but should not cause any instability.
|
|
* The IDs may be entirely random, but a given ID will always refer to the
|
|
* same device for as long as the program is running. This will return the
|
|
* number of device IDs actually copied into the array or 0 on error.
|
|
*/
|
|
int getDeviceIDs(long *ids, unsigned long maxLength);
|
|
|
|
/**
|
|
* This will attempt to open the bus connetion to the device with the given ID.
|
|
* Returns 0 on success, other value on error.
|
|
*/
|
|
int openDevice(long id, int *errorCode);
|
|
|
|
/**
|
|
* This will attempt to close the bus connection to the device with the given ID.
|
|
*/
|
|
void closeDevice(long id, int *errorCode);
|
|
|
|
/* Get a string that describes the type of device */
|
|
int getDeviceType(long id, int *errorCode, char *buffer, unsigned int length);
|
|
|
|
/* Get the usb endpoint address for a specified type of endpoint */
|
|
unsigned char getDeviceEndpoint(long id, int *error_code, usbEndpointType endpointType);
|
|
|
|
/* Get raw usb access capabilities */
|
|
int getNumberOfRawUSBBusAccessFeatures(long deviceID, int *errorCode);
|
|
int getRawUSBBusAccessFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int rawUSBBusAccessRead(long deviceID, long featureID, int *errorCode, unsigned char *buffer, unsigned int bufferLength, unsigned char endpoint);
|
|
int rawUSBBusAccessWrite(long deviceID, long featureID, int *errorCode, unsigned char *buffer, unsigned int bufferLength, unsigned char endpoint);
|
|
|
|
/* Serial number capabilities */
|
|
int getNumberOfSerialNumberFeatures(long deviceID, int *errorCode);
|
|
int getSerialNumberFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int getSerialNumber(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
unsigned char getSerialNumberMaximumLength(long deviceID, long featureID, int *errorCode);
|
|
|
|
/* Spectrometer capabilities */
|
|
int getNumberOfSpectrometerFeatures(long id, int *errorCode);
|
|
int getSpectrometerFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void spectrometerSetTriggerMode(long deviceID, long spectrometerFeatureID, int *errorCode, int mode);
|
|
void spectrometerSetIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode, unsigned long integrationTimeMicros);
|
|
unsigned long spectrometerGetMinimumIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
unsigned long spectrometerGetMaximumIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
double spectrometerGetMaximumIntensity(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
int spectrometerGetUnformattedSpectrumLength(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
int spectrometerGetUnformattedSpectrum(long deviceID, long spectrometerFeatureID, int *errorCode, unsigned char *buffer, int bufferLength);
|
|
int spectrometerGetFormattedSpectrumLength(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
int spectrometerGetFormattedSpectrum(long deviceID, long spectrometerFeatureID, int *errorCode, double *buffer, int bufferLength);
|
|
int spectrometerGetWavelengths(long deviceID, long spectrometerFeatureID, int *errorCode, double *wavelengths, int length);
|
|
int spectrometerGetElectricDarkPixelCount(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
int spectrometerGetElectricDarkPixelIndices(long deviceID, long spectrometerFeatureID, int *errorCode, int *indices, int length);
|
|
|
|
/* Pixel binning capabilities */
|
|
int getNumberOfPixelBinningFeatures(long id, int *errorCode);
|
|
int getPixelBinningFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void binningSetPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode, const unsigned char binningFactor);
|
|
unsigned char binningGetPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
void binningSetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode, const unsigned char binningFactor);
|
|
void binningSetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
unsigned char binningGetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
unsigned char binningGetMaxPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
|
|
|
|
/* TEC capabilities */
|
|
int getNumberOfThermoElectricFeatures(long deviceID, int *errorCode);
|
|
int getThermoElectricFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
double tecReadTemperatureDegreesC(long deviceID, long featureID, int *errorCode);
|
|
void tecSetTemperatureSetpointDegreesC(long deviceID, long featureID, int *errorCode, double temperatureDegreesCelsius);
|
|
void tecSetEnable(long deviceID, long featureID, int *errorCode, unsigned char tecEnable);
|
|
|
|
/* Irradiance calibration features */
|
|
int getNumberOfIrradCalFeatures(long deviceID, int *errorCode);
|
|
int getIrradCalFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int irradCalibrationRead(long deviceID, long featureID, int *errorCode, float *buffer, int bufferLength);
|
|
int irradCalibrationWrite(long deviceID, long featureID, int *errorCode, float *buffer, int bufferLength);
|
|
int irradCalibrationHasCollectionArea(long deviceID, long featureID, int *errorCode);
|
|
float irradCalibrationReadCollectionArea(long deviceID, long featureID, int *errorCode);
|
|
void irradCalibrationWriteCollectionArea(long deviceID, long featureID, int *errorCode, float area);
|
|
|
|
/* EEPROM capabilities */
|
|
int getNumberOfEEPROMFeatures(long deviceID, int *errorCode);
|
|
int getEEPROMFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int eepromReadSlot(long deviceID, long featureID, int *errorCode, int slotNumber, unsigned char *buffer, int bufferLength);
|
|
|
|
/* Light source capabilities */
|
|
int getNumberOfLightSourceFeatures(long deviceID, int *errorCode);
|
|
int getLightSourceFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int lightSourceGetCount(long deviceID, long featureID, int *errorCode);
|
|
bool lightSourceHasEnable(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
|
|
bool lightSourceIsEnabled(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
|
|
void lightSourceSetEnable(long deviceID, long featureID, int *errorCode, int lightSourceIndex, bool enable);
|
|
bool lightSourceHasVariableIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
|
|
double lightSourceGetIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
|
|
void lightSourceSetIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex, double intensity);
|
|
|
|
/* Lamp capabilities */
|
|
int getNumberOfLampFeatures(long deviceID, int *errorCode);
|
|
int getLampFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void lampSetLampEnable(long deviceID, long featureID, int *errorCode, bool strobeEnable);
|
|
|
|
/* Continuous strobe capabilities */
|
|
int getNumberOfContinuousStrobeFeatures(long deviceID, int *errorCode);
|
|
int getContinuousStrobeFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void continuousStrobeSetContinuousStrobeEnable(long deviceID, long featureID, int *errorCode, bool strobeEnable);
|
|
void continuousStrobeSetContinuousStrobePeriodMicroseconds(long deviceID, long featureID, int *errorCode, unsigned long strobePeriodMicroseconds);
|
|
|
|
/* Shutter capabilities */
|
|
int getNumberOfShutterFeatures(long deviceID, int *errorCode);
|
|
int getShutterFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void shutterSetShutterOpen(long deviceID, long featureID, int *errorCode, bool opened);
|
|
|
|
/* Nonlinearity coefficient capabilities */
|
|
int getNumberOfNonlinearityCoeffsFeatures(long deviceID, int *errorCode);
|
|
int getNonlinearityCoeffsFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int nonlinearityCoeffsGet(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
|
|
|
|
/* Temperature capabilities */
|
|
int getNumberOfTemperatureFeatures(long deviceID, int *errorCode);
|
|
int getTemperatureFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
unsigned char temperatureCountGet(long deviceID, long featureID, int *errorCode);
|
|
double temperatureGet(long deviceID, long featureID, int *errorCode, int index);
|
|
int temperatureGetAll(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
|
|
|
|
/* Spectrum processing capabilities */
|
|
int getNumberOfSpectrumProcessingFeatures(long deviceID, int *errorCode);
|
|
int getSpectrumProcessingFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
unsigned char spectrumProcessingBoxcarWidthGet(long deviceID, long featureID, int *errorCode);
|
|
unsigned short int spectrumProcessingScansToAverageGet(long deviceID, long featureID, int *errorCode);
|
|
void spectrumProcessingBoxcarWidthSet(long deviceID, long featureID, int *errorCode, unsigned char boxcarWidth);
|
|
void spectrumProcessingScansToAverageSet(long deviceID, long featureID, int *errorCode, unsigned short int scansToAverage);
|
|
|
|
/* Revision capabilities */
|
|
int getNumberOfRevisionFeatures(long deviceID, int *errorCode);
|
|
int getRevisionFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
unsigned char revisionHardwareGet(long deviceID, long featureID, int *errorCode);
|
|
unsigned short int revisionFirmwareGet(long deviceID, long featureID, int *errorCode);
|
|
|
|
/* Optical Bench capabilities */
|
|
int getNumberOfOpticalBenchFeatures(long deviceID, int *errorCode);
|
|
int getOpticalBenchFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
unsigned short int opticalBenchGetFiberDiameterMicrons(long deviceID, long featureID, int *errorCode);
|
|
unsigned short int opticalBenchGetSlitWidthMicrons(long deviceID, long featureID, int *errorCode);
|
|
int opticalBenchGetID(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
int opticalBenchGetSerialNumber(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
int opticalBenchGetCoating(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
int opticalBenchGetFilter(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
int opticalBenchGetGrating(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
|
|
|
|
/* Stray light coefficient capabilities */
|
|
int getNumberOfStrayLightCoeffsFeatures(long deviceID, int *errorCode);
|
|
int getStrayLightCoeffsFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
int strayLightCoeffsGet(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
|
|
|
|
/* Data buffer capabilities */
|
|
int getNumberOfDataBufferFeatures(long deviceID, int *errorCode);
|
|
int getDataBufferFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void dataBufferClear(long deviceID, long featureID, int *errorCode);
|
|
unsigned long dataBufferGetNumberOfElements(long deviceID, long featureID, int *errorCode);
|
|
unsigned long dataBufferGetBufferCapacity(long deviceID, long featureID, int *errorCode);
|
|
unsigned long dataBufferGetBufferCapacityMaximum(long deviceID, long featureID, int *errorCode);
|
|
unsigned long dataBufferGetBufferCapacityMinimum(long deviceID, long featureID, int *errorCode);
|
|
void dataBufferSetBufferCapacity(long deviceID, long featureID, int *errorCode, unsigned long capacity);
|
|
|
|
/* Acquisition delay capabilities */
|
|
int getNumberOfAcquisitionDelayFeatures(long deviceID, int *errorCode);
|
|
int getAcquisitionDelayFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
|
|
void acquisitionDelaySetDelayMicroseconds(long deviceID, long featureID,
|
|
int *errorCode, unsigned long delay_usec);
|
|
unsigned long acquisitionDelayGetDelayMicroseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
unsigned long acquisitionDelayGetDelayIncrementMicroseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
unsigned long acquisitionDelayGetDelayMaximumMicroseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
unsigned long acquisitionDelayGetDelayMinimumMicroseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
|
|
private:
|
|
SeaBreezeAPI();
|
|
virtual ~SeaBreezeAPI();
|
|
|
|
seabreeze::api::DeviceAdapter *getDeviceByID(unsigned long id);
|
|
|
|
static SeaBreezeAPI *instance;
|
|
|
|
std::vector<seabreeze::api::DeviceAdapter *> probedDevices;
|
|
std::vector<seabreeze::api::DeviceAdapter *> specifiedDevices;
|
|
};
|
|
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* All of these C functions start with sbapi_ to prevent namespace
|
|
* collisions.
|
|
*/
|
|
|
|
/**
|
|
* This should be called prior to any other sbapi_call. The API may
|
|
* recover gracefully if this is not called, but future releases may assume
|
|
* this is called first. This should be called synchronously -- a single
|
|
* thread should call this.
|
|
*/
|
|
|
|
DLL_DECL void sbapi_initialize();
|
|
|
|
/**
|
|
* This may be called to free up any allocated memory being held by the
|
|
* driver interface. After this is called by any thread, sbapi_initialize
|
|
* should be called again before any other sbapi_ functions are used.
|
|
*/
|
|
DLL_DECL void sbapi_shutdown();
|
|
|
|
/**
|
|
* This specifies to the driver that a device of the given type might be
|
|
* found on the network at a given address and port. The driver will add
|
|
* the device type and location to the set of those that can be opened.
|
|
*
|
|
* @param deviceTypeName (Input) The name of a type of device. This can be
|
|
* one of the following: Jaz
|
|
*
|
|
* @param ipAddress (Input) The IPv4 address of the device. This should be
|
|
* in "dotted quads" notation, such as "192.168.1.100".
|
|
*
|
|
* @param port (Input) The network port to open on the device. This will
|
|
* depend on the device type; consult its datasheet.
|
|
*
|
|
* @return zero on success, non-zero on error
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_add_TCPIPv4_device_location(char *deviceTypeName, char *ipAddress,
|
|
unsigned int port);
|
|
|
|
/**
|
|
* This specifies to the driver that a device of the given type might be
|
|
* found on a particular RS232 bus (e.g. a COM port). The driver will add
|
|
* the device type and location to the set of those that can be opened.
|
|
*
|
|
* @param deviceTypeName (Input) The name of a type of device. This can be
|
|
* one of the following: QE-PRO, STS.
|
|
*
|
|
* @param deviceBusPath (Input) The location of the device on the RS232 bus.
|
|
* This will be a platform-specific location. Under Windows, this may
|
|
* be COM1, COM2, etc. Under Linux, this might be /dev/ttyS0, /dev/ttyS1,
|
|
* etc.
|
|
*
|
|
* @param baud (Input) Baud rate at which to open the device. This should
|
|
* be specified as the rate itself, e.g. 9600, 57600, or 115200.
|
|
*
|
|
* @return zero on success, non-zero on error
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_add_RS232_device_location(char *deviceTypeName, char *deviceBusPath,
|
|
unsigned int baud);
|
|
|
|
/**
|
|
* This causes a search for known devices on all buses that support
|
|
* autodetection. This does NOT automatically open any device -- that must
|
|
* still be done with the sbapi_open_device() function. Note that this
|
|
* should only be done by one thread at a time, and it is recommended that
|
|
* other threads avoid calling sbapi_get_number_of_device_ids() or
|
|
* sbapi_get_device_ids() while this is executing. Ideally, a single thread
|
|
* should be designated for all device discovery/get actions, and
|
|
* separate worker threads can be used for each device discovered.
|
|
*
|
|
* @return the total number of devices that have been found
|
|
* automatically. If called repeatedly, this will always return the
|
|
* number of devices most recently found, even if they have been
|
|
* found or opened previously.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_probe_devices();
|
|
|
|
/**
|
|
* This returns the total number of devices that are known either because
|
|
* they have been specified with sbapi_add_RS232_device_location or
|
|
* because they were probed on some bus. This can be used to bound the
|
|
* number of device references that can be gotten with
|
|
* sbapi_get_device_ids().
|
|
*
|
|
* @return the total number of devices references that are available
|
|
* through sbapi_get_device_ids().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_device_ids();
|
|
|
|
/**
|
|
* This will populate the provided buffer with up to max_ids of device
|
|
* references. These references must be used as the first parameter to
|
|
* most of the other sbapi_ calls. Each uniquely identifies a single
|
|
* device instance.
|
|
*
|
|
* @param ids (Output) an array of long integers that will be overwritten
|
|
* with the unique IDs of each known device. Note that these
|
|
* devices will not be open by default.
|
|
* @param max_ids (Input) the maximum number of IDs that may be written
|
|
* to the array
|
|
*
|
|
* @return The total number of device IDs that were written to the array.
|
|
* This may be zero on error.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_device_ids(long *ids, unsigned int max_ids);
|
|
|
|
/**
|
|
* This function opens a device attached to the system. The device must
|
|
* be provided as a location ID from the sbapi_get_device_ids()
|
|
* function. Such locations can either be specified or probed using the
|
|
* other methods in this interface.
|
|
*
|
|
* @param id (Input) The location ID of a device to try to open. Only IDs
|
|
* that have been returned by a previous call to seabreeze_get_device_ids()
|
|
* are valid.
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return 0 if it opened a device successfully, or 1 if no device was opened
|
|
* (in which case the error_code variable will be set).
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_open_device(long id, int *error_code);
|
|
|
|
/**
|
|
* This function closes the spectrometer attached to the system.
|
|
*
|
|
* @param id (Input) The location ID of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_close_device(long id, int *error_code);
|
|
|
|
/**
|
|
* This function returns a description of the error denoted by
|
|
* error_code.
|
|
*
|
|
* @param error_code (Input) The integer error code to look up. Error codes
|
|
* may not be zero, but can be any non-zero integer (positive or
|
|
* negative).
|
|
*
|
|
* @return char *: A description in the form of a string that describes
|
|
* what the error was.
|
|
*/
|
|
DLL_DECL const char *
|
|
sbapi_get_error_string(int error_code);
|
|
|
|
/**
|
|
* This function copies a string denoting the type of the device into the
|
|
* provided buffer.
|
|
*
|
|
* @param id (Input) The location ID of a device previously opened with
|
|
* sbapi_get_device_locations().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes. This may be NULL.
|
|
* @param buffer (Output) Pointer to a user buffer that the name will be
|
|
* stored into. This may be one of the following:
|
|
* \li NONE: Used if no spectrometer is found (error_code will also be set)
|
|
* \li HR2000: Represents an HR2000 spectrometer
|
|
* \li HR2000PLUS: Represents an HR2000+ spectrometer
|
|
* \li HR4000: Represents an HR4000 spectrometer
|
|
* \li JAZ: Represents a Jaz spectrometer
|
|
* \li MAYA2000: Represents a MAYA2000 spectrometer
|
|
* \li MAYA2000PRO: Represents a MAYA2000PRO spectrometer
|
|
* \li MAYALSL: Represents a Maya-LSL spectrometer
|
|
* \li NIRQUEST256: Represents an NIRQUEST256 spectrometer
|
|
* \li NIRQUEST512: Represents an NIRQUEST512 spectrometer
|
|
* \li QE65000: Represents a QE65000 spectrometer
|
|
* \li STS: Represents an STS spectrometer
|
|
* \li Torus: Represents a Torus spectrometer
|
|
* \li USB2000: Represents a USB2000 spectrometer
|
|
* \li USB2000PLUS: Represents a USB2000+ spectrometer
|
|
* \li USB4000: Represents a USB4000 spectrometer
|
|
*
|
|
* @param length (Input) Maximum number of bytes that may be written to the
|
|
* buffer
|
|
*
|
|
* @return integral number of bytes actually written to the user buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_device_type(long id, int *error_code,
|
|
char *buffer, unsigned int length);
|
|
|
|
/**
|
|
* This function returns the usb endpoint for the type specified.
|
|
* If the type is not supported by the device, a zero is returned.
|
|
* 0 is normally the control endpoint. That value is not valid in this context.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the usb endpoint address.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_device_usb_endpoint_primary_out(long id, int *error_code);
|
|
|
|
/**
|
|
* This function returns the usb endpoint for the type specified.
|
|
* If the type is not supported by the device, a zero is returned.
|
|
* 0 is normally the control endpoint. That value is not valid in this context.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the usb endpoint address.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_device_usb_endpoint_primary_in(long id, int *error_code);
|
|
|
|
/**
|
|
* This function returns the usb endpoint for the type specified.
|
|
* If the type is not supported by the device, a zero is returned.
|
|
* 0 is normally the control endpoint. That value is not valid in this context.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the usb endpoint address.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_device_usb_endpoint_secondary_out(long id, int *error_code);
|
|
|
|
/**
|
|
* This function returns the usb endpoint for the type specified.
|
|
* If the type is not supported by the device, a zero is returned.
|
|
* 0 is normally the control endpoint. That value is not valid in this context.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the usb endpoint address.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_device_usb_endpoint_secondary_in(long id, int *error_code);
|
|
|
|
/**
|
|
* This function returns the usb endpoint for the type specified.
|
|
* If the type is not supported by the device, a zero is returned.
|
|
* 0 is normally the control endpoint. That value is not valid in this context.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the usb endpoint address.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_device_usb_endpoint_secondary_in2(long id, int *error_code);
|
|
|
|
|
|
/**
|
|
* This function returns the total number of raw usb bus access feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of raw usb bus access features that will be
|
|
* returned by a call to sbapi_get_raw_usb_bus_access_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_raw_usb_bus_access_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each raw usb bus access feature
|
|
* instance for this device. The IDs are only valid when used with the
|
|
* deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of raw usb bus access feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_raw_usb_bus_access_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function reads out a raw usb access from the spectrometer's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_raw_usb_access_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) preallocated array to hold an unsigned char buffer
|
|
* @param buffer_length (Input) size of the preallocated buffer (should equal pixel count)
|
|
* @param endpoint (Input) a USB endpoint gotten from one of the
|
|
* sbapi_get_device_usb_endpoint_xxx_xxx() type calls.
|
|
*
|
|
* @return the number of floats read from the device into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_raw_usb_bus_access_read(long deviceID, long featureID,
|
|
int *error_code, unsigned char *buffer, int buffer_length, unsigned char endpoint);
|
|
|
|
/**
|
|
* This function writes a buffer of unsigned chars to the specified USB endpoint
|
|
* if the feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an raw usb bus access
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_raw_usb_bus_access_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) a pointer to unsigned char values to send to the usb endpoint
|
|
* @param buffer_length (Input) number of calibration factors to write
|
|
* @param endpoint (Input) a USB endpoint gotten from one of the
|
|
* sbapi_get_device_usb_endpoint_xxx_xxx() type calls.
|
|
*
|
|
* @return the number of floats written from the buffer to the device
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_raw_usb_bus_access_write(long deviceID, long featureID,
|
|
int *error_code, unsigned char *buffer, int buffer_length, unsigned char endpoint);
|
|
|
|
|
|
/**
|
|
* This function returns the total number of serial number instances available
|
|
* in the indicated device. Each instance may refer to a different module.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the number of serial_number features that will be returned
|
|
* by a call to sbapi_get_serial_number_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_serial_number_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each serial number instance for this
|
|
* device. Each instance refers to a single serial number feature.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param features (Output) a pre-allocated array to hold the list of
|
|
* supported serial number features
|
|
* @param max_features (Input) size of the preallocated output array
|
|
* @return the number of serial number feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_serial_number_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This reads the device's serial number and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_serial_number_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_serial_number(long deviceID, long featureID, int *error_code,
|
|
char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This reads the possible maximum length of the device's serial number
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_serial_number_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the length of the serial number in an unsigned character byte
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_get_serial_number_maximum_length(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* This function returns the total number of spectrometer instances available
|
|
* in the indicated device. Each instance refers to a single optical bench.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @return the number of spectrometer features that will be returned
|
|
* by a call to sbapi_get_spectrometer_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_spectrometer_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each spectrometer instance for this
|
|
* device. Each instance refers to a single optical bench. The IDs are only
|
|
* valid when used with the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param features (Output) a preallocated output array to hold the features
|
|
* @param max_features (Input) size of the preallocated output array
|
|
* @return Returns the number of spectrometer feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_spectrometer_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function sets the trigger mode for the specified device.
|
|
* Note that requesting an unsupported mode will result in an error.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param mode (Input) a trigger mode (0 = normal, 1 = software,
|
|
* 2 = synchronization, 3 = external hardware, etc - check your
|
|
* particular spectrometer's Data Sheet)
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_spectrometer_set_trigger_mode(long deviceID, long featureID,
|
|
int *error_code, int mode);
|
|
|
|
/**
|
|
* This function sets the integration time for the specified device.
|
|
* This function should not be responsible for performing stability
|
|
* scans.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param integration_time_micros (Input) The new integration time in
|
|
* units of microseconds
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_spectrometer_set_integration_time_micros(long deviceID, long featureID,
|
|
int *error_code, unsigned long integration_time_micros);
|
|
|
|
/**
|
|
* This function returns the smallest integration time setting,
|
|
* in microseconds, that is valid for the spectrometer.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used
|
|
* for storing error codes.
|
|
* @return Returns minimum legal integration time in microseconds if > 0.
|
|
* On error, returns -1 and error_code will be set accordingly.
|
|
*/
|
|
DLL_DECL long
|
|
sbapi_spectrometer_get_minimum_integration_time_micros(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* This function returns the maximum pixel intensity for the
|
|
* spectrometer.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used
|
|
* for storing error codes.
|
|
* @return Returns maximum pixel intensity if > 0.
|
|
* On error, returns -1 and error_code will be set accordingly.
|
|
*/
|
|
DLL_DECL double
|
|
sbapi_spectrometer_get_maximum_intensity(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* This returns an integer denoting the number of pixels in a
|
|
* formatted spectrum (as returned by get_formatted_spectrum(...)).
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrometer
|
|
* feature. Valid IDs can be found with the sbapi_get_spectrometer_features()
|
|
* function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the length of a formatted spectrum.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_formatted_spectrum_length(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* This acquires a spectrum and returns the answer in formatted
|
|
* floats. In this mode, auto-nulling should be automatically
|
|
* performed for devices that support it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A buffer (with memory already allocated) to
|
|
* hold the spectral data
|
|
* @param buffer_length (Input) The length of the buffer
|
|
*
|
|
* @return the number of floats read into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_formatted_spectrum(long deviceID,
|
|
long featureID, int *error_code,
|
|
double* buffer, int buffer_length);
|
|
|
|
/**
|
|
* This returns an integer denoting the length of a raw spectrum
|
|
* (as returned by get_unformatted_spectrum(...)).
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* open_spectrometer().
|
|
* @param featureID (Input) The ID of a particular instance of a
|
|
* spectrometer feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrometer_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the length of an unformatted spectrum.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_unformatted_spectrum_length(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* This acquires a spectrum and returns the answer in raw,
|
|
* unformatted bytes.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* open_spectrometer().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrometer
|
|
* feature. Valid IDs can be found with the sbapi_get_spectrometer_features()
|
|
* function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A buffer (with memory already allocated) to hold
|
|
* the spectral data
|
|
* @param buffer_length (Input) The length of the buffer
|
|
*
|
|
* @return the number of bytes read into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_unformatted_spectrum(long deviceID,
|
|
long featureID, int *error_code,
|
|
unsigned char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This computes the wavelengths for the spectrometer and fills in the
|
|
* provided array (up to the given length) with those values.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* open_spectrometer().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrometer
|
|
* feature. Valid IDs can be found with the sbapi_get_spectrometer_features()
|
|
* function.
|
|
* @param error_code (Ouput) pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param wavelengths (Output) A pre-allocated array of doubles that the wavelengths
|
|
* will be copied into
|
|
* @param length (Input) The number of values to copy into the wavelength array
|
|
* (this should be no larger than the number of doubles allocated in the wavelengths
|
|
* array)
|
|
*
|
|
* @return the number of bytes written into the wavelength buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_wavelengths(long deviceID,
|
|
long featureID, int *error_code, double *wavelengths, int length);
|
|
|
|
/**
|
|
* This returns the number of pixels that are electrically active but
|
|
* optically masked (a.k.a. electric dark pixels). Note that not all
|
|
* detectors have optically masked pixels; in that case, this function
|
|
* will return zero.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrometer
|
|
* feature. Valid IDs can be found with the sbapi_get_spectrometer_features()
|
|
* function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of pixels that can be retrieved by the
|
|
* sbapi_spectrometer_get_electric_dark_pixel_indices() function.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_electric_dark_pixel_count(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* This fills in the provided array (up to the given length) with the indices
|
|
* of the pixels that are electrically active but optically masked
|
|
* (a.k.a. electric dark pixels). Note that not all detectors have optically
|
|
* masked pixels; in that case, this function will return zero.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrometer
|
|
* feature. Valid IDs can be found with the sbapi_get_spectrometer_features()
|
|
* function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param indices (Output) A pre-allocated array of ints that the pixel indices
|
|
* will be copied into
|
|
* @param length (Input) The number of values to copy into the indices array
|
|
* (this should be no larger than the number of ints allocated in the indices
|
|
* array)
|
|
*
|
|
* @return the number of bytes written into the indices buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_spectrometer_get_electric_dark_pixel_indices(long deviceID,
|
|
long featureID, int *error_code, int *indices, int length);
|
|
|
|
/**
|
|
* This function returns the total number of pixel binning instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the number of pixel binning features that will be returned by a call
|
|
* to sbapi_get_pixel_binning_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_pixel_binning_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each pixel binning feature for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param features (Output) a pre-populated array to hold the returned
|
|
* feature handles
|
|
* @param max_features (Input) size of the pre-allocated array
|
|
*
|
|
* @return the number of pixel binning feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_pixel_binning_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function sets the pixel binning factor on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param factor (Input) The desired pixel binning factor.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_binning_set_pixel_binning_factor(long deviceID, long featureID,
|
|
int *error_code, unsigned char factor);
|
|
|
|
/**
|
|
* This function gets the pixel binning factor on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the pixel binning factor for the specified feature.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_binning_get_pixel_binning_factor(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* This function sets the default pixel binning factor on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output)A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param factor (Input) The desired default pixel binning factor.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_binning_set_default_pixel_binning_factor(long deviceID, long featureID,
|
|
int *error_code, unsigned char factor);
|
|
|
|
/**
|
|
* This function resets the default pixel binning factor on the device back to the factory default.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output)A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_binning_reset_default_pixel_binning_factor(long deviceID, long featureID,
|
|
int *error_code);
|
|
|
|
/**
|
|
* This function gets the default pixel binning factor on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output)A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the default pixel binning factor for the specified feature.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_binning_get_default_pixel_binning_factor(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* This function gets the maximum pixel binning factor on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a pixel binning feature.
|
|
* Valid IDs can be found with the sbapi_get_pixel_binning_features() function.
|
|
* @param error_code (Output)A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the maximum pixel binning factor for the specified feature.
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_binning_get_max_pixel_binning_factor(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* This function returns the total number of shutter instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the number of shutter features that will be returned by a call
|
|
* to sbapi_get_shutter_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_shutter_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each shutter instance for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param features (Output) a pre-populated array to hold the returned
|
|
* feature handles
|
|
* @param max_features (Input) size of the pre-allocated array
|
|
*
|
|
* @return the number of shutter feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_shutter_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function sets the shutter state on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a shutter feature.
|
|
* Valid IDs can be found with the sbapi_get_shutter_features() function.
|
|
* @param error_code (Output)A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param opened (Input) A boolean used for denoting the desired state
|
|
* (opened/closed) of the shutter. If the value of
|
|
* opened is non-zero, then the shutter will open. If
|
|
* the value of opened is zero, then the shutter will close.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_shutter_set_shutter_open(long deviceID, long featureID,
|
|
int *error_code, unsigned char opened);
|
|
|
|
/**
|
|
* This function returns the total number of light source instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the number of light source features that will be returned
|
|
* by a call to sbapi_get_light_source_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_light_source_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each light source instance for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param features (Output) pre-allocated buffer that will receive the IDs of the
|
|
* feature instances
|
|
* @param max_features (Input) the maximum number of elements that can be
|
|
* copied into the provided features array
|
|
*
|
|
* @return the number of light source feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_light_source_features(long deviceID, int *error_code,
|
|
long *features, int max_features);
|
|
|
|
/**
|
|
* This function gets the number of light sources that are represented by
|
|
* the given featureID. Such light sources could be individual LEDs,
|
|
* light bulbs, lasers, etc. Each of these light sources may have different
|
|
* capabilities, such as programmable intensities and enables, which should
|
|
* be queried before they are used.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source
|
|
* feature. Valid IDs can be found with sbapi_get_light_source_features().
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
*
|
|
* @return the number of light sources (e.g. bulbs) in the indicated feature
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_light_source_get_count(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* Queries whether the indicated light source within the given feature
|
|
* instance has a usable enable/disable control. If this returns 0
|
|
* (meaning no enable available) then calling sbapi_light_source_set_enable()
|
|
* or sbapi_light_source_is_enabled() is likely to result in an error.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source
|
|
* feature. Valid IDs can be found with the sbapi_get_light_source_features()
|
|
* function.
|
|
* @param error_code (Ouput) A pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources
|
|
* (LEDs, lasers, light bulbs) within the indicated feature instance to query
|
|
*
|
|
* @return 0 to indicate specified light source cannot be enabled/disabled,
|
|
* 1 to indicate specified light source can be enabled/disabled with
|
|
* sbapi_light_source_set_enable()
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_light_source_has_enable(long deviceID, long featureID, int *error_code,
|
|
int light_source_index);
|
|
|
|
/**
|
|
* Queries whether the indicated light source within the given feature
|
|
* instance is enabled (energized).
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source feature. Valid
|
|
* IDs can be found with the sbapi_get_light_source_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources (LEDs, lasers,
|
|
* light bulbs) within the indicated feature instance to query
|
|
*
|
|
* @return 0 to indicate specified light source is disabled (should emit no light),
|
|
* 1 to indicate specified light source is enabled (should emit light depending
|
|
* on configured intensity setting)
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_light_source_is_enabled(long deviceID, long featureID, int *error_code,
|
|
int light_source_index);
|
|
|
|
/**
|
|
* Attempts to enable or disable the indicated light source within the given
|
|
* feature instance. Not all light sources have an enable/disable control,
|
|
* and this capability can be queried with sbapi_light_source_has_enable().
|
|
* Note that an enabled light source should emit light according to its last
|
|
* (or default) intensity setting which might be the minimum; in this case,
|
|
* the light source might appear to remain off.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source feature. Valid
|
|
* IDs can be found with the sbapi_get_light_source_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources (LEDs, lasers,
|
|
* light bulbs) within the indicated feature instance to query
|
|
* @param enable (Input) Whether to enable the light source. A value of zero will attempt
|
|
* to disable the light source, and any other value will enable it.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_light_source_set_enable(long deviceID, long featureID, int *error_code,
|
|
int light_source_index, unsigned char enable);
|
|
|
|
/**
|
|
* Queries whether the indicated light source within the given feature
|
|
* instance has a usable intensity control. If this returns 0
|
|
* (meaning no control available) then calling sbapi_light_source_set_intensity()
|
|
* or sbapi_light_source_get_intensity() is likely to result in an error.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source feature. Valid
|
|
* IDs can be found with the sbapi_get_light_source_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources (LEDs, lasers,
|
|
* light bulbs) within the indicated feature instance to query
|
|
*
|
|
* @return 0 to indicate specified light source cannot have its intensity changed,
|
|
* 1 to indicate the specified light source can have its intensity controlled
|
|
* with sbapi_light_source_set_intensity()
|
|
*/
|
|
DLL_DECL unsigned char
|
|
sbapi_light_source_has_variable_intensity(long deviceID, long featureID,
|
|
int *error_code, int light_source_index);
|
|
|
|
/**
|
|
* Queries the intensity level of the indicated light source within the
|
|
* given feature instance. The intensity is normalized over the
|
|
* range [0, 1], with 0 as the minimum and 1 as the maximum.
|
|
*
|
|
* SAFETY WARNING: a light source at its minimum intensity (0) might still
|
|
* emit light, and in some cases, this may be harmful radiation. A value
|
|
* of 0 indicates the minimum of the programmable range for the light source,
|
|
* and does not necessarily turn the light source off. To disable a light
|
|
* source completely, use sbapi_light_source_set_enable() if the device
|
|
* supports this feature, or provide some other mechanism to allow the light
|
|
* to be disabled or blocked by the operator.
|
|
*
|
|
* In some cases, the intensity may refer to the duty cycle of a pulsed
|
|
* light source instead of a continuous power rating. The actual power output
|
|
* of the light source might not vary linearly with the reported intensity,
|
|
* so independent measurement or calibration of the light source may be
|
|
* necessary.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source feature. Valid
|
|
* IDs can be found with the sbapi_get_light_source_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources (LEDs, lasers,
|
|
* light bulbs) within the indicated feature instance to query
|
|
*
|
|
* @return Real-valued result (as a double-precision floating point number) over
|
|
* the range [0, 1] where 0 represents the minimum programmable intensity
|
|
* level and 1 indicates the maximum. Note that the minimum intensity level
|
|
* might still allow the light source to produce light.
|
|
*/
|
|
DLL_DECL double
|
|
sbapi_light_source_get_intensity(long deviceID, long featureID,
|
|
int *error_code, int light_source_index);
|
|
|
|
/**
|
|
* Sets the intensity level of the indicated light source within the
|
|
* given feature instance. The intensity is normalized over the
|
|
* range [0, 1], with 0 as the minimum and 1 as the maximum.
|
|
*
|
|
* SAFETY WARNING: a light source at its minimum intensity (0) might still
|
|
* emit light, and in some cases, this may be harmful radiation. A value
|
|
* of 0 indicates the minimum of the programmable range for the light source,
|
|
* and does not necessarily turn the light source off. To disable a light
|
|
* source completely, use sbapi_light_source_set_enable() if the device
|
|
* supports this feature, or provide some other mechanism to allow the light
|
|
* to be disabled or blocked by the operator.
|
|
*
|
|
* In some cases, the intensity may refer to the duty cycle of a pulsed
|
|
* light source instead of a continuous power rating. The actual power output
|
|
* of the light source might not vary linearly with the reported intensity,
|
|
* so independent measurement or calibration of the light source may be
|
|
* necessary.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a light source feature. Valid
|
|
* IDs can be found with the sbapi_get_light_source_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param light_source_index (Input) Which of potentially many light sources (LEDs, lasers,
|
|
* light bulbs) within the indicated feature instance to query
|
|
* @param intensity (Input) The target intensity of the light source in the range [0, 1]
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_light_source_set_intensity(long deviceID, long featureID,
|
|
int *error_code, int light_source_index, double intensity);
|
|
|
|
/*
|
|
* This function returns the total number of strobe/lamp instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of strobe/lamp features that will be returned
|
|
* by a call to sbapi_get_strobe_lamp_features().
|
|
*/
|
|
|
|
// There is not code in seabreezeAPI.cpp for this function. Perhaps it was not finished
|
|
|
|
//DLL_DECL int
|
|
//sbapi_get_number_of_strobe_lamp_features(long deviceID, int *error_code);
|
|
|
|
/*
|
|
* This function returns IDs for accessing each strobe/lamp instance for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of strobe/lamp feature IDs that were copied.
|
|
*/
|
|
|
|
// There is not code in seabreezeAPI.cpp for this function. Perhaps it was not finished.
|
|
|
|
//DLL_DECL int
|
|
//sbapi_get_strobe_lamp_features(long deviceID, int *error_code, long *features,
|
|
// int max_features);
|
|
|
|
/**
|
|
* This function returns the total number of lamp instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of lamp features that will be returned
|
|
* by a call to sbapi_get_lamp_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_lamp_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each lamp instance for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of lamp feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_lamp_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function sets the strobe enable on the spectrometer.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a lamp feature. Valid
|
|
* IDs can be found with the sbapi_get_lamp_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param lamp_enable (Input) A character used for denoting the desired value
|
|
* (high/low) of the strobe-enable pin. If the value of
|
|
* strobe_enable is zero, then the pin should be set low. If
|
|
* the value of strobe_enable is non-zero, then the pin should be
|
|
* set high.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_lamp_set_lamp_enable(long deviceID, long featureID,
|
|
int *error_code, unsigned char lamp_enable);
|
|
|
|
/**
|
|
* This function returns the total number of continuous strobe instances
|
|
* available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of continuous strobe features that will be returned
|
|
* by a call to sbapi_get_continuous_strobe_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_continuous_strobe_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each continuous strobe instance
|
|
* for this device. The IDs are only valid when used with the deviceID
|
|
* used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of continuous strobe feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_continuous_strobe_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function sets the continuous strobe enable state on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a continuous strobe feature.
|
|
* Valid IDs can be found with the sbapi_get_continuous_strobe_features()
|
|
* function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param enable (Input) A boolean used for denoting the desired state
|
|
* (on/off) of the continuous strobe generator. If the value of
|
|
* enable is nonzero, then the continuous strobe will operate. If
|
|
* the value of enable is zero, then the continuous strobe will stop.
|
|
* Note that on some devices the continuous strobe enable is tied to other
|
|
* enables (such as lamp enable or single strobe enable) which may cause
|
|
* side effects.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_continuous_strobe_set_continuous_strobe_enable(long deviceID, long featureID,
|
|
int *error_code, unsigned char enable);
|
|
|
|
/**
|
|
* This function sets the continuous strobe period on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a continuous strobe feature.
|
|
* Valid IDs can be found with the sbapi_get_continuous_strobe_features()
|
|
* function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param period_micros (Input) The new period of the continous strobe measured in microseconds
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_continuous_strobe_set_continuous_strobe_period_micros(long deviceID, long featureID,
|
|
int *error_code, unsigned long period_micros);
|
|
|
|
/**
|
|
* This function returns the total number of EEPROM instances available
|
|
* in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of EEPROM features that will be returned
|
|
* by a call to sbapi_get_eeprom_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_eeprom_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each EEPROM instance for this
|
|
* device. The IDs are only valid when used with the deviceID used to
|
|
* obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of EEPROM feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_eeprom_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function reads a string out of the device's EEPROM slot
|
|
* and returns the result.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an EEPROM feature. Valid
|
|
* IDs can be found with the sbapi_get_eeprom_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param slot_number (Input) The number of the slot to read out. Possible
|
|
* values are 0 through 17.
|
|
* @param buffer (Output) A buffer (with memory already allocated) to hold the
|
|
* value read out of the EEPROM slot
|
|
* @param buffer_length (Input) The length of the buffer
|
|
*
|
|
* @return the number of bytes read from the EEPROM slot into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_eeprom_read_slot(long deviceID, long featureID,
|
|
int *error_code, int slot_number,
|
|
unsigned char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This function returns the total number of irradiance calibration
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of irradiance calibration features that will be
|
|
* returned by a call to sbapi_get_irrad_cal_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_irrad_cal_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each irradiance calibration
|
|
* instance for this device. The IDs are only valid when used with the
|
|
* deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) a preallocated array to hold returned feature handles
|
|
* @param max_features (Input) length of the preallocated buffer
|
|
*
|
|
* @return the number of irradiance calibration feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_irrad_cal_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function reads out an irradiance calibration from the spectrometer's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_irrad_cal_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) preallocated array to hold irradiance calibration scalars (one per pixel)
|
|
* @param buffer_length (Input) size of the preallocated buffer (should equal pixel count)
|
|
*
|
|
* @return the number of floats read from the device into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_irrad_calibration_read(long deviceID, long featureID,
|
|
int *error_code, float *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This function writes an irradiance calibration to the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_irrad_cal_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) array of floating point values to store into the device
|
|
* @param buffer_length (Input) number of calibration factors to write
|
|
*
|
|
* @return the number of floats written from the buffer to the device
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_irrad_calibration_write(long deviceID, long featureID,
|
|
int *error_code, float *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This function checks for an irradiance collection area in the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_irrad_cal_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return 0 if no collection area available, 1 if available.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_irrad_calibration_has_collection_area(long deviceID, long featureID,
|
|
int *error_code);
|
|
|
|
/**
|
|
* This function reads an irradiance collection area from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_irrad_cal_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return float: collection area (usually in units of cm^2) read from device
|
|
*/
|
|
DLL_DECL float
|
|
sbapi_irrad_calibration_read_collection_area(long deviceID, long featureID,
|
|
int *error_code);
|
|
|
|
/**
|
|
* This function writes an irradiance collection area to the spectrometer's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an irradiance calibration
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_irrad_cal_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param area (Input) collection area to save to spectrometer, presumably in cm^2
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_irrad_calibration_write_collection_area(long deviceID, long featureID,
|
|
int *error_code, float area);
|
|
|
|
/**
|
|
* This function returns the total number of thermoelectric cooler (TEC)
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of TEC features that will be returned by a call to
|
|
* sbapi_get_thermoelectric_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_thermo_electric_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each thermoelectric cooler
|
|
* (TEC) instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold feature handles
|
|
* @param max_features (Input) size of the preallocated array
|
|
*
|
|
* @return the number of TEC feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_thermo_electric_features(long deviceID, int *error_code, long *features,
|
|
int max_features);
|
|
|
|
/**
|
|
* This function reads the actual temperature of the TEC and returns the value in
|
|
* degrees celsius.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an thermoelectric cooler
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_thermo_electric_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return double: The TEC temperature in degrees celsius.
|
|
*/
|
|
DLL_DECL double
|
|
sbapi_tec_read_temperature_degrees_C(long deviceID, long featureID,
|
|
int *error_code);
|
|
|
|
/**
|
|
* This function sets the target (setpoint) TEC temperature.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an thermoelectric cooler
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_thermo_electric_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param temperature_degrees_celsius (Input) desired temperature,
|
|
* in degrees celsius.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_tec_set_temperature_setpoint_degrees_C(long deviceID, long featureID,
|
|
int *error_code, double temperature_degrees_celsius);
|
|
|
|
/**
|
|
* This function enables the TEC feature on the device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of an thermoelectric cooler
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_thermo_electric_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param tec_enable (Input) A character that denotes the desired TEC enable
|
|
* state. If the value of tec_enable is zero, the TEC should
|
|
* be disabled. If the value of tec_enable is non-zero, the TEC
|
|
* should be enabled.
|
|
*/
|
|
DLL_DECL void
|
|
sbapi_tec_set_enable(long deviceID, long featureID,
|
|
int *error_code, unsigned char tec_enable);
|
|
|
|
/**
|
|
* This function returns the total number of nonlinearity coefficient feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_nonlinearity_coeffs_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_nonlinearity_coeffs_features(
|
|
long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each nonlinearity coefficient
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated array
|
|
*
|
|
* @return the number of nonlinearity coefficient feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_nonlinearity_coeffs_features(long deviceID, int *error_code,
|
|
long *features, int max_features);
|
|
|
|
/**
|
|
* This function reads out nonlinearity coefficients from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a nonlinearity coefficient
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_nonlinearity_coeffs_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) preallocated buffer to store NLC coefficients
|
|
* @param max_length (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of doubles read from the device into the buffer
|
|
*/
|
|
DLL_DECL int sbapi_nonlinearity_coeffs_get(long deviceID, long featureID,
|
|
int *error_code, double *buffer, int max_length);
|
|
|
|
/**
|
|
* This function returns the total number of temperature feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_temperature_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_temperature_features(
|
|
long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each temperature
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated array
|
|
*
|
|
* @return the number of temperature feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_temperature_features(long deviceID, int *error_code,
|
|
long *temperatureFeatures, int max_features);
|
|
|
|
/**
|
|
* This function reads out an the number of indexed temperatures available from the
|
|
* device's internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a temperature
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_temperature_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of temperatures available as an unsigned char
|
|
*/
|
|
DLL_DECL unsigned char sbapi_temperature_count_get(long deviceID, long temperatureFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function reads out an indexed temperature from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a temperature
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_temperature_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param index (Input) An index for the device's temperature sensors
|
|
*
|
|
* @return the temperature as a double
|
|
*/
|
|
DLL_DECL double sbapi_temperature_get(long deviceID, long temperatureFeatureID, int *error_code, int index);
|
|
|
|
/**
|
|
* This function reads out all temperatures from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a temperature
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_temperature_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) preallocated buffer to store temperatures
|
|
* @param max_length (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of doubles read from the device into the buffer
|
|
*/
|
|
DLL_DECL int sbapi_temperature_get_all(long deviceID, long temperatureFeatureID, int *error_code, double *buffer, int max_length);
|
|
|
|
|
|
|
|
/**
|
|
* This function returns the total number of spectrum processing feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_spectrum_processing_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_spectrum_processing_features(
|
|
long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each spectrum processing
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated array
|
|
*
|
|
* @return the number of spectrum processing feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_spectrum_processing_features(long deviceID, int *error_code,
|
|
long *spectrumProcessingFeatures, int max_features);
|
|
|
|
/**
|
|
* This function reads out an the number of scans to average from the
|
|
* device's internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrum processing
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrum_processing_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of scans to average as an unsigned short integer
|
|
*/
|
|
DLL_DECL unsigned short int sbapi_spectrum_processing_scans_to_average_get(long deviceID,
|
|
long spectrumProcessingFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function sets the number of scans to average in the the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrum processing
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrum_processing_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param scansToAverage (Input) The number of spectrum scans used to generate a less
|
|
* noisy spectrum due to averaging
|
|
*
|
|
* @return void
|
|
*/
|
|
DLL_DECL void sbapi_spectrum_processing_scans_to_average_set(long deviceID,
|
|
long spectrumProcessingFeatureID, int *error_code, unsigned short int scansToAverage);
|
|
|
|
/**
|
|
* This function reads out an the width of the boxcar filter from the
|
|
* device's internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrum processing
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrum_processing_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the width of the boxcar filter an unsigned char (values typically 0-15)
|
|
*/
|
|
DLL_DECL unsigned char sbapi_spectrum_processing_boxcar_width_get(long deviceID,
|
|
long spectrumProcessingFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function sets width of the boxcar filter in the the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a spectrum processing
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_spectrum_processing_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param boxcarWidth (Input) The width of the boxcar smoothing function to be used.
|
|
* Values are typically 1 to 15.
|
|
*
|
|
* @return void
|
|
*/
|
|
DLL_DECL void sbapi_spectrum_processing_boxcar_width_set(long deviceID,
|
|
long spectrumProcessingFeatureID, int *error_code, unsigned char boxcarWidth);
|
|
|
|
|
|
|
|
/**
|
|
* This function returns the total number of revision feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_revision_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_revision_features(
|
|
long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each revision
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated array
|
|
*
|
|
* @return the number of revision feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_revision_features(long deviceID, int *error_code,
|
|
long *revisionFeatures, int max_features);
|
|
|
|
/**
|
|
* This function reads out the hardware revision from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a temperature
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_revision_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the hardware revision as one unsigned char byte. (Note that both Ocean View and SpectraSuite display the hex value.)
|
|
*/
|
|
DLL_DECL unsigned char sbapi_revision_hardware_get(long deviceID, long revisionFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function reads out the firmware revision from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a temperature
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_revision_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the firmware revision as two unsigned short int bytes (Note that both Ocean View and SpectraSuite display the hex value.)
|
|
*/
|
|
DLL_DECL unsigned short int sbapi_revision_firmware_get(long deviceID, long revisionFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function returns the total number of optical bench feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_optical_bench_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_optical_bench_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each optical bench
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated array to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated array
|
|
*
|
|
* @return the number of optical bench feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_optical_bench_features(long deviceID, int *error_code, long *opticalBenchFeatures, int max_features);
|
|
|
|
/**
|
|
* This function reads out the optical bench fiber diameter in microns
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a optical
|
|
* bench feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the fiber diameter in microns
|
|
*/
|
|
DLL_DECL unsigned short int sbapi_optical_bench_get_fiber_diameter_microns(long deviceID, long opticalBenchFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This function reads out the optical bench slit width in microns
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a optical
|
|
* bench feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the slit width in microns
|
|
*/
|
|
DLL_DECL unsigned short int sbapi_optical_bench_get_slit_width_microns(long deviceID, long opticalBenchFeatureID, int *error_code);
|
|
|
|
/**
|
|
* This reads the optical bench ID and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_bench_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_optical_bench_get_id(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This reads the optical bench Serial Number and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_bench_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_optical_bench_get_serial_number(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
|
|
|
|
|
|
/**
|
|
* This reads the optical bench Coating and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_bench_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_optical_bench_get_coating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This reads the optical bench filter and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_bench_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_optical_bench_get_filter(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
|
|
|
|
/**
|
|
* This reads the optical bench grating and fills the
|
|
* provided array (up to the given length) with it.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with
|
|
* sbapi_open_device().
|
|
* @param opticalBenchFeatureID (Input) The ID of a particular instance of a serial
|
|
* number feature. Valid IDs can be found with the
|
|
* sbapi_get_optical_bench_features() function.
|
|
* @param error_code (Output) pointer to an integer that can be used for
|
|
* storing error codes.
|
|
* @param buffer (Output) A pre-allocated array of characters that the
|
|
* serial number will be copied into
|
|
* @param buffer_length (Input) The number of values to copy into the buffer
|
|
* (this should be no larger than the number of chars allocated in
|
|
* the buffer)
|
|
*
|
|
* @return the number of bytes written into the buffer
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_optical_bench_get_grating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
|
|
|
|
|
|
/**
|
|
* This function returns the total number of stray light coefficient feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_stray_light_coeffs_features().
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_number_of_stray_light_coeffs_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each stray light coefficient
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated buffer to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of stray light coefficient feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int
|
|
sbapi_get_stray_light_coeffs_features(long deviceID, int *error_code,
|
|
long *features, int max_features);
|
|
|
|
/**
|
|
* This function reads out stray light coefficients from the device's
|
|
* internal memory if that feature is supported.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a stray light coefficient
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_stray_light_coeffs_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param buffer (Output) preallocated buffer to store stray light coefficients
|
|
* @param max_length (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of doubles read from the device into the buffer
|
|
*/
|
|
DLL_DECL int sbapi_stray_light_coeffs_get(long deviceID, long featureID,
|
|
int *error_code, double *buffer, int max_length);
|
|
|
|
|
|
/**
|
|
* This function returns the total number of data buffer feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_data_buffer_features().
|
|
*/
|
|
DLL_DECL int sbapi_get_number_of_data_buffer_features(long deviceID, int *error_code);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each data buffer
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated buffer to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of data buffer feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int sbapi_get_data_buffer_features(long deviceID, int *error_code,
|
|
long *buffer, unsigned int maxLength);
|
|
|
|
/**
|
|
* @brief Clear the data buffer
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*/
|
|
DLL_DECL void sbapi_data_buffer_clear(long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* @brief Get the number of data elements currently in the buffer
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return A count of how many items are available for retrieval from the buffer
|
|
*/
|
|
DLL_DECL unsigned long sbapi_data_buffer_get_number_of_elements(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* @brief Get the present limit of how many data elements will be retained by the buffer.
|
|
* This value can be changed with sbapi_data_buffer_set_buffer_capacity().
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return A count of how many items the buffer will store before data may be lost
|
|
*/
|
|
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity(long deviceID,
|
|
long featureID, int *error_code);
|
|
|
|
/**
|
|
* @brief Get the maximum possible configurable size for the data buffer
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The largest value that may be set with sbapi_data_buffer_set_buffer_capacity().
|
|
*/
|
|
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_maximum(
|
|
long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* @brief Get the minimum possible configurable size for the data buffer
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The smallest value that may be set with sbapi_data_buffer_set_buffer_capacity().
|
|
*/
|
|
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_minimum(
|
|
long deviceID, long featureID, int *error_code);
|
|
|
|
/**
|
|
* @brief Set the number of data elements that the buffer should retain
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param capacity (Input) Limit on the number of data elements to store. This is
|
|
* bounded by what is returned by sbapi_data_buffer_get_buffer_capacity_minimum() and
|
|
* sbapi_data_buffer_get_buffer_capacity_maximum().
|
|
*/
|
|
DLL_DECL void sbapi_data_buffer_set_buffer_capacity(long deviceID,
|
|
long featureID, int *error_code, unsigned long capacity);
|
|
|
|
/**
|
|
* This function returns the total number of acquisition delay feature
|
|
* instances available in the indicated device.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
*
|
|
* @return the number of features that will be returned by a call to
|
|
* sbapi_get_data_buffer_features().
|
|
*/
|
|
DLL_DECL int sbapi_get_number_of_acquisition_delay_features(long deviceID, int *errorCode);
|
|
|
|
/**
|
|
* This function returns IDs for accessing each data buffer
|
|
* feature instance for this device. The IDs are only valid when used with
|
|
* the deviceID used to obtain them.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param features (Output) preallocated buffer to hold returned feature handles
|
|
* @param max_features (Input) size of preallocated buffer
|
|
*
|
|
* @return the number of data buffer feature IDs that were copied.
|
|
*/
|
|
DLL_DECL int sbapi_get_acquisition_delay_features(long deviceID, int *errorCode,
|
|
long *buffer, unsigned int maxLength);
|
|
|
|
/**
|
|
* Set the acquisition delay in microseconds. This may also be referred to as the
|
|
* trigger delay. In any event, it is the time between some event (such as a request
|
|
* for data, or an external trigger pulse) and when data acquisition begins.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @param delay_usec (Input) The new delay to use in microseconds
|
|
*/
|
|
DLL_DECL void sbapi_acquisition_delay_set_delay_microseconds(long deviceID, long featureID,
|
|
int *errorCode, unsigned long delay_usec);
|
|
|
|
/**
|
|
* Get the acquisition delay in microseconds. This may also be referred to as the
|
|
* trigger delay. In any event, it is the time between some event (such as a request
|
|
* for data, or an external trigger pulse) and when data acquisition begins.
|
|
*
|
|
* Note that not all devices support reading this value back. In these cases, the
|
|
* returned value will be the last value sent to sbapi_acquisition_delay_set_delay_microseconds().
|
|
* If no value has been set and the value cannot be read back, this function will
|
|
* indicate an error.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The acquisition delay in microseconds
|
|
*/
|
|
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_microseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
|
|
/**
|
|
* Get the allowed step size for the acquisition delay in microseconds.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The acquisition delay step size in microseconds
|
|
*/
|
|
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_increment_microseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
|
|
/**
|
|
* Get the maximum allowed acquisition delay in microseconds.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The maximum acquisition delay in microseconds
|
|
*/
|
|
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_maximum_microseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
|
|
/**
|
|
* Get the minimum allowed acquisition delay in microseconds.
|
|
*
|
|
* @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
|
|
* @param featureID (Input) The ID of a particular instance of a data buffer
|
|
* feature. Valid IDs can be found with the
|
|
* sbapi_get_data_buffer_features() function.
|
|
* @param error_code (Output) A pointer to an integer that can be used for storing
|
|
* error codes.
|
|
* @return The minimum acquisition delay in microseconds
|
|
*/
|
|
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_minimum_microseconds(long deviceID,
|
|
long featureID, int *errorCode);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* SEABREEZEAPI_H */
|