SeaBreeze
SeaBreezeAPI.h
Go to the documentation of this file.
1 /***************************************************/
36 #ifndef SEABREEZEAPI_H
37 #define SEABREEZEAPI_H
38 
39 #include "api/DllDecl.h"
40 
41 #ifdef __cplusplus
42 
44 
54 class DLL_DECL SeaBreezeAPI {
55 public:
61  static SeaBreezeAPI *getInstance();
62 
66  static void shutdown();
67 
74  int probeDevices();
75 
81  int addTCPIPv4DeviceLocation(char *deviceTypeName, char *ipAddr, int port);
82 
88  int addRS232DeviceLocation(char *deviceTypeName, char *deviceBusPath, unsigned int baud);
89 
95  int getNumberOfDeviceIDs();
96 
106  int getDeviceIDs(long *ids, unsigned long maxLength);
107 
112  int openDevice(long id, int *errorCode);
113 
117  void closeDevice(long id, int *errorCode);
118 
119  /* Get a string that describes the type of device */
120  int getDeviceType(long id, int *errorCode, char *buffer, unsigned int length);
121 
122  /* Get the usb endpoint address for a specified type of endpoint */
123  unsigned char getDeviceEndpoint(long id, int *error_code, usbEndpointType endpointType);
124 
125  /* Get raw usb access capabilities */
126  int getNumberOfRawUSBBusAccessFeatures(long deviceID, int *errorCode);
127  int getRawUSBBusAccessFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
128  int rawUSBBusAccessRead(long deviceID, long featureID, int *errorCode, unsigned char *buffer, unsigned int bufferLength, unsigned char endpoint);
129  int rawUSBBusAccessWrite(long deviceID, long featureID, int *errorCode, unsigned char *buffer, unsigned int bufferLength, unsigned char endpoint);
130 
131  /* Serial number capabilities */
132  int getNumberOfSerialNumberFeatures(long deviceID, int *errorCode);
133  int getSerialNumberFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
134  int getSerialNumber(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
135  unsigned char getSerialNumberMaximumLength(long deviceID, long featureID, int *errorCode);
136 
137  /* Spectrometer capabilities */
138  int getNumberOfSpectrometerFeatures(long id, int *errorCode);
139  int getSpectrometerFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
140  void spectrometerSetTriggerMode(long deviceID, long spectrometerFeatureID, int *errorCode, int mode);
141  void spectrometerSetIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode, unsigned long integrationTimeMicros);
142  unsigned long spectrometerGetMinimumIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode);
143  unsigned long spectrometerGetMaximumIntegrationTimeMicros(long deviceID, long spectrometerFeatureID, int *errorCode);
144  double spectrometerGetMaximumIntensity(long deviceID, long spectrometerFeatureID, int *errorCode);
145  int spectrometerGetUnformattedSpectrumLength(long deviceID, long spectrometerFeatureID, int *errorCode);
146  int spectrometerGetUnformattedSpectrum(long deviceID, long spectrometerFeatureID, int *errorCode, unsigned char *buffer, int bufferLength);
147  int spectrometerGetFormattedSpectrumLength(long deviceID, long spectrometerFeatureID, int *errorCode);
148  int spectrometerGetFormattedSpectrum(long deviceID, long spectrometerFeatureID, int *errorCode, double *buffer, int bufferLength);
149  int spectrometerGetWavelengths(long deviceID, long spectrometerFeatureID, int *errorCode, double *wavelengths, int length);
150  int spectrometerGetElectricDarkPixelCount(long deviceID, long spectrometerFeatureID, int *errorCode);
151  int spectrometerGetElectricDarkPixelIndices(long deviceID, long spectrometerFeatureID, int *errorCode, int *indices, int length);
152 
153  /* Pixel binning capabilities */
154  int getNumberOfPixelBinningFeatures(long id, int *errorCode);
155  int getPixelBinningFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
156  void binningSetPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode, const unsigned char binningFactor);
157  unsigned char binningGetPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
158  void binningSetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode, const unsigned char binningFactor);
159  void binningSetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
160  unsigned char binningGetDefaultPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
161  unsigned char binningGetMaxPixelBinningFactor(long deviceID, long spectrometerFeatureID, int *errorCode);
162 
163  /* TEC capabilities */
164  int getNumberOfThermoElectricFeatures(long deviceID, int *errorCode);
165  int getThermoElectricFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
166  double tecReadTemperatureDegreesC(long deviceID, long featureID, int *errorCode);
167  void tecSetTemperatureSetpointDegreesC(long deviceID, long featureID, int *errorCode, double temperatureDegreesCelsius);
168  void tecSetEnable(long deviceID, long featureID, int *errorCode, unsigned char tecEnable);
169 
170  /* Irradiance calibration features */
171  int getNumberOfIrradCalFeatures(long deviceID, int *errorCode);
172  int getIrradCalFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
173  int irradCalibrationRead(long deviceID, long featureID, int *errorCode, float *buffer, int bufferLength);
174  int irradCalibrationWrite(long deviceID, long featureID, int *errorCode, float *buffer, int bufferLength);
175  int irradCalibrationHasCollectionArea(long deviceID, long featureID, int *errorCode);
176  float irradCalibrationReadCollectionArea(long deviceID, long featureID, int *errorCode);
177  void irradCalibrationWriteCollectionArea(long deviceID, long featureID, int *errorCode, float area);
178 
179  /* EEPROM capabilities */
180  int getNumberOfEEPROMFeatures(long deviceID, int *errorCode);
181  int getEEPROMFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
182  int eepromReadSlot(long deviceID, long featureID, int *errorCode, int slotNumber, unsigned char *buffer, int bufferLength);
183 
184  /* Light source capabilities */
185  int getNumberOfLightSourceFeatures(long deviceID, int *errorCode);
186  int getLightSourceFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
187  int lightSourceGetCount(long deviceID, long featureID, int *errorCode);
188  bool lightSourceHasEnable(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
189  bool lightSourceIsEnabled(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
190  void lightSourceSetEnable(long deviceID, long featureID, int *errorCode, int lightSourceIndex, bool enable);
191  bool lightSourceHasVariableIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
192  double lightSourceGetIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex);
193  void lightSourceSetIntensity(long deviceID, long featureID, int *errorCode, int lightSourceIndex, double intensity);
194 
195  /* Lamp capabilities */
196  int getNumberOfLampFeatures(long deviceID, int *errorCode);
197  int getLampFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
198  void lampSetLampEnable(long deviceID, long featureID, int *errorCode, bool strobeEnable);
199 
200  /* Continuous strobe capabilities */
201  int getNumberOfContinuousStrobeFeatures(long deviceID, int *errorCode);
202  int getContinuousStrobeFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
203  void continuousStrobeSetContinuousStrobeEnable(long deviceID, long featureID, int *errorCode, bool strobeEnable);
204  void continuousStrobeSetContinuousStrobePeriodMicroseconds(long deviceID, long featureID, int *errorCode, unsigned long strobePeriodMicroseconds);
205 
206  /* Shutter capabilities */
207  int getNumberOfShutterFeatures(long deviceID, int *errorCode);
208  int getShutterFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
209  void shutterSetShutterOpen(long deviceID, long featureID, int *errorCode, bool opened);
210 
211  /* Nonlinearity coefficient capabilities */
212  int getNumberOfNonlinearityCoeffsFeatures(long deviceID, int *errorCode);
213  int getNonlinearityCoeffsFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
214  int nonlinearityCoeffsGet(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
215 
216  /* Temperature capabilities */
217  int getNumberOfTemperatureFeatures(long deviceID, int *errorCode);
218  int getTemperatureFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
219  unsigned char temperatureCountGet(long deviceID, long featureID, int *errorCode);
220  double temperatureGet(long deviceID, long featureID, int *errorCode, int index);
221  int temperatureGetAll(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
222 
223  /* Spectrum processing capabilities */
224  int getNumberOfSpectrumProcessingFeatures(long deviceID, int *errorCode);
225  int getSpectrumProcessingFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
226  unsigned char spectrumProcessingBoxcarWidthGet(long deviceID, long featureID, int *errorCode);
227  unsigned short int spectrumProcessingScansToAverageGet(long deviceID, long featureID, int *errorCode);
228  void spectrumProcessingBoxcarWidthSet(long deviceID, long featureID, int *errorCode, unsigned char boxcarWidth);
229  void spectrumProcessingScansToAverageSet(long deviceID, long featureID, int *errorCode, unsigned short int scansToAverage);
230 
231  /* Revision capabilities */
232  int getNumberOfRevisionFeatures(long deviceID, int *errorCode);
233  int getRevisionFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
234  unsigned char revisionHardwareGet(long deviceID, long featureID, int *errorCode);
235  unsigned short int revisionFirmwareGet(long deviceID, long featureID, int *errorCode);
236 
237  /* Optical Bench capabilities */
238  int getNumberOfOpticalBenchFeatures(long deviceID, int *errorCode);
239  int getOpticalBenchFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
240  unsigned short int opticalBenchGetFiberDiameterMicrons(long deviceID, long featureID, int *errorCode);
241  unsigned short int opticalBenchGetSlitWidthMicrons(long deviceID, long featureID, int *errorCode);
242  int opticalBenchGetID(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
243  int opticalBenchGetSerialNumber(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
244  int opticalBenchGetCoating(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
245  int opticalBenchGetFilter(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
246  int opticalBenchGetGrating(long deviceID, long featureID, int *errorCode, char *buffer, int bufferLength);
247 
248  /* Stray light coefficient capabilities */
249  int getNumberOfStrayLightCoeffsFeatures(long deviceID, int *errorCode);
250  int getStrayLightCoeffsFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
251  int strayLightCoeffsGet(long deviceID, long featureID, int *errorCode, double *buffer, int maxLength);
252 
253  /* Data buffer capabilities */
254  int getNumberOfDataBufferFeatures(long deviceID, int *errorCode);
255  int getDataBufferFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
256  void dataBufferClear(long deviceID, long featureID, int *errorCode);
257  unsigned long dataBufferGetNumberOfElements(long deviceID, long featureID, int *errorCode);
258  unsigned long dataBufferGetBufferCapacity(long deviceID, long featureID, int *errorCode);
259  unsigned long dataBufferGetBufferCapacityMaximum(long deviceID, long featureID, int *errorCode);
260  unsigned long dataBufferGetBufferCapacityMinimum(long deviceID, long featureID, int *errorCode);
261  void dataBufferSetBufferCapacity(long deviceID, long featureID, int *errorCode, unsigned long capacity);
262 
263  /* Acquisition delay capabilities */
264  int getNumberOfAcquisitionDelayFeatures(long deviceID, int *errorCode);
265  int getAcquisitionDelayFeatures(long deviceID, int *errorCode, long *buffer, unsigned int maxLength);
266  void acquisitionDelaySetDelayMicroseconds(long deviceID, long featureID,
267  int *errorCode, unsigned long delay_usec);
268  unsigned long acquisitionDelayGetDelayMicroseconds(long deviceID,
269  long featureID, int *errorCode);
270  unsigned long acquisitionDelayGetDelayIncrementMicroseconds(long deviceID,
271  long featureID, int *errorCode);
272  unsigned long acquisitionDelayGetDelayMaximumMicroseconds(long deviceID,
273  long featureID, int *errorCode);
274  unsigned long acquisitionDelayGetDelayMinimumMicroseconds(long deviceID,
275  long featureID, int *errorCode);
276 
277 private:
278  SeaBreezeAPI();
279  virtual ~SeaBreezeAPI();
280 
281  seabreeze::api::DeviceAdapter *getDeviceByID(unsigned long id);
282 
283  static SeaBreezeAPI *instance;
284 
285  std::vector<seabreeze::api::DeviceAdapter *> probedDevices;
286  std::vector<seabreeze::api::DeviceAdapter *> specifiedDevices;
287 };
288 
289 extern "C" {
290 #endif /* __cplusplus */
291 
292  /* All of these C functions start with sbapi_ to prevent namespace
293  * collisions.
294  */
295 
303  DLL_DECL void sbapi_initialize();
304 
310  DLL_DECL void sbapi_shutdown();
311 
328  DLL_DECL int
329  sbapi_add_TCPIPv4_device_location(char *deviceTypeName, char *ipAddress,
330  unsigned int port);
331 
350  DLL_DECL int
351  sbapi_add_RS232_device_location(char *deviceTypeName, char *deviceBusPath,
352  unsigned int baud);
353 
369  DLL_DECL int
371 
382  DLL_DECL int
384 
400  DLL_DECL int
401  sbapi_get_device_ids(long *ids, unsigned int max_ids);
402 
418  DLL_DECL int
419  sbapi_open_device(long id, int *error_code);
420 
430  DLL_DECL void
431  sbapi_close_device(long id, int *error_code);
432 
444  DLL_DECL const char *
445  sbapi_get_error_string(int error_code);
446 
479  DLL_DECL int
480  sbapi_get_device_type(long id, int *error_code,
481  char *buffer, unsigned int length);
482 
494  DLL_DECL unsigned char
495  sbapi_get_device_usb_endpoint_primary_out(long id, int *error_code);
496 
508  DLL_DECL unsigned char
509  sbapi_get_device_usb_endpoint_primary_in(long id, int *error_code);
510 
522  DLL_DECL unsigned char
523  sbapi_get_device_usb_endpoint_secondary_out(long id, int *error_code);
524 
536  DLL_DECL unsigned char
537  sbapi_get_device_usb_endpoint_secondary_in(long id, int *error_code);
538 
550  DLL_DECL unsigned char
551  sbapi_get_device_usb_endpoint_secondary_in2(long id, int *error_code);
552 
553 
565  DLL_DECL int
566  sbapi_get_number_of_raw_usb_bus_access_features(long deviceID, int *error_code);
567 
581  DLL_DECL int
582  sbapi_get_raw_usb_bus_access_features(long deviceID, int *error_code, long *features,
583  int max_features);
584 
602  DLL_DECL int
603  sbapi_raw_usb_bus_access_read(long deviceID, long featureID,
604  int *error_code, unsigned char *buffer, int buffer_length, unsigned char endpoint);
605 
623  DLL_DECL int
624  sbapi_raw_usb_bus_access_write(long deviceID, long featureID,
625  int *error_code, unsigned char *buffer, int buffer_length, unsigned char endpoint);
626 
627 
639  DLL_DECL int
640  sbapi_get_number_of_serial_number_features(long deviceID, int *error_code);
641 
655  DLL_DECL int
656  sbapi_get_serial_number_features(long deviceID, int *error_code, long *features,
657  int max_features);
658 
678  DLL_DECL int
679  sbapi_get_serial_number(long deviceID, long featureID, int *error_code,
680  char *buffer, int buffer_length);
681 
695  DLL_DECL unsigned char
696  sbapi_get_serial_number_maximum_length(long deviceID, long featureID, int *error_code);
697 
709  DLL_DECL int
710  sbapi_get_number_of_spectrometer_features(long deviceID, int *error_code);
711 
725  DLL_DECL int
726  sbapi_get_spectrometer_features(long deviceID, int *error_code, long *features,
727  int max_features);
728 
744  DLL_DECL void
745  sbapi_spectrometer_set_trigger_mode(long deviceID, long featureID,
746  int *error_code, int mode);
747 
763  DLL_DECL void
764  sbapi_spectrometer_set_integration_time_micros(long deviceID, long featureID,
765  int *error_code, unsigned long integration_time_micros);
766 
781  DLL_DECL long
783  long featureID, int *error_code);
784 
799  DLL_DECL double
801  long featureID, int *error_code);
802 
817  DLL_DECL int
819  long featureID, int *error_code);
820 
839  DLL_DECL int
841  long featureID, int *error_code,
842  double* buffer, int buffer_length);
843 
858  DLL_DECL int
860  long featureID, int *error_code);
861 
879  DLL_DECL int
881  long featureID, int *error_code,
882  unsigned char *buffer, int buffer_length);
883 
903  DLL_DECL int
905  long featureID, int *error_code, double *wavelengths, int length);
906 
924  DLL_DECL int
926  long featureID, int *error_code);
927 
949  DLL_DECL int
951  long featureID, int *error_code, int *indices, int length);
952 
965  DLL_DECL int
966  sbapi_get_number_of_pixel_binning_features(long deviceID, int *error_code);
967 
983  DLL_DECL int
984  sbapi_get_pixel_binning_features(long deviceID, int *error_code, long *features,
985  int max_features);
986 
998  DLL_DECL void
999  sbapi_binning_set_pixel_binning_factor(long deviceID, long featureID,
1000  int *error_code, unsigned char factor);
1001 
1014  DLL_DECL unsigned char
1015  sbapi_binning_get_pixel_binning_factor(long deviceID, long featureID, int *error_code);
1016 
1028  DLL_DECL void
1029  sbapi_binning_set_default_pixel_binning_factor(long deviceID, long featureID,
1030  int *error_code, unsigned char factor);
1031 
1042  DLL_DECL void
1043  sbapi_binning_reset_default_pixel_binning_factor(long deviceID, long featureID,
1044  int *error_code);
1045 
1058  DLL_DECL unsigned char
1059  sbapi_binning_get_default_pixel_binning_factor(long deviceID, long featureID, int *error_code);
1060 
1073  DLL_DECL unsigned char
1074  sbapi_binning_get_max_pixel_binning_factor(long deviceID, long featureID, int *error_code);
1075 
1088  DLL_DECL int
1089  sbapi_get_number_of_shutter_features(long deviceID, int *error_code);
1090 
1106  DLL_DECL int
1107  sbapi_get_shutter_features(long deviceID, int *error_code, long *features,
1108  int max_features);
1109 
1124  DLL_DECL void
1125  sbapi_shutter_set_shutter_open(long deviceID, long featureID,
1126  int *error_code, unsigned char opened);
1127 
1140  DLL_DECL int
1141  sbapi_get_number_of_light_source_features(long deviceID, int *error_code);
1142 
1159  DLL_DECL int
1160  sbapi_get_light_source_features(long deviceID, int *error_code,
1161  long *features, int max_features);
1162 
1179  DLL_DECL int
1180  sbapi_light_source_get_count(long deviceID, long featureID, int *error_code);
1181 
1202  DLL_DECL unsigned char
1203  sbapi_light_source_has_enable(long deviceID, long featureID, int *error_code,
1204  int light_source_index);
1205 
1222  DLL_DECL unsigned char
1223  sbapi_light_source_is_enabled(long deviceID, long featureID, int *error_code,
1224  int light_source_index);
1225 
1244  DLL_DECL void
1245  sbapi_light_source_set_enable(long deviceID, long featureID, int *error_code,
1246  int light_source_index, unsigned char enable);
1247 
1266  DLL_DECL unsigned char
1267  sbapi_light_source_has_variable_intensity(long deviceID, long featureID,
1268  int *error_code, int light_source_index);
1269 
1302  DLL_DECL double
1303  sbapi_light_source_get_intensity(long deviceID, long featureID,
1304  int *error_code, int light_source_index);
1305 
1334  DLL_DECL void
1335  sbapi_light_source_set_intensity(long deviceID, long featureID,
1336  int *error_code, int light_source_index, double intensity);
1337 
1338  /*
1339  * This function returns the total number of strobe/lamp instances available
1340  * in the indicated device.
1341  *
1342  * @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
1343  * @param error_code (Output) A pointer to an integer that can be used for storing
1344  * error codes.
1345  *
1346  * @return the number of strobe/lamp features that will be returned
1347  * by a call to sbapi_get_strobe_lamp_features().
1348  */
1349 
1350 // There is not code in seabreezeAPI.cpp for this function. Perhaps it was not finished
1351 
1352  //DLL_DECL int
1353  //sbapi_get_number_of_strobe_lamp_features(long deviceID, int *error_code);
1354 
1355  /*
1356  * This function returns IDs for accessing each strobe/lamp instance for this
1357  * device. The IDs are only valid when used with the deviceID used to
1358  * obtain them.
1359  *
1360  * @param deviceID (Input) The index of a device previously opened with sbapi_open_device().
1361  * @param error_code (Output) A pointer to an integer that can be used for storing
1362  * error codes.
1363  * @param features (Output) a preallocated array to hold returned feature handles
1364  * @param max_features (Input) length of the preallocated buffer
1365  *
1366  * @return the number of strobe/lamp feature IDs that were copied.
1367  */
1368 
1369 // There is not code in seabreezeAPI.cpp for this function. Perhaps it was not finished.
1370 
1371  //DLL_DECL int
1372  //sbapi_get_strobe_lamp_features(long deviceID, int *error_code, long *features,
1373  // int max_features);
1374 
1386  DLL_DECL int
1387  sbapi_get_number_of_lamp_features(long deviceID, int *error_code);
1388 
1402  DLL_DECL int
1403  sbapi_get_lamp_features(long deviceID, int *error_code, long *features,
1404  int max_features);
1405 
1420  DLL_DECL void
1421  sbapi_lamp_set_lamp_enable(long deviceID, long featureID,
1422  int *error_code, unsigned char lamp_enable);
1423 
1435  DLL_DECL int
1436  sbapi_get_number_of_continuous_strobe_features(long deviceID, int *error_code);
1437 
1451  DLL_DECL int
1452  sbapi_get_continuous_strobe_features(long deviceID, int *error_code, long *features,
1453  int max_features);
1454 
1472  DLL_DECL void
1473  sbapi_continuous_strobe_set_continuous_strobe_enable(long deviceID, long featureID,
1474  int *error_code, unsigned char enable);
1475 
1487  DLL_DECL void
1489  int *error_code, unsigned long period_micros);
1490 
1502  DLL_DECL int
1503  sbapi_get_number_of_eeprom_features(long deviceID, int *error_code);
1504 
1518  DLL_DECL int
1519  sbapi_get_eeprom_features(long deviceID, int *error_code, long *features,
1520  int max_features);
1521 
1539  DLL_DECL int
1540  sbapi_eeprom_read_slot(long deviceID, long featureID,
1541  int *error_code, int slot_number,
1542  unsigned char *buffer, int buffer_length);
1543 
1555  DLL_DECL int
1556  sbapi_get_number_of_irrad_cal_features(long deviceID, int *error_code);
1557 
1571  DLL_DECL int
1572  sbapi_get_irrad_cal_features(long deviceID, int *error_code, long *features,
1573  int max_features);
1574 
1590  DLL_DECL int
1591  sbapi_irrad_calibration_read(long deviceID, long featureID,
1592  int *error_code, float *buffer, int buffer_length);
1593 
1609  DLL_DECL int
1610  sbapi_irrad_calibration_write(long deviceID, long featureID,
1611  int *error_code, float *buffer, int buffer_length);
1612 
1626  DLL_DECL int
1627  sbapi_irrad_calibration_has_collection_area(long deviceID, long featureID,
1628  int *error_code);
1629 
1643  DLL_DECL float
1644  sbapi_irrad_calibration_read_collection_area(long deviceID, long featureID,
1645  int *error_code);
1646 
1659  DLL_DECL void
1660  sbapi_irrad_calibration_write_collection_area(long deviceID, long featureID,
1661  int *error_code, float area);
1662 
1674  DLL_DECL int
1675  sbapi_get_number_of_thermo_electric_features(long deviceID, int *error_code);
1676 
1690  DLL_DECL int
1691  sbapi_get_thermo_electric_features(long deviceID, int *error_code, long *features,
1692  int max_features);
1693 
1707  DLL_DECL double
1708  sbapi_tec_read_temperature_degrees_C(long deviceID, long featureID,
1709  int *error_code);
1710 
1723  DLL_DECL void
1724  sbapi_tec_set_temperature_setpoint_degrees_C(long deviceID, long featureID,
1725  int *error_code, double temperature_degrees_celsius);
1726 
1741  DLL_DECL void
1742  sbapi_tec_set_enable(long deviceID, long featureID,
1743  int *error_code, unsigned char tec_enable);
1744 
1756  DLL_DECL int
1758  long deviceID, int *error_code);
1759 
1773  DLL_DECL int
1774  sbapi_get_nonlinearity_coeffs_features(long deviceID, int *error_code,
1775  long *features, int max_features);
1776 
1792  DLL_DECL int sbapi_nonlinearity_coeffs_get(long deviceID, long featureID,
1793  int *error_code, double *buffer, int max_length);
1794 
1806  DLL_DECL int
1808  long deviceID, int *error_code);
1809 
1823  DLL_DECL int
1824  sbapi_get_temperature_features(long deviceID, int *error_code,
1825  long *temperatureFeatures, int max_features);
1826 
1840  DLL_DECL unsigned char sbapi_temperature_count_get(long deviceID, long temperatureFeatureID, int *error_code);
1841 
1856  DLL_DECL double sbapi_temperature_get(long deviceID, long temperatureFeatureID, int *error_code, int index);
1857 
1873  DLL_DECL int sbapi_temperature_get_all(long deviceID, long temperatureFeatureID, int *error_code, double *buffer, int max_length);
1874 
1875 
1876 
1888  DLL_DECL int
1890  long deviceID, int *error_code);
1891 
1905  DLL_DECL int
1906  sbapi_get_spectrum_processing_features(long deviceID, int *error_code,
1907  long *spectrumProcessingFeatures, int max_features);
1908 
1922  DLL_DECL unsigned short int sbapi_spectrum_processing_scans_to_average_get(long deviceID,
1923  long spectrumProcessingFeatureID, int *error_code);
1924 
1940  DLL_DECL void sbapi_spectrum_processing_scans_to_average_set(long deviceID,
1941  long spectrumProcessingFeatureID, int *error_code, unsigned short int scansToAverage);
1942 
1956  DLL_DECL unsigned char sbapi_spectrum_processing_boxcar_width_get(long deviceID,
1957  long spectrumProcessingFeatureID, int *error_code);
1958 
1974  DLL_DECL void sbapi_spectrum_processing_boxcar_width_set(long deviceID,
1975  long spectrumProcessingFeatureID, int *error_code, unsigned char boxcarWidth);
1976 
1977 
1978 
1990  DLL_DECL int
1992  long deviceID, int *error_code);
1993 
2007  DLL_DECL int
2008  sbapi_get_revision_features(long deviceID, int *error_code,
2009  long *revisionFeatures, int max_features);
2010 
2024  DLL_DECL unsigned char sbapi_revision_hardware_get(long deviceID, long revisionFeatureID, int *error_code);
2025 
2039  DLL_DECL unsigned short int sbapi_revision_firmware_get(long deviceID, long revisionFeatureID, int *error_code);
2040 
2052  DLL_DECL int
2053  sbapi_get_number_of_optical_bench_features(long deviceID, int *error_code);
2054 
2068  DLL_DECL int
2069  sbapi_get_optical_bench_features(long deviceID, int *error_code, long *opticalBenchFeatures, int max_features);
2070 
2083  DLL_DECL unsigned short int sbapi_optical_bench_get_fiber_diameter_microns(long deviceID, long opticalBenchFeatureID, int *error_code);
2084 
2097  DLL_DECL unsigned short int sbapi_optical_bench_get_slit_width_microns(long deviceID, long opticalBenchFeatureID, int *error_code);
2098 
2118  DLL_DECL int
2119  sbapi_optical_bench_get_id(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
2120 
2140  DLL_DECL int
2141  sbapi_optical_bench_get_serial_number(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
2142 
2143 
2163  DLL_DECL int
2164  sbapi_optical_bench_get_coating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
2165 
2185  DLL_DECL int
2186  sbapi_optical_bench_get_filter(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
2187 
2207  DLL_DECL int
2208  sbapi_optical_bench_get_grating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length);
2209 
2210 
2222  DLL_DECL int
2223  sbapi_get_number_of_stray_light_coeffs_features(long deviceID, int *error_code);
2224 
2238  DLL_DECL int
2239  sbapi_get_stray_light_coeffs_features(long deviceID, int *error_code,
2240  long *features, int max_features);
2241 
2257  DLL_DECL int sbapi_stray_light_coeffs_get(long deviceID, long featureID,
2258  int *error_code, double *buffer, int max_length);
2259 
2260 
2272  DLL_DECL int sbapi_get_number_of_data_buffer_features(long deviceID, int *error_code);
2273 
2287  DLL_DECL int sbapi_get_data_buffer_features(long deviceID, int *error_code,
2288  long *buffer, unsigned int maxLength);
2289 
2299  DLL_DECL void sbapi_data_buffer_clear(long deviceID, long featureID, int *error_code);
2300 
2311  DLL_DECL unsigned long sbapi_data_buffer_get_number_of_elements(long deviceID,
2312  long featureID, int *error_code);
2313 
2325  DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity(long deviceID,
2326  long featureID, int *error_code);
2327 
2338  DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_maximum(
2339  long deviceID, long featureID, int *error_code);
2340 
2351  DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_minimum(
2352  long deviceID, long featureID, int *error_code);
2353 
2366  DLL_DECL void sbapi_data_buffer_set_buffer_capacity(long deviceID,
2367  long featureID, int *error_code, unsigned long capacity);
2368 
2380  DLL_DECL int sbapi_get_number_of_acquisition_delay_features(long deviceID, int *errorCode);
2381 
2395  DLL_DECL int sbapi_get_acquisition_delay_features(long deviceID, int *errorCode,
2396  long *buffer, unsigned int maxLength);
2397 
2411  DLL_DECL void sbapi_acquisition_delay_set_delay_microseconds(long deviceID, long featureID,
2412  int *errorCode, unsigned long delay_usec);
2413 
2432  DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_microseconds(long deviceID,
2433  long featureID, int *errorCode);
2434 
2446  DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_increment_microseconds(long deviceID,
2447  long featureID, int *errorCode);
2448 
2460  DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_maximum_microseconds(long deviceID,
2461  long featureID, int *errorCode);
2462 
2474  DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_minimum_microseconds(long deviceID,
2475  long featureID, int *errorCode);
2476 
2477 #ifdef __cplusplus
2478 }
2479 #endif /* __cplusplus */
2480 
2481 #endif /* SEABREEZEAPI_H */
DLL_DECL int sbapi_nonlinearity_coeffs_get(long deviceID, long featureID, int *error_code, double *buffer, int max_length)
DLL_DECL int sbapi_get_raw_usb_bus_access_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL double sbapi_temperature_get(long deviceID, long temperatureFeatureID, int *error_code, int index)
DLL_DECL void sbapi_continuous_strobe_set_continuous_strobe_period_micros(long deviceID, long featureID, int *error_code, unsigned long period_micros)
DLL_DECL int sbapi_get_pixel_binning_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL unsigned char sbapi_get_device_usb_endpoint_primary_in(long id, int *error_code)
DLL_DECL int sbapi_get_optical_bench_features(long deviceID, int *error_code, long *opticalBenchFeatures, int max_features)
DLL_DECL int sbapi_optical_bench_get_filter(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL float sbapi_irrad_calibration_read_collection_area(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_add_RS232_device_location(char *deviceTypeName, char *deviceBusPath, unsigned int baud)
DLL_DECL long sbapi_spectrometer_get_minimum_integration_time_micros(long deviceID, long featureID, int *error_code)
DLL_DECL void sbapi_spectrum_processing_boxcar_width_set(long deviceID, long spectrumProcessingFeatureID, int *error_code, unsigned char boxcarWidth)
DLL_DECL unsigned char sbapi_light_source_has_variable_intensity(long deviceID, long featureID, int *error_code, int light_source_index)
DLL_DECL int sbapi_get_number_of_optical_bench_features(long deviceID, int *error_code)
DLL_DECL int sbapi_open_device(long id, int *error_code)
DLL_DECL int sbapi_stray_light_coeffs_get(long deviceID, long featureID, int *error_code, double *buffer, int max_length)
DLL_DECL unsigned long sbapi_data_buffer_get_number_of_elements(long deviceID, long featureID, int *error_code)
Get the number of data elements currently in the buffer.
DLL_DECL int sbapi_temperature_get_all(long deviceID, long temperatureFeatureID, int *error_code, double *buffer, int max_length)
DLL_DECL unsigned char sbapi_spectrum_processing_boxcar_width_get(long deviceID, long spectrumProcessingFeatureID, int *error_code)
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_microseconds(long deviceID, long featureID, int *errorCode)
DLL_DECL void sbapi_spectrometer_set_trigger_mode(long deviceID, long featureID, int *error_code, int mode)
DLL_DECL unsigned char sbapi_get_serial_number_maximum_length(long deviceID, long featureID, int *error_code)
DLL_DECL void sbapi_data_buffer_clear(long deviceID, long featureID, int *error_code)
Clear the data buffer.
DLL_DECL int sbapi_spectrometer_get_unformatted_spectrum_length(long deviceID, long featureID, int *error_code)
DLL_DECL void sbapi_continuous_strobe_set_continuous_strobe_enable(long deviceID, long featureID, int *error_code, unsigned char enable)
DLL_DECL void sbapi_light_source_set_enable(long deviceID, long featureID, int *error_code, int light_source_index, unsigned char enable)
DLL_DECL void sbapi_data_buffer_set_buffer_capacity(long deviceID, long featureID, int *error_code, unsigned long capacity)
Set the number of data elements that the buffer should retain.
DLL_DECL int sbapi_get_number_of_continuous_strobe_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_stray_light_coeffs_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_spectrometer_get_unformatted_spectrum(long deviceID, long featureID, int *error_code, unsigned char *buffer, int buffer_length)
Definition: DeviceAdapter.h:62
DLL_DECL int sbapi_get_acquisition_delay_features(long deviceID, int *errorCode, long *buffer, unsigned int maxLength)
DLL_DECL int sbapi_get_number_of_spectrometer_features(long deviceID, int *error_code)
DLL_DECL int sbapi_spectrometer_get_wavelengths(long deviceID, long featureID, int *error_code, double *wavelengths, int length)
DLL_DECL double sbapi_spectrometer_get_maximum_intensity(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_get_serial_number(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL int sbapi_get_number_of_spectrum_processing_features(long deviceID, int *error_code)
DLL_DECL int sbapi_add_TCPIPv4_device_location(char *deviceTypeName, char *ipAddress, unsigned int port)
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_increment_microseconds(long deviceID, long featureID, int *errorCode)
DLL_DECL void sbapi_lamp_set_lamp_enable(long deviceID, long featureID, int *error_code, unsigned char lamp_enable)
DLL_DECL void sbapi_binning_set_pixel_binning_factor(long deviceID, long featureID, int *error_code, unsigned char factor)
DLL_DECL int sbapi_get_number_of_data_buffer_features(long deviceID, int *error_code)
DLL_DECL int sbapi_optical_bench_get_id(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL unsigned char sbapi_light_source_has_enable(long deviceID, long featureID, int *error_code, int light_source_index)
DLL_DECL int sbapi_get_temperature_features(long deviceID, int *error_code, long *temperatureFeatures, int max_features)
DLL_DECL int sbapi_get_irrad_cal_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL void sbapi_tec_set_enable(long deviceID, long featureID, int *error_code, unsigned char tec_enable)
DLL_DECL int sbapi_get_number_of_pixel_binning_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_number_of_revision_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_eeprom_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_spectrometer_get_electric_dark_pixel_indices(long deviceID, long featureID, int *error_code, int *indices, int length)
DLL_DECL void sbapi_irrad_calibration_write_collection_area(long deviceID, long featureID, int *error_code, float area)
DLL_DECL const char * sbapi_get_error_string(int error_code)
DLL_DECL int sbapi_irrad_calibration_write(long deviceID, long featureID, int *error_code, float *buffer, int buffer_length)
DLL_DECL void sbapi_binning_reset_default_pixel_binning_factor(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_get_data_buffer_features(long deviceID, int *error_code, long *buffer, unsigned int maxLength)
DLL_DECL unsigned char sbapi_binning_get_pixel_binning_factor(long deviceID, long featureID, int *error_code)
DLL_DECL unsigned short int sbapi_optical_bench_get_fiber_diameter_microns(long deviceID, long opticalBenchFeatureID, int *error_code)
DLL_DECL int sbapi_probe_devices()
DLL_DECL void sbapi_acquisition_delay_set_delay_microseconds(long deviceID, long featureID, int *errorCode, unsigned long delay_usec)
DLL_DECL int sbapi_spectrometer_get_formatted_spectrum_length(long deviceID, long featureID, int *error_code)
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_maximum(long deviceID, long featureID, int *error_code)
Get the maximum possible configurable size for the data buffer.
DLL_DECL int sbapi_optical_bench_get_coating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL void sbapi_shutdown()
DLL_DECL void sbapi_initialize()
DLL_DECL unsigned char sbapi_get_device_usb_endpoint_secondary_in(long id, int *error_code)
DLL_DECL double sbapi_tec_read_temperature_degrees_C(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_get_device_ids(long *ids, unsigned int max_ids)
DLL_DECL void sbapi_light_source_set_intensity(long deviceID, long featureID, int *error_code, int light_source_index, double intensity)
DLL_DECL int sbapi_get_number_of_shutter_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_number_of_serial_number_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_spectrum_processing_features(long deviceID, int *error_code, long *spectrumProcessingFeatures, int max_features)
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity_minimum(long deviceID, long featureID, int *error_code)
Get the minimum possible configurable size for the data buffer.
DLL_DECL int sbapi_get_number_of_thermo_electric_features(long deviceID, int *error_code)
DLL_DECL double sbapi_light_source_get_intensity(long deviceID, long featureID, int *error_code, int light_source_index)
DLL_DECL void sbapi_close_device(long id, int *error_code)
DLL_DECL unsigned long sbapi_data_buffer_get_buffer_capacity(long deviceID, long featureID, int *error_code)
Get the present limit of how many data elements will be retained by the buffer. This value can be cha...
DLL_DECL int sbapi_get_number_of_device_ids()
DLL_DECL unsigned char sbapi_temperature_count_get(long deviceID, long temperatureFeatureID, int *error_code)
DLL_DECL int sbapi_get_number_of_light_source_features(long deviceID, int *error_code)
DLL_DECL int sbapi_spectrometer_get_electric_dark_pixel_count(long deviceID, long featureID, int *error_code)
DLL_DECL unsigned char sbapi_binning_get_default_pixel_binning_factor(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_get_light_source_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_get_number_of_temperature_features(long deviceID, int *error_code)
This is an interface to SeaBreeze that allows the user to connect to devices over USB and other buses...
Definition: SeaBreezeAPI.h:54
DLL_DECL void sbapi_spectrometer_set_integration_time_micros(long deviceID, long featureID, int *error_code, unsigned long integration_time_micros)
DLL_DECL unsigned char sbapi_get_device_usb_endpoint_secondary_out(long id, int *error_code)
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)
DLL_DECL unsigned short int sbapi_revision_firmware_get(long deviceID, long revisionFeatureID, int *error_code)
DLL_DECL int sbapi_get_number_of_irrad_cal_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_shutter_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_irrad_calibration_has_collection_area(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_get_number_of_lamp_features(long deviceID, int *error_code)
DLL_DECL unsigned short int sbapi_optical_bench_get_slit_width_microns(long deviceID, long opticalBenchFeatureID, int *error_code)
DLL_DECL int sbapi_get_device_type(long id, int *error_code, char *buffer, unsigned int length)
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_minimum_microseconds(long deviceID, long featureID, int *errorCode)
DLL_DECL int sbapi_light_source_get_count(long deviceID, long featureID, int *error_code)
DLL_DECL void sbapi_shutter_set_shutter_open(long deviceID, long featureID, int *error_code, unsigned char opened)
DLL_DECL int sbapi_get_nonlinearity_coeffs_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL void sbapi_spectrum_processing_scans_to_average_set(long deviceID, long spectrumProcessingFeatureID, int *error_code, unsigned short int scansToAverage)
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)
DLL_DECL unsigned char sbapi_revision_hardware_get(long deviceID, long revisionFeatureID, int *error_code)
DLL_DECL void sbapi_tec_set_temperature_setpoint_degrees_C(long deviceID, long featureID, int *error_code, double temperature_degrees_celsius)
DLL_DECL int sbapi_get_number_of_nonlinearity_coeffs_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_number_of_raw_usb_bus_access_features(long deviceID, int *error_code)
DLL_DECL int sbapi_get_serial_number_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL unsigned short int sbapi_spectrum_processing_scans_to_average_get(long deviceID, long spectrumProcessingFeatureID, int *error_code)
DLL_DECL int sbapi_spectrometer_get_formatted_spectrum(long deviceID, long featureID, int *error_code, double *buffer, int buffer_length)
DLL_DECL unsigned long sbapi_acquisition_delay_get_delay_maximum_microseconds(long deviceID, long featureID, int *errorCode)
DLL_DECL int sbapi_get_revision_features(long deviceID, int *error_code, long *revisionFeatures, int max_features)
DLL_DECL int sbapi_get_number_of_eeprom_features(long deviceID, int *error_code)
DLL_DECL unsigned char sbapi_light_source_is_enabled(long deviceID, long featureID, int *error_code, int light_source_index)
DLL_DECL int sbapi_get_thermo_electric_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL void sbapi_binning_set_default_pixel_binning_factor(long deviceID, long featureID, int *error_code, unsigned char factor)
DLL_DECL int sbapi_get_spectrometer_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_get_lamp_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_get_number_of_acquisition_delay_features(long deviceID, int *errorCode)
DLL_DECL int sbapi_optical_bench_get_grating(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL int sbapi_optical_bench_get_serial_number(long deviceID, long featureID, int *error_code, char *buffer, int buffer_length)
DLL_DECL unsigned char sbapi_binning_get_max_pixel_binning_factor(long deviceID, long featureID, int *error_code)
DLL_DECL int sbapi_irrad_calibration_read(long deviceID, long featureID, int *error_code, float *buffer, int buffer_length)
DLL_DECL int sbapi_eeprom_read_slot(long deviceID, long featureID, int *error_code, int slot_number, unsigned char *buffer, int buffer_length)
DLL_DECL unsigned char sbapi_get_device_usb_endpoint_primary_out(long id, int *error_code)
DLL_DECL int sbapi_get_continuous_strobe_features(long deviceID, int *error_code, long *features, int max_features)
DLL_DECL int sbapi_get_number_of_stray_light_coeffs_features(long deviceID, int *error_code)
DLL_DECL unsigned char sbapi_get_device_usb_endpoint_secondary_in2(long id, int *error_code)