OceanDirectLighthouseC++ 3.1.3
OceanDirect Lighthouse C++/C API
OceanDirectAPI.h
Go to the documentation of this file.
1/*******************************************************
2 * @file OceanDirectAPI.h
3 * @date September 2021
4 * @author Ocean Insight, Inc.
5 *
6 * This is an interface to OceanDirect that allows
7 * the user to connect to devices over USB and other buses.
8 * This is intended as a usable and extensible API. The method
9 * calls below represent the complete C and Python interface for
10 * accessing an Ocean Insight spectrometer.
11 *
12 * This provides a C and Python interface to help with linkage.
13 */
14 /************************************************************************
15 *
16 * OCEAN INSIGHT CONFIDENTIAL
17 * __________________
18 *
19 * [2018] - [2020] Ocean Insight Incorporated
20 * All Rights Reserved.
21 *
22 * NOTICE: All information contained herein is, and remains
23 * the property of Ocean Insight Incorporated and its suppliers,
24 * if any. The intellectual and technical concepts contained
25 * herein are proprietary to Ocean Insight Incorporated
26 * and its suppliers and may be covered by U.S. and Foreign Patents,
27 * patents in process, and are protected by trade secret or copyright law.
28 * Dissemination of this information or reproduction of this material
29 * is strictly forbidden unless prior written permission is obtained
30 * from Ocean Insight Incorporated.
31 *
32 **************************************************************************/
33
34#ifndef OCEAN_DIRECT_API_H
35#define OCEAN_DIRECT_API_H
36
37#include "api/DllDecl.h"
38#include "api/FeatureIds.h"
39#include "common/public/UsbEndpoint.h"
40
41#ifdef __cplusplus
42#include <vector>
43#include <fstream>
44#include <memory>
45#include "common/devices/IDevice.h"
47#include "common/public/SpectrumWithMetadata.h"
48
49extern "C" {
54 enum FeatureId {
55 FEATURE_ID_SERIAL_NUMBER = oceandirect::api::serNo,
56 FEATURE_ID_SPECTROMETER = oceandirect::api::spectrm,
57 FEATURE_ID_THERMOELECTRIC = oceandirect::api::tec,
58 FEATURE_ID_IRRADCAL = oceandirect::api::iirad,
59 FEATURE_ID_EEPROM = oceandirect::api::eeprom,
60 FEATURE_ID_STROBE_LAMP = oceandirect::api::strobe,
61 FEATURE_ID_WAVECAL = oceandirect::api::wavecal,
62 FEATURE_ID_NONLINEARITYCAL = oceandirect::api::nonline,
63 FEATURE_ID_STRAYLIGHTCAL = oceandirect::api::stray,
64 FEATURE_ID_RAW_BUS_ACCESS = oceandirect::api::raw,
65 FEATURE_ID_CONTINUOUS_STROBE = oceandirect::api::contsrtb,
66 FEATURE_ID_LIGHT_SOURCE = oceandirect::api::light,
67 FEATURE_ID_TEMPERATURE = oceandirect::api::temper,
68 FEATURE_ID_OPTICAL_BENCH = oceandirect::api::optic,
69 FEATURE_ID_REVISION = oceandirect::api::revise,
70 FEATURE_ID_DATA_BUFFER = oceandirect::api::buffer,
71 FEATURE_ID_PIXEL_BINNING = oceandirect::api::binn,
72 FEATURE_ID_GPIO = oceandirect::api::gpio,
73 FEATURE_ID_SINGLE_STROBE = oceandirect::api::singlestrb,
74 FEATURE_ID_QUERY_STATUS = oceandirect::api::status,
75 FEATURE_ID_BACK_TO_BACK = oceandirect::api::backToBack,
76 FEATURE_ID_LED_ACTIVITY = oceandirect::api::activity,
77 FEATURE_ID_TIME_META = oceandirect::api::time,
78 FEATURE_ID_DHCP = oceandirect::api::dhcp,
79 FEATURE_ID_PIXEL = oceandirect::api::pixel,
80 FEATURE_ID_AUTO_NULLING = oceandirect::api::autonulling,
81 FEATURE_ID_IPV4_ADDRESS = oceandirect::api::ipv4address,
82 FEATURE_ID_IPV4_USER_STRING = oceandirect::api::userstring,
83 FEATURE_ID_DEVICE_INFORMATION = oceandirect::api::deviceInformation,
84 FEATURE_ID_DEVICE_ALIAS = oceandirect::api::deviceAlias,
85 FEATURE_ID_SERIAL_PORT = oceandirect::api::serialPort,
86 FEATURE_ID_SPECTRUM_ACQUISITION_CONTROL = oceandirect::api::spectrumAcquisitionControl,
87 FEATURE_ID_NETWORK_CONFIGURATION = oceandirect::api::networkConfiguration,
88 FEATURE_ID_ETHERNET = oceandirect::api::ethernet,
89 FEATURE_ID_SHUTTER = oceandirect::api::shutter,
90 FEATURE_ID_HIGH_GAIN_MODE = oceandirect::api::highGainMode
91 };
92 }
93#else
94#include <stdint.h>
95#include <stdbool.h>
96 /* Redeclaration of the features enum with "friendlier" names for the public API.
97 * Use this with isFeatureEnabled to determine if a spectrometer has a give feature.
98 * Give it C linkage so it can be used by the C API.
99 */
100enum FeatureId {
102 FEATURE_ID_SPECTROMETER = spectrm,
104 FEATURE_ID_IRRADCAL = iirad,
105 FEATURE_ID_EEPROM = eeprom,
106 FEATURE_ID_STROBE_LAMP = strobe,
107 FEATURE_ID_WAVECAL = wavecal,
113 FEATURE_ID_TEMPERATURE = temper,
115 FEATURE_ID_REVISION = revise,
116 FEATURE_ID_DATA_BUFFER = buffer,
118 FEATURE_ID_GPIO = gpio,
119 FEATURE_ID_SINGLE_STROBE = singlestrb,
121 FEATURE_ID_BACK_TO_BACK = backToBack,
122 FEATURE_ID_LED_ACTIVITY = activity,
124 FEATURE_ID_DHCP = dhcp,
125 FEATURE_ID_PIXEL = pixel,
126 FEATURE_ID_AUTO_NULLING = autonulling,
127 FEATURE_ID_IPV4_ADDRESS = ipv4address,
128 FEATURE_ID_IPV4_USER_STRING = userstring,
129 FEATURE_ID_DEVICE_INFORMATION = deviceInformation,
130 FEATURE_ID_DEVICE_ALIAS = deviceAlias,
131 FEATURE_ID_SERIAL_PORT = serialPort
132};
133#endif
134
135
136#ifdef __cplusplus
147namespace oceandirect {
148
149 namespace api {
150
151 class DeviceAdapter;
152
153 class DLL_DECL OceanDirectAPI {
154 public:
165
169 static void shutdown();
170
178 virtual void getAPIVersionNumber(unsigned int* major, unsigned int* minor, unsigned int* point);
179 virtual void getAPIRCNumber(unsigned int* candidate);
180
187 void setMulticastMsgSendRetry(size_t retryCount);
188
195 void setMulticastMsgResponseReadRetry(size_t retryCount);
196
204
214 virtual int probeDevices();
215
228 virtual void addRS232DeviceLocation(char *deviceTypeName, char *deviceBusPath, unsigned int baud, int* errorCode);
229
238 virtual int detectNetworkDevices();
239
248 virtual int getNumberOfDeviceIDs();
249
263 virtual int getDeviceIDs(long *ids, unsigned long maxLength);
264
278 virtual int getNetworkDeviceIDs(long* ids, unsigned long maxLength);
279
280
294 virtual void openDevice(long deviceID, int *errorCode);
295
309 virtual int addNetworkDevice(const char* ipAddressStr, const char* deviceTypeStr, int* errorCode);
310
321 virtual void closeDevice(long deviceID, int *errorCode);
322
335 virtual int getDeviceType(long deviceID, int *errorCode, char *buffer, unsigned int length);
336
337
350 virtual int getDeviceModelText(long deviceID, int *errorCode, char *buffer, unsigned int bufferLength);
351
363 virtual unsigned char getDeviceEndpoint(long deviceID, int *error_code, usbEndpointType endpointType);
364
372
382 virtual bool isFeatureEnabled(long deviceId, int *errorCode, FeatureId featureId);
383
398 virtual int getSerialNumber(long deviceID, int *errorCode, char *buffer, int bufferLength);
399
411 virtual unsigned char getSerialNumberMaximumLength(long deviceID, int *errorCode);
412
431 virtual void applyNonLinearityCorrection(long deviceID, int *errorCode, bool value);
432
443 virtual bool nonLinearityCorrectionUsage(long deviceID, int *errorCode);
444
464 virtual void applyElectricDarkCorrection(long deviceID, int *errorCode, bool value);
465
478 virtual bool electricDarkCorrectionUsage(long deviceID, int *errorCode);
479
492 virtual long long int getTime(long deviceID, int *errorCode);
493
507 virtual void setTime(long deviceID, int *errorCode, long long int timeInMicrosecond);
508
509 /* Spectrometer capabilities */
510
524 virtual int getWavelengths(long deviceID, int *errorCode, double *wavelengths, int length);
525
539 virtual int getWavelengthCoefficients(long deviceID, int *errorCode, double *coeff, int length);
540
541
563 virtual void setIntegrationTimeMicros(long deviceID, int *errorCode, unsigned long integrationTimeMicros);
564
577 virtual unsigned long getIntegrationTimeMicros(long deviceID, int *errorCode);
578
591 virtual unsigned long getIntegrationTimeIncrementMicros(long deviceID, int* errorCode);
592
610 virtual unsigned long getMinimumIntegrationTimeMicros(long deviceID, int *errorCode);
611
629 virtual unsigned long getMinimumAveragingIntegrationTimeMicros(long deviceID, int* errorCode);
630
642 virtual unsigned long getMaximumIntegrationTimeMicros(long deviceID, int *errorCode);
643
655 virtual double getMaximumIntensity(long deviceID, int *errorCode);
656
668 virtual int getFormattedSpectrumLength(long deviceID, int *errorCode);
669
684 virtual int getFormattedSpectrum(long deviceID, int *errorCode, double *buffer, int bufferLength);
685
710 virtual int getRawSpectrumWithMetadata(long deviceID, int *errorCode, SpectrumWithMetadata *buffer, int bufferLength);
711
724 virtual void setStoredDarkSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength);
725
740 virtual int getStoredDarkSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength);
741
759 virtual int getDarkCorrectedSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength,
760 double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
761
776 virtual int darkCorrectSpectrum(long deviceID, int* errorCode, double* illuminatedSpectrum, int illuminatedSpectrumLength,
777 double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
778
796 virtual int getDarkCorrectedSpectrum(long deviceID, int* errorCode, double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
797
812 virtual int darkCorrectSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength, double* illuminatedSpectrum,
813 int illuminatedSpectrumLength, double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
814
833 virtual int getNonlinearityCorrectedSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength,
834 double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
835
852 virtual int nonlinearityCorrectSpectrum(long deviceID, int* errorCode, double* illuminatedSpectrum,
853 int illuminatedSpectrumLength, double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
854
873 virtual int getNonlinearityCorrectedSpectrum(long deviceID, int* errorCode, double* nonlinearityCorrectedSpectrum,
874 int nonlinearityCorrectedSpectrumLength);
875
891 virtual int nonlinearityCorrectSpectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength, double* illuminatedSpectrum,
892 int illuminatedSpectrumLength, double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
893
907 void boxcarCorrectSpectrum(long deviceID, int* errorCode, const double* illuminatedSpectrum, unsigned int illuminatedSpectrumLength,
908 unsigned int boxcarWidth, double* boxcarCorrectedSpectrum, unsigned int boxcarCorrectedSpectrumLength);
909
923 virtual unsigned int getScansToAverage(long deviceID, int* errorCode);
924
945 virtual void setScansToAverage(long deviceID, int* errorCode, unsigned int scansToAverage);
946
962 virtual unsigned short int getBoxcarWidth(long deviceID, int* errorCode);
963
981 virtual void setBoxcarWidth(long deviceID, int* errorCode, unsigned short int boxcarWidth);
982
997 virtual void setTriggerMode(long deviceID, int *errorCode, int mode);
998
1014 virtual int getTriggerMode(long deviceID, int *errorCode);
1015
1029 virtual void setAcquisitionDelayMicroseconds(long deviceID, int* errorCode, unsigned long delayMicroseconds);
1030
1043 virtual unsigned long getAcquisitionDelayMicroseconds(long deviceID, int* errorCode);
1044
1059 virtual unsigned long getAcquisitionDelayIncrementMicroseconds(long deviceID, int* errorCode);
1060
1073 virtual unsigned long getAcquisitionDelayMaximumMicroseconds(long deviceID, int* errorCode);
1074
1087 virtual unsigned long getAcquisitionDelayMinimumMicroseconds(long deviceID, int* errorCode);
1088
1101 virtual int getElectricDarkPixelCount(long deviceID, int *errorCode);
1102
1117 virtual int getElectricDarkPixelIndices(long deviceID, int *errorCode, int *indices, int length);
1118
1135 virtual int getIndicesAtWavelengthRange(long deviceID, int *errorCode, int *indices, int indicesLength, double *wavelengthLength, int wavelengthSize,
1136 double lo, double hi);
1137
1157 virtual int getIndicesAtAnyWavelength(long deviceID, int *errorCode, int *indices, int indicesLength, double *wavelength, int wavelengthLength);
1158
1171 virtual int getIndexAtWavelength(long deviceID, int *errorCode, double &wavelength, double approxWavelength);
1172
1173 virtual IDevice *getDeviceByID(long id);
1174
1175
1185 virtual int getErrorMessage(int errorCode, char* returnMessage, int length);
1186
1194 virtual int getErrorStringLength(int errorCode);
1195
1197
1198 friend class OceanDirectAdminAPI;
1199 friend class NetOceanDirectAdmin;
1200 private:
1201 static constexpr int OBP1_TCP_IP_PORT = 57357;
1202 static constexpr int OBP2_TCP_IP_PORT = 57350;
1203 friend class InstrumentedOceanDirectAPI;
1204 protected:
1205
1209 virtual std::string getDeviceModel(long deviceID, int* errorCode, int index);
1210
1223 virtual long addTCPIPv4DeviceLocation(const char *deviceTypeName, std::string ipAddr, int port, int* errorCode);
1224
1225 virtual long addTCPIPv4OBP2DeviceLocation(const char* deviceTypeName, std::string ipAddr,
1226 int port, int* errorCode);
1227
1229
1231
1232 //std::vector<IDevice*> probedDevices;
1233 //std::vector<IDevice*> specifiedDevices;
1234
1235 private:
1236 // private log file and methods for the instrumentation
1237 static std::shared_ptr<std::ofstream> logFile;
1238 static OceanDirectAPI* getInstance(const char* log);
1239 static void shutdownInstrumentation();
1240 int probeInstrumentedDevices();
1241
1242 static constexpr int TCP_IP_PORT = 57357;
1243 static size_t multicastMsgSendRetry;
1244 static size_t multicastMsgResponseReadRetry;
1245 static size_t multicastMsgResponseReadDelay;
1246 };
1247 }
1248}
1249
1250extern "C" {
1251#endif /* __cplusplus */
1252#if 1
1253 /* All of these C functions start with odapi_ to prevent namespace
1254 * collisions.
1255 */
1256
1264 DLL_DECL void odapi_initialize();
1265
1271 DLL_DECL void odapi_shutdown();
1272
1280 DLL_DECL double odapi_get_api_version();
1281
1290 DLL_DECL void odapi_get_api_version_numbers(unsigned int* major, unsigned int* minor, unsigned int* point);
1291 DLL_DECL void odapi_get_rc_version_number(unsigned int* candidate);
1292
1299 DLL_DECL void odapi_set_multicast_msg_send_retry(unsigned int retryCount);
1300
1308 DLL_DECL void odapi_set_multicast_msg_response_read_retry(unsigned int retryCount);
1309
1316 DLL_DECL void odapi_set_multicast_msg_response_read_delay(unsigned int delayMs);
1317
1318
1338 DLL_DECL void
1339 odapi_add_RS232_device_location(char *deviceTypeName, char *deviceBusPath,
1340 unsigned int baud, int* errorCode);
1341
1357 DLL_DECL int
1359
1370 DLL_DECL int
1372
1389 DLL_DECL int
1390 odapi_get_device_ids(long *ids, unsigned int max_ids);
1391
1408 DLL_DECL int
1409 odapi_get_network_device_ids(long* ids, unsigned int max_ids);
1410
1418
1438 DLL_DECL void
1439 odapi_open_device(long id, int *error_code);
1440
1455 DLL_DECL long
1456 odapi_add_network_devices(const char* ipAddressStr, const char* deviceTypeStr, int* error_code);
1457
1470 DLL_DECL void
1471 odapi_close_device(long id, int *error_code);
1472
1484 DLL_DECL int
1485 odapi_get_error_string(int error_code, char* error_string, int length);
1494 DLL_DECL int
1496
1518 DLL_DECL int
1519 odapi_get_device_type(long id, int *error_code,
1520 char *buffer, unsigned int length);
1521
1538 DLL_DECL int
1539 odapi_get_device_name(long id, int *error_code,
1540 char *buffer, unsigned int length);
1541
1556 DLL_DECL unsigned char
1558
1573 DLL_DECL unsigned char
1575
1590 DLL_DECL unsigned char
1592
1607 DLL_DECL unsigned char
1609
1624 DLL_DECL unsigned char
1626
1640 DLL_DECL bool
1641 odapi_is_feature_enabled(long deviceID, int *errorCode, enum FeatureId featureID);
1642
1664 DLL_DECL int
1665 odapi_get_serial_number(long deviceID, int *error_code, char *buffer, int buffer_length);
1666
1682 DLL_DECL unsigned char
1683 odapi_get_serial_number_maximum_length(long deviceID, int *error_code);
1684
1703 DLL_DECL long long int
1704 odapi_get_time(long deviceID, int *error_code);
1705
1721 DLL_DECL void
1722 odapi_set_time(long deviceID, int *error_code, long long int time_in_microsecond);
1723
1746 DLL_DECL void odapi_apply_nonlinearity_correct_usage(long deviceID, int *error_code, bool use);
1747
1764 DLL_DECL bool odapi_get_nonlinearity_correct_usage(long deviceID, int *error_code);
1765
1785 DLL_DECL void
1786 odapi_adv_set_trigger_mode(long deviceID, int *error_code, int mode);
1787
1806 DLL_DECL int
1807 odapi_adv_get_trigger_mode(long deviceID, int *error_code);
1808
1826 DLL_DECL void
1827 odapi_set_trigger_mode(long deviceID, int *error_code, int mode);
1828
1848 DLL_DECL int
1849 odapi_get_trigger_mode(long deviceID, int *error_code);
1850
1866 DLL_DECL void odapi_set_acquisition_delay_microseconds(long deviceID, int* errorCode, unsigned long delay_usec);
1867
1888 DLL_DECL unsigned long odapi_get_acquisition_delay_microseconds(long deviceID, int* errorCode);
1889
1903 DLL_DECL unsigned long odapi_get_acquisition_delay_increment_microseconds(long deviceID, int* errorCode);
1904
1918 DLL_DECL unsigned long odapi_get_acquisition_delay_maximum_microseconds(long deviceID, int* errorCode);
1919
1933 DLL_DECL unsigned long odapi_get_acquisition_delay_minimum_microseconds(long deviceID, int* errorCode);
1934
1961 DLL_DECL void
1963 int *error_code, unsigned long integration_time_micros);
1964
1983 DLL_DECL unsigned long
1984 odapi_get_integration_time_micros(long deviceID, int *error_code);
1985
2008 DLL_DECL unsigned long
2009 odapi_get_minimum_integration_time_micros(long deviceID, int *error_code);
2010
2026 DLL_DECL unsigned long
2027 odapi_get_integration_time_increment_micros(long deviceID, int* error_code);
2028
2050 DLL_DECL unsigned long
2052
2069 DLL_DECL unsigned long
2070 odapi_get_maximum_integration_time_micros(long deviceID, int *error_code);
2071
2088 DLL_DECL double
2089 odapi_get_maximum_intensity(long deviceID, int *error_code);
2090
2111 DLL_DECL int
2112 odapi_get_raw_spectrum_with_metadata(long deviceID, int *error_code, double *buffer[], int buffer_row_size, int buffer_column_size,
2113 long long int *tick_count, int tick_count_size);
2114
2131 DLL_DECL int
2132 odapi_get_formatted_spectrum_length(long deviceID, int *error_code);
2133
2155 DLL_DECL int
2156 odapi_get_formatted_spectrum(long deviceID, int *error_code,
2157 double* buffer, int buffer_length);
2158
2171 DLL_DECL void odapi_set_stored_dark_spectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength);
2172
2187 DLL_DECL int odapi_get_stored_dark_spectrum(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength);
2188
2206 DLL_DECL int odapi_get_dark_corrected_spectrum1(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength,
2207 double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
2208
2223 DLL_DECL int odapi_dark_correct_spectrum1(long deviceID, int* errorCode, double* illuminatedSpectrum, int illuminatedSpectrumLength,
2224 double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
2225
2243 DLL_DECL int odapi_get_dark_corrected_spectrum2(long deviceID, int* errorCode, double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
2244
2259 DLL_DECL int odapi_dark_correct_spectrum2(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength, double* illuminatedSpectrum,
2260 int illuminatedSpectrumLength, double* darkCorrectedSpectrum, int darkCorrectedSpectrumLength);
2261
2280 DLL_DECL int odapi_get_nonlinearity_corrected_spectrum1(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength,
2281 double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
2282
2299 DLL_DECL int odapi_nonlinearity_correct_spectrum1(long deviceID, int* errorCode, double* illuminatedSpectrum,
2300 int illuminatedSpectrumLength, double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
2301
2320 DLL_DECL int odapi_get_nonlinearity_corrected_spectrum2(long deviceID, int* errorCode, double* nonlinearityCorrectedSpectrum,
2321 int nonlinearityCorrectedSpectrumLength);
2322
2338 DLL_DECL int odapi_nonlinearity_correct_spectrum2(long deviceID, int* errorCode, double* darkSpectrum, int darkSpectrumLength, double* illuminatedSpectrum,
2339 int illuminatedSpectrumLength, double* nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength);
2340
2354 DLL_DECL void odapi_boxcar_correct_spectrum(long deviceID, int* errorCode, double* illuminatedSpectrum, unsigned int illuminatedSpectrumLength,
2355 unsigned int boxcarWidth, double* boxcarCorrectedSpectrum, unsigned int boxcarCorrectedSpectrumLength);
2356
2373 DLL_DECL unsigned int odapi_get_scans_to_average(long deviceID, int* error_code);
2374
2402 DLL_DECL void odapi_set_scans_to_average(long deviceID, int* error_code, unsigned int scansToAverage);
2403
2404
2423 DLL_DECL unsigned short int odapi_get_boxcar_width(long deviceID, int* error_code);
2424
2446 DLL_DECL void odapi_set_boxcar_width(long deviceID, int* error_code, unsigned short int boxcarWidth);
2447
2469 DLL_DECL int
2470 odapi_get_wavelengths(long deviceID, int *error_code, double *wavelengths, int length);
2471
2491 DLL_DECL int odapi_get_wavelength_coeffs(long deviceID, int *error_code, double *coeff, int length);
2492
2512 DLL_DECL int
2513 odapi_get_index_at_wavelength(long deviceID, int *error_code, double *wavelength, double approxWavelength);
2514
2533 DLL_DECL int
2534 odapi_get_indices_at_wavelengths(long deviceID, int *error_code, int *indices, int indicesLength, double *wavelength, int wavelengthLength);
2535
2557 DLL_DECL int
2558 odapi_get_indices_at_wavelength_range(long deviceID, int *error_code, int *indices, int indicesLength,
2559 double *wavelength, int wavelengthLength, double lo, double hi);
2560
2580 DLL_DECL int odapi_get_electric_dark_pixel_count(long deviceID, int *error_code);
2581
2592 DLL_DECL int odapi_get_pixel_count(long deviceID, int *error_code);
2593
2606 DLL_DECL int odapi_get_active_pixel_range(long deviceID, int *error_code, int *range, int rangeSize);
2607
2620 DLL_DECL int odapi_get_optical_dark_pixel_range(long deviceID, int *error_code, int *range, int rangeSize);
2621
2634 DLL_DECL int odapi_get_transition_pixel_range(long deviceID, int *error_code, int *range, int rangeSize);
2635
2648 DLL_DECL int odapi_get_bad_pixel_indices(long deviceID, int *error_code, int *badPixelsIndices, int badPixelSize);
2649
2650
2651 DLL_DECL void odapi_set_bad_pixel_indices(long deviceID, int* error_code, int* badPixelsIndices, int badPixelSize);
2652
2676 DLL_DECL int odapi_get_electric_dark_pixel_indices(long deviceID, int *error_code, int *indices, int length);
2677
2697 DLL_DECL int
2698 odapi_adv_get_light_source_count(long deviceID, int* error_code);
2699
2723 DLL_DECL unsigned char
2724 odapi_adv_light_source_has_enable(long deviceID, int *error_code,
2725 int light_source_index);
2726
2746 DLL_DECL unsigned char
2747 odapi_adv_light_source_is_enabled(long deviceID, int *error_code,
2748 int light_source_index);
2749
2771 DLL_DECL void
2772 odapi_adv_light_source_set_enable(long deviceID, int *error_code,
2773 int light_source_index, unsigned char enable);
2774
2792 DLL_DECL void
2793 odapi_adv_set_lamp_enable(long deviceID, int *error_code, unsigned char lamp_enable);
2794
2808 DLL_DECL bool
2809 odapi_adv_get_lamp_enable(long deviceID, int *error_code);
2810
2824 DLL_DECL void
2825 odapi_adv_set_shutter_open(long deviceID, int* error_code, unsigned char shutter_state);
2826
2840 DLL_DECL bool
2841 odapi_adv_get_shutter_state(long deviceID, int* error_code);
2842
2859 DLL_DECL void
2860 odapi_adv_set_single_strobe_enable(long deviceID, int *error_code,
2861 unsigned char enable);
2862
2879 DLL_DECL void
2880 odapi_adv_set_single_strobe_delay(long deviceID, int *error_code,
2881 unsigned long delay_micros);
2882
2899 DLL_DECL void
2900 odapi_adv_set_single_strobe_width(long deviceID, int *error_code,
2901 unsigned long width_micros);
2902
2919 DLL_DECL bool
2920 odapi_adv_get_single_strobe_enable(long deviceID, int *error_code);
2921
2937 DLL_DECL unsigned long
2938 odapi_adv_get_single_strobe_delay(long deviceID, int *error_code);
2939
2954 DLL_DECL unsigned long
2955 odapi_adv_get_single_strobe_width(long deviceID, int *error_code);
2956
2970 DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_micros(long deviceID, int *error_code);
2971
2985 DLL_DECL bool odapi_adv_get_continuous_strobe_enable(long deviceID, int *error_code);
2986
3000 DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_minimum_micros(long deviceID, int *error_code);
3001
3015 DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_maximum_micros(long deviceID, int *error_code);
3016
3033 DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_increment_micros(long deviceID, int *error_code);
3034
3049 DLL_DECL unsigned long odapi_adv_get_continuous_strobe_width_micros(long deviceID, int *error_code);
3050
3066 DLL_DECL unsigned long
3067 odapi_adv_get_single_strobe_delay_minimum(long deviceID, int *error_code);
3068
3084 DLL_DECL unsigned long
3085 odapi_adv_get_single_strobe_delay_maximum(long deviceID, int *error_code);
3086
3100 DLL_DECL unsigned long
3101 odapi_adv_get_single_strobe_delay_increment(long deviceID, int *error_code);
3102
3117 DLL_DECL unsigned long
3118 odapi_adv_get_single_strobe_width_minimum(long deviceID, int *error_code);
3119
3134 DLL_DECL unsigned long
3135 odapi_adv_get_single_strobe_width_maximum(long deviceID, int *error_code);
3136
3150 DLL_DECL unsigned long
3151 odapi_adv_get_single_strobe_width_increment(long deviceID, int *error_code);
3152
3166 DLL_DECL unsigned long
3167 odapi_adv_get_single_strobe_cycle_maximum(long deviceID, int *error_code);
3168
3182 DLL_DECL unsigned long
3183 odapi_adv_get_continuous_strobe_period_micros(long deviceID, int *error_code);
3184
3198 DLL_DECL bool
3199 odapi_adv_get_continuous_strobe_enable(long deviceID, int *error_code);
3200
3214 DLL_DECL unsigned long
3215 odapi_adv_get_continuous_strobe_period_minimum_micros(long deviceID, int *error_code);
3216
3230 DLL_DECL unsigned long
3231 odapi_adv_get_continuous_strobe_period_maximum_micros(long deviceID, int *error_code);
3232
3246 DLL_DECL unsigned long
3247 odapi_adv_get_continuous_strobe_period_increment_micros(long deviceID, int *error_code);
3248
3263 DLL_DECL unsigned long
3264 odapi_adv_get_continuous_strobe_width_micros(long deviceID, int *error_code);
3265
3285 DLL_DECL void odapi_adv_set_continuous_strobe_enable(long deviceID, int *error_code, unsigned char enable);
3286
3300 DLL_DECL void odapi_adv_set_continuous_strobe_period_micros(long deviceID, int *error_code, unsigned long period_micros);
3301
3316 DLL_DECL void
3317 odapi_adv_set_continuous_strobe_width_micros(long deviceID, int *error_code, unsigned long width_micros);
3318
3336 DLL_DECL void
3337 odapi_adv_set_led_enable(long deviceID, int *error_code, bool led_enable);
3338
3352 DLL_DECL bool
3353 odapi_adv_get_led_enable(long deviceID, int *error_code);
3354
3371 DLL_DECL double
3372 odapi_adv_tec_get_temperature_degrees_C(long deviceID, int *error_code);
3373
3389 DLL_DECL void
3391 double temperature_degrees_celsius);
3392
3410 DLL_DECL void
3411 odapi_adv_tec_set_enable(long deviceID, int *error_code, unsigned char tec_enable);
3412
3427 DLL_DECL bool
3428 odapi_adv_tec_get_enable(long deviceID, int *error_code);
3429
3444 DLL_DECL float
3446
3461 DLL_DECL bool
3462 odapi_adv_tec_get_stable(long deviceID, int *error_code);
3463
3478 DLL_DECL bool
3479 odapi_adv_tec_get_fan_enable(long deviceID, int *error_code);
3480
3499 DLL_DECL int odapi_adv_get_nonlinearity_coeffs(long deviceID, int *error_code, double *buffer, int max_length);
3500
3516 DLL_DECL int odapi_adv_get_nonlinearity_coeffs_count1(long deviceID, int *error_code);
3517
3533 DLL_DECL double odapi_adv_get_nonlinearity_coeffs1(long deviceID, int *error_code, int index);
3534
3551 DLL_DECL unsigned short int odapi_adv_get_revision_firmware(long deviceID, int *error_code, char *buffer, int length);
3552
3569 DLL_DECL unsigned short int odapi_adv_get_revision_fpga(long deviceID, int *error_code, char *buffer, int length);
3570
3587 DLL_DECL unsigned short int odapi_adv_get_revision_system(long deviceID, int* error_code, char* buffer, int length);
3588
3589
3601 DLL_DECL void odapi_adv_clear_data_buffer(long deviceID, int *error_code);
3602
3615 DLL_DECL unsigned long odapi_adv_get_data_buffer_number_of_elements(long deviceID, int *error_code);
3616
3630 DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity(long deviceID, int *error_code);
3631
3644 DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity_maximum(long deviceID, int *error_code);
3645
3658 DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity_minimum(long deviceID, int *error_code);
3659
3675 DLL_DECL void odapi_adv_set_data_buffer_capacity(long deviceID, int *error_code, unsigned long capacity);
3676
3690 DLL_DECL void odapi_adv_set_data_buffer_enable(long deviceID, int *error_code, unsigned char flag);
3691
3705 DLL_DECL bool odapi_adv_get_data_buffer_enable(long deviceID, int *error_code);
3706
3718 DLL_DECL void odapi_adv_abort_acquisition(long deviceID, int *error_code);
3719
3731 DLL_DECL void odapi_adv_acquire_spectra_to_buffer(long deviceID, int *error_code);
3732
3745 DLL_DECL bool odapi_adv_get_device_idle_state(long deviceID, int *error_code);
3746
3747
3760 DLL_DECL unsigned long odapi_adv_get_number_of_backtoback_scans(long deviceID, int *error_code);
3761
3775 DLL_DECL void odapi_adv_set_number_of_backtoback_scans(long deviceID, int *error_code, unsigned long numScans);
3776
3789 DLL_DECL int odapi_adv_get_autonull_maximum_adc_count(long deviceID, int *error_code);
3790
3803 DLL_DECL int odapi_adv_get_autonull_saturation_level(long deviceID, int *error_code);
3804
3817 DLL_DECL int odapi_adv_get_autonull_baseline_level(long deviceID, int *error_code);
3818
3831 DLL_DECL int odapi_adv_get_autonull_fpga_digital_gain(long deviceID, int* error_code);
3832
3845 DLL_DECL int odapi_adv_get_autonull_fpga_digital_offset(long deviceID, int* error_code);
3846
3847
3848
3862 DLL_DECL void odapi_adv_get_autonull_baseline_level_constraints(long deviceID, int* error_code, unsigned int* minDAC, unsigned int* maxDAC, float* minVolts, float* maxVolts);
3863
3877 DLL_DECL void odapi_adv_get_autonull_saturation_level_constraints(long deviceID, int* error_code, unsigned int* minDAC, unsigned int* maxDAC, float* minVolts, float* maxVolts);
3878
3879
3880
3881
3896 DLL_DECL int odapi_get_user_string(long deviceID, int *error_code, char *buffer, int buffer_length);
3897
3911 DLL_DECL void odapi_set_user_string(long deviceID, int *error_code, char *buffer, int buffer_length);
3912
3926 DLL_DECL int odapi_get_user_string_count1(long deviceID, int *error_code);
3927
3944 DLL_DECL int odapi_get_user_string1(long deviceID, int *error_code, int index, char *buffer, int buffer_length);
3945
3961 DLL_DECL void odapi_set_user_string1(long deviceID, int *error_code, int index, char *buffer, int buffer_length);
3962
3963
3964
3977 DLL_DECL int odapi_adv_get_device_original_vid(long deviceID, int *error_code);
3978
3991 DLL_DECL int odapi_adv_get_device_original_pid(long deviceID, int *error_code);
3992
4005 DLL_DECL int odapi_adv_get_device_vid(long deviceID, int *error_code);
4006
4020 DLL_DECL void odapi_adv_set_device_vid(long deviceID, int *error_code, int vid);
4021
4035 DLL_DECL void odapi_adv_set_device_pid(long deviceID, int *error_code, int pid);
4036
4049 DLL_DECL int odapi_adv_get_device_pid(long deviceID, int *error_code);
4050
4065 DLL_DECL int odapi_adv_get_device_original_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4066
4081 DLL_DECL int odapi_adv_get_device_original_model_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4082
4097 DLL_DECL int odapi_adv_get_device_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4098
4113 DLL_DECL void odapi_adv_set_device_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4114
4129 DLL_DECL int odapi_adv_get_device_model_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4130
4145 DLL_DECL void odapi_adv_set_device_model_string(long deviceID, int *error_code, char *buffer, int bufferLength);
4146
4161 DLL_DECL int odapi_adv_get_device_alias(long deviceID, int *error_code, char *buffer, int bufferLength);
4162
4176 DLL_DECL void odapi_adv_set_device_alias(long deviceID, int *error_code, char *buffer, int bufferLength);
4177
4190 DLL_DECL int odapi_adv_get_baud_rate(long deviceID, int *error_code);
4191
4204 DLL_DECL void odapi_adv_set_baud_rate(long deviceID, int *error_code, int baudRate);
4205
4217 DLL_DECL void odapi_adv_save_settings_to_flash(long deviceID, int *error_code);
4218
4230 DLL_DECL void odapi_adv_reset_device(long deviceID, int *error_code);
4231
4232
4248 DLL_DECL bool odapi_adv_ipv4_is_dhcp_enabled(long deviceID, int *errorCode, unsigned char ifNum);
4249
4263 DLL_DECL void odapi_adv_ipv4_set_dhcp_enable(long deviceID, int *errorCode, unsigned char ifNum, unsigned char enabled);
4264
4280 DLL_DECL int odapi_adv_ipv4_get_number_of_ip_addresses(long deviceID, int *errorCode, unsigned char ifNum);
4281
4304 DLL_DECL void odapi_adv_ipv4_read_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char addressIndex,
4305 unsigned char *ipAddress, int ipAddressLength, unsigned int *netmask);
4306
4325 DLL_DECL void odapi_adv_ipv4_add_static_ip_address(long deviceID, int* errorCode, unsigned char ifNum,
4326 unsigned char *ipAddress, int ipAddressLength, unsigned int netmask);
4327
4341 DLL_DECL void odapi_adv_ipv4_delete_static_ip_address(long deviceID, int* errorCode, unsigned char ifNum, unsigned char addressIndex);
4342
4343
4362 DLL_DECL void odapi_adv_ipv4_set_default_gateway_ip_address(long deviceID, int* errorCode, unsigned char ifNum,
4363 unsigned char* ipAddress, int ipAddressLength);
4364
4383 DLL_DECL void odapi_adv_ipv4_get_default_gateway_ip_address(long deviceID, int* errorCode, unsigned char ifNum,
4384 unsigned char* outIpAddress, int ipAddressLength);
4385
4386
4408 DLL_DECL void odapi_apply_electric_dark_correction_usage(long deviceID, int *error_code, unsigned char enable);
4409
4428 DLL_DECL bool odapi_get_electric_dark_correction_usage(long deviceID, int *error_code);
4429
4436 DLL_DECL int odapi_adv_get_gpio_pin_count(long deviceID, int* errorCode);
4437
4445 DLL_DECL void odapi_adv_gpio_set_output_enable1(long deviceID, int *errorCode, int bit, bool isOutput);
4446
4452 DLL_DECL void odapi_adv_gpio_set_output_enable2(long deviceID, int *errorCode, uint32_t bitmask);
4453
4460 DLL_DECL bool odapi_adv_gpio_get_output_enable1(long deviceID, int *errorCode, int bit);
4461
4467 DLL_DECL uint32_t odapi_adv_gpio_get_output_enable2(long deviceID, int *errorCode);
4468
4475 DLL_DECL void odapi_adv_gpio_set_value1(long deviceID, int *errorCode, int bit, bool isHigh);
4476
4482 DLL_DECL void odapi_adv_gpio_set_value2(long deviceID, int *errorCode, uint32_t bitmask);
4483
4490 DLL_DECL bool odapi_adv_gpio_get_value1(long deviceID, int *errorCode, int bit);
4491
4497 DLL_DECL uint32_t odapi_adv_gpio_get_value2(long deviceID, int *errorCode);
4498
4509 DLL_DECL void odapi_adv_gpio_set_output_alternate1(long deviceID, int* errorCode, int bit, bool isAlternate);
4510
4520 DLL_DECL void odapi_adv_gpio_set_output_alternate2(long deviceID, int* errorCode, uint32_t bitMask);
4521
4532 DLL_DECL bool odapi_adv_gpio_get_output_alternate1(long deviceID, int* errorCode, int bit);
4533
4543 DLL_DECL uint32_t odapi_adv_gpio_get_output_alternate2(long deviceID, int* errorCode);
4544
4545
4546
4547
4555 DLL_DECL uint32_t odapi_adv_network_conf_get_interface_count(long deviceID, int* errorCode);
4556
4565 DLL_DECL uint32_t odapi_adv_network_conf_get_interface_type(long deviceID, int* errorCode, unsigned int interfaceIndex);
4566
4575 DLL_DECL bool odapi_adv_network_conf_get_interface_status(long deviceID, int* errorCode, unsigned int interfaceIndex);
4576
4585 DLL_DECL void odapi_adv_network_conf_set_interface_status(long deviceID, int* errorCode, unsigned int interfaceIndex, bool enable);
4586
4600 DLL_DECL bool odapi_adv_network_conf_get_multicast_group_enabled(long deviceID, int* errorCode, unsigned int interfaceIndex);
4601
4615 DLL_DECL void odapi_adv_network_conf_set_multicast_group_enabled(long deviceID, int* errorCode, unsigned int interfaceIndex, bool enable);
4616
4617
4618
4626 DLL_DECL void odapi_adv_network_conf_save_interface_setting(long deviceID, int* errorCode, unsigned int interfaceIndex);
4627
4636 DLL_DECL bool odapi_adv_ethernet_get_gigabit_enable_status(long deviceID, int* errorCode, unsigned int interfaceIndex);
4637
4646 DLL_DECL void odapi_adv_ethernet_set_gigabit_enable_status(long deviceID, int* errorCode, unsigned int interfaceIndex, bool enable);
4647
4659 DLL_DECL void odapi_adv_ethernet_get_mac_address(long deviceID, int* errorCode, unsigned int interfaceIndex, unsigned char* macAddress, int macAddressLength);
4660
4672 DLL_DECL void odapi_adv_ethernet_set_mac_address(long deviceID, int* errorCode, uint32_t interfaceIndex, unsigned char* macAddress, int macAddressLength);
4673
4674 //OBP2 Commands
4682 DLL_DECL unsigned char odapi_adv_get_ip_address_assigned_mode(long deviceID, int* errorCode);
4683
4691 DLL_DECL void odapi_adv_set_ip_address_assigned_mode(long deviceID, int* errorCode, unsigned char useDHCP);
4692
4707 DLL_DECL void odapi_adv_get_network_configuration(long deviceID, int* errorCode, unsigned char* outIpAddressAssignment,
4708 unsigned char* outIpv4Address, unsigned int ipv4AddressSize,
4709 unsigned char* outSubnetMask, unsigned int subnetMaskSize,
4710 unsigned char* outDefaultGateway, unsigned int defaultGatewaySize,
4711 unsigned char* outDNSServer, unsigned int dnsServerSize);
4712
4727 DLL_DECL void odapi_adv_set_manual_network_configuration(long deviceID, int* errorCode,
4728 unsigned char* ipv4Address, unsigned int ipv4AddressSize,
4729 unsigned char* subnetMask, unsigned int subnetMaskSize,
4730 unsigned char* defaultGateway, unsigned int defaultGatewaySize,
4731 unsigned char* dnsServer, unsigned int dnsServerSize);
4732
4747 DLL_DECL void odapi_adv_get_manual_network_configuration(long deviceID, int* errorCode,
4748 unsigned char* outIpv4Address, unsigned int ipv4AddressSize,
4749 unsigned char* outSubnetMask, unsigned int subnetMaskSize,
4750 unsigned char* outDefaultGateway, unsigned int defaultGatewaySize,
4751 unsigned char* outDNSServer, unsigned int dnsServerSize);
4752#endif /* excluding C interface */
4753#ifdef __cplusplus
4754}
4755#endif /* __cplusplus */
4756#endif /* OCEAN_DIRECT_API_H */
DLL_DECL void odapi_initialize()
DLL_DECL double odapi_get_api_version()
DLL_DECL int odapi_adv_get_device_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL long long int odapi_get_time(long deviceID, int *error_code)
DLL_DECL int odapi_get_user_string_count1(long deviceID, int *error_code)
DLL_DECL void odapi_adv_ethernet_get_mac_address(long deviceID, int *errorCode, unsigned int interfaceIndex, unsigned char *macAddress, int macAddressLength)
DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_micros(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_get_continuous_strobe_enable(long deviceID, int *error_code)
DLL_DECL int odapi_get_device_name(long id, int *error_code, char *buffer, unsigned int length)
DLL_DECL void odapi_adv_set_device_alias(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL int odapi_get_network_device_ids(long *ids, unsigned int max_ids)
DLL_DECL void odapi_adv_ipv4_delete_static_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char addressIndex)
DLL_DECL bool odapi_is_feature_enabled(long deviceID, int *errorCode, enum FeatureId featureID)
DLL_DECL void odapi_adv_set_continuous_strobe_enable(long deviceID, int *error_code, unsigned char enable)
DLL_DECL void odapi_adv_set_device_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL void odapi_adv_get_autonull_baseline_level_constraints(long deviceID, int *error_code, unsigned int *minDAC, unsigned int *maxDAC, float *minVolts, float *maxVolts)
DLL_DECL uint32_t odapi_adv_gpio_get_output_alternate2(long deviceID, int *errorCode)
DLL_DECL void odapi_apply_electric_dark_correction_usage(long deviceID, int *error_code, unsigned char enable)
DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity_maximum(long deviceID, int *error_code)
Get the maximum possible configurable size for the data buffer.
DLL_DECL void odapi_set_trigger_mode(long deviceID, int *error_code, int mode)
DLL_DECL unsigned long odapi_adv_get_single_strobe_delay_increment(long deviceID, int *error_code)
DLL_DECL int odapi_nonlinearity_correct_spectrum2(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
DLL_DECL unsigned char odapi_get_device_usb_endpoint_secondary_in(long id, int *error_code)
DLL_DECL void odapi_set_multicast_msg_response_read_delay(unsigned int delayMs)
DLL_DECL int odapi_get_indices_at_wavelength_range(long deviceID, int *error_code, int *indices, int indicesLength, double *wavelength, int wavelengthLength, double lo, double hi)
DLL_DECL int odapi_get_optical_dark_pixel_range(long deviceID, int *error_code, int *range, int rangeSize)
DLL_DECL unsigned long odapi_adv_get_continuous_strobe_width_micros(long deviceID, int *error_code)
DLL_DECL int odapi_get_serial_number(long deviceID, int *error_code, char *buffer, int buffer_length)
DLL_DECL int odapi_get_error_string(int error_code, char *error_string, int length)
DLL_DECL bool odapi_adv_get_single_strobe_enable(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_device_model_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL unsigned long odapi_get_integration_time_micros(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_gpio_get_output_enable1(long deviceID, int *errorCode, int bit)
DLL_DECL unsigned long odapi_adv_get_data_buffer_number_of_elements(long deviceID, int *error_code)
Get the number of data elements currently in the buffer.
DLL_DECL void odapi_boxcar_correct_spectrum(long deviceID, int *errorCode, double *illuminatedSpectrum, unsigned int illuminatedSpectrumLength, unsigned int boxcarWidth, double *boxcarCorrectedSpectrum, unsigned int boxcarCorrectedSpectrumLength)
DLL_DECL int odapi_get_active_pixel_range(long deviceID, int *error_code, int *range, int rangeSize)
DLL_DECL void odapi_adv_gpio_set_output_enable1(long deviceID, int *errorCode, int bit, bool isOutput)
DLL_DECL void odapi_adv_ethernet_set_gigabit_enable_status(long deviceID, int *errorCode, unsigned int interfaceIndex, bool enable)
DLL_DECL int odapi_adv_get_baud_rate(long deviceID, int *error_code)
DLL_DECL int odapi_adv_get_autonull_baseline_level(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_adv_get_single_strobe_width_maximum(long deviceID, int *error_code)
DLL_DECL int odapi_adv_get_nonlinearity_coeffs_count1(long deviceID, int *error_code)
DLL_DECL void odapi_adv_light_source_set_enable(long deviceID, int *error_code, int light_source_index, unsigned char enable)
DLL_DECL int odapi_get_wavelength_coeffs(long deviceID, int *error_code, double *coeff, int length)
DLL_DECL int odapi_adv_get_device_pid(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_get_lamp_enable(long deviceID, int *error_code)
DLL_DECL double odapi_adv_tec_get_temperature_degrees_C(long deviceID, int *error_code)
DLL_DECL void odapi_adv_gpio_set_value2(long deviceID, int *errorCode, uint32_t bitmask)
DLL_DECL int odapi_get_pixel_count(long deviceID, int *error_code)
DLL_DECL void odapi_add_RS232_device_location(char *deviceTypeName, char *deviceBusPath, unsigned int baud, int *errorCode)
DLL_DECL unsigned char odapi_get_device_usb_endpoint_primary_in(long id, int *error_code)
DLL_DECL void odapi_get_rc_version_number(unsigned int *candidate)
DLL_DECL unsigned long odapi_adv_get_number_of_backtoback_scans(long deviceID, int *error_code)
DLL_DECL void odapi_set_acquisition_delay_microseconds(long deviceID, int *errorCode, unsigned long delay_usec)
DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_maximum_micros(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_device_pid(long deviceID, int *error_code, int pid)
DLL_DECL void odapi_set_multicast_msg_response_read_retry(unsigned int retryCount)
DLL_DECL unsigned long odapi_get_acquisition_delay_increment_microseconds(long deviceID, int *errorCode)
DLL_DECL void odapi_adv_ipv4_read_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char addressIndex, unsigned char *ipAddress, int ipAddressLength, unsigned int *netmask)
DLL_DECL int odapi_adv_get_autonull_fpga_digital_gain(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_tec_get_stable(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_baud_rate(long deviceID, int *error_code, int baudRate)
DLL_DECL int odapi_adv_get_device_original_manufacturer_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL unsigned long odapi_get_minimum_integration_time_micros(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_adv_get_single_strobe_width_minimum(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_get_acquisition_delay_minimum_microseconds(long deviceID, int *errorCode)
DLL_DECL unsigned char odapi_adv_get_ip_address_assigned_mode(long deviceID, int *errorCode)
DLL_DECL void odapi_set_stored_dark_spectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength)
DLL_DECL bool odapi_adv_ipv4_is_dhcp_enabled(long deviceID, int *errorCode, unsigned char ifNum)
DLL_DECL void odapi_adv_clear_data_buffer(long deviceID, int *error_code)
Clear the data buffer.
DLL_DECL int odapi_adv_get_gpio_pin_count(long deviceID, int *errorCode)
DLL_DECL unsigned long odapi_get_integration_time_increment_micros(long deviceID, int *error_code)
DLL_DECL int odapi_adv_get_nonlinearity_coeffs(long deviceID, int *error_code, double *buffer, int max_length)
DLL_DECL uint32_t odapi_adv_network_conf_get_interface_count(long deviceID, int *errorCode)
DLL_DECL int odapi_adv_get_device_original_pid(long deviceID, int *error_code)
DLL_DECL void odapi_adv_network_conf_set_interface_status(long deviceID, int *errorCode, unsigned int interfaceIndex, bool enable)
DLL_DECL int odapi_get_device_type(long id, int *error_code, char *buffer, unsigned int length)
DLL_DECL int odapi_get_trigger_mode(long deviceID, int *error_code)
DLL_DECL int odapi_adv_get_device_vid(long deviceID, int *error_code)
DLL_DECL int odapi_get_wavelengths(long deviceID, int *error_code, double *wavelengths, int length)
DLL_DECL void odapi_adv_set_single_strobe_enable(long deviceID, int *error_code, unsigned char enable)
DLL_DECL void odapi_set_time(long deviceID, int *error_code, long long int time_in_microsecond)
DLL_DECL void odapi_adv_set_lamp_enable(long deviceID, int *error_code, unsigned char lamp_enable)
DLL_DECL int odapi_get_electric_dark_pixel_count(long deviceID, int *error_code)
DLL_DECL int odapi_get_error_string_length(int error_code)
DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity(long deviceID, 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 void odapi_adv_gpio_set_value1(long deviceID, int *errorCode, int bit, bool isHigh)
DLL_DECL void odapi_adv_set_single_strobe_delay(long deviceID, int *error_code, unsigned long delay_micros)
DLL_DECL bool odapi_adv_ethernet_get_gigabit_enable_status(long deviceID, int *errorCode, unsigned int interfaceIndex)
DLL_DECL void odapi_set_bad_pixel_indices(long deviceID, int *error_code, int *badPixelsIndices, int badPixelSize)
DLL_DECL bool odapi_adv_gpio_get_output_alternate1(long deviceID, int *errorCode, int bit)
DLL_DECL int odapi_get_nonlinearity_corrected_spectrum1(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
DLL_DECL void odapi_get_api_version_numbers(unsigned int *major, unsigned int *minor, unsigned int *point)
DLL_DECL void odapi_adv_ipv4_add_static_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char *ipAddress, int ipAddressLength, unsigned int netmask)
DLL_DECL uint32_t odapi_adv_gpio_get_output_enable2(long deviceID, int *errorCode)
DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_minimum_micros(long deviceID, int *error_code)
DLL_DECL unsigned char odapi_get_device_usb_endpoint_secondary_out(long id, int *error_code)
DLL_DECL void odapi_adv_ipv4_set_dhcp_enable(long deviceID, int *errorCode, unsigned char ifNum, unsigned char enabled)
DLL_DECL void odapi_adv_get_autonull_saturation_level_constraints(long deviceID, int *error_code, unsigned int *minDAC, unsigned int *maxDAC, float *minVolts, float *maxVolts)
DLL_DECL int odapi_nonlinearity_correct_spectrum1(long deviceID, int *errorCode, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
DLL_DECL void odapi_adv_tec_set_enable(long deviceID, int *error_code, unsigned char tec_enable)
DLL_DECL unsigned long odapi_adv_get_single_strobe_width(long deviceID, int *error_code)
DLL_DECL int odapi_adv_ipv4_get_number_of_ip_addresses(long deviceID, int *errorCode, unsigned char ifNum)
DLL_DECL void odapi_adv_set_led_enable(long deviceID, int *error_code, bool led_enable)
DLL_DECL unsigned char odapi_get_device_usb_endpoint_primary_out(long id, int *error_code)
DLL_DECL int odapi_get_raw_spectrum_with_metadata(long deviceID, int *error_code, double *buffer[], int buffer_row_size, int buffer_column_size, long long int *tick_count, int tick_count_size)
DLL_DECL void odapi_adv_set_continuous_strobe_width_micros(long deviceID, int *error_code, unsigned long width_micros)
DLL_DECL bool odapi_adv_get_data_buffer_enable(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_adv_get_data_buffer_capacity_minimum(long deviceID, int *error_code)
Get the minimum possible configurable size for the data buffer.
DLL_DECL int odapi_get_dark_corrected_spectrum2(long deviceID, int *errorCode, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
DLL_DECL int odapi_adv_get_autonull_fpga_digital_offset(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_get_acquisition_delay_maximum_microseconds(long deviceID, int *errorCode)
DLL_DECL unsigned char odapi_adv_light_source_is_enabled(long deviceID, int *error_code, int light_source_index)
DLL_DECL int odapi_get_index_at_wavelength(long deviceID, int *error_code, double *wavelength, double approxWavelength)
DLL_DECL int odapi_adv_get_light_source_count(long deviceID, int *error_code)
DLL_DECL void odapi_adv_ipv4_set_default_gateway_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char *ipAddress, int ipAddressLength)
DLL_DECL unsigned short int odapi_adv_get_revision_firmware(long deviceID, int *error_code, char *buffer, int length)
DLL_DECL void odapi_adv_set_data_buffer_capacity(long deviceID, int *error_code, unsigned long capacity)
DLL_DECL bool odapi_adv_tec_get_enable(long deviceID, int *error_code)
DLL_DECL unsigned char odapi_get_serial_number_maximum_length(long deviceID, int *error_code)
DLL_DECL void odapi_set_boxcar_width(long deviceID, int *error_code, unsigned short int boxcarWidth)
DLL_DECL long odapi_add_network_devices(const char *ipAddressStr, const char *deviceTypeStr, int *error_code)
DLL_DECL int odapi_adv_get_device_original_model_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL bool odapi_get_nonlinearity_correct_usage(long deviceID, int *error_code)
DLL_DECL void odapi_adv_abort_acquisition(long deviceID, int *error_code)
Abort spectra acquisition.
DLL_DECL void odapi_shutdown()
DLL_DECL int odapi_get_dark_corrected_spectrum1(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
DLL_DECL void odapi_set_user_string(long deviceID, int *error_code, char *buffer, int buffer_length)
DLL_DECL float odapi_adv_tec_get_temperature_setpoint_degrees_C(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_ip_address_assigned_mode(long deviceID, int *errorCode, unsigned char useDHCP)
DLL_DECL int odapi_get_formatted_spectrum(long deviceID, int *error_code, double *buffer, int buffer_length)
DLL_DECL unsigned long odapi_adv_get_single_strobe_delay(long deviceID, int *error_code)
DLL_DECL void odapi_adv_ethernet_set_mac_address(long deviceID, int *errorCode, uint32_t interfaceIndex, unsigned char *macAddress, int macAddressLength)
DLL_DECL void odapi_adv_network_conf_save_interface_setting(long deviceID, int *errorCode, unsigned int interfaceIndex)
DLL_DECL bool odapi_adv_get_device_idle_state(long deviceID, int *error_code)
Get the device idle state. It returns 1(true) if device is idle otherwise it's 0(false).
DLL_DECL int odapi_adv_get_device_model_string(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL int odapi_get_user_string1(long deviceID, int *error_code, int index, char *buffer, int buffer_length)
DLL_DECL void odapi_close_device(long id, int *error_code)
DLL_DECL int odapi_get_indices_at_wavelengths(long deviceID, int *error_code, int *indices, int indicesLength, double *wavelength, int wavelengthLength)
DLL_DECL int odapi_get_user_string(long deviceID, int *error_code, char *buffer, int buffer_length)
DLL_DECL void odapi_adv_gpio_set_output_enable2(long deviceID, int *errorCode, uint32_t bitmask)
DLL_DECL unsigned long odapi_adv_get_single_strobe_width_increment(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_get_led_enable(long deviceID, int *error_code)
FeatureId
Definition OceanDirectAPI.h:54
@ FEATURE_ID_DEVICE_INFORMATION
Definition OceanDirectAPI.h:83
@ FEATURE_ID_SINGLE_STROBE
Definition OceanDirectAPI.h:73
@ FEATURE_ID_DATA_BUFFER
Definition OceanDirectAPI.h:70
@ FEATURE_ID_SERIAL_NUMBER
Definition OceanDirectAPI.h:55
@ FEATURE_ID_NONLINEARITYCAL
Definition OceanDirectAPI.h:62
@ FEATURE_ID_IRRADCAL
Definition OceanDirectAPI.h:58
@ FEATURE_ID_SPECTROMETER
Definition OceanDirectAPI.h:56
@ FEATURE_ID_SPECTRUM_ACQUISITION_CONTROL
Definition OceanDirectAPI.h:86
@ FEATURE_ID_SERIAL_PORT
Definition OceanDirectAPI.h:85
@ FEATURE_ID_HIGH_GAIN_MODE
Definition OceanDirectAPI.h:90
@ FEATURE_ID_EEPROM
Definition OceanDirectAPI.h:59
@ FEATURE_ID_GPIO
Definition OceanDirectAPI.h:72
@ FEATURE_ID_STROBE_LAMP
Definition OceanDirectAPI.h:60
@ FEATURE_ID_PIXEL_BINNING
Definition OceanDirectAPI.h:71
@ FEATURE_ID_AUTO_NULLING
Definition OceanDirectAPI.h:80
@ FEATURE_ID_TIME_META
Definition OceanDirectAPI.h:77
@ FEATURE_ID_TEMPERATURE
Definition OceanDirectAPI.h:67
@ FEATURE_ID_IPV4_USER_STRING
Definition OceanDirectAPI.h:82
@ FEATURE_ID_LED_ACTIVITY
Definition OceanDirectAPI.h:76
@ FEATURE_ID_NETWORK_CONFIGURATION
Definition OceanDirectAPI.h:87
@ FEATURE_ID_DEVICE_ALIAS
Definition OceanDirectAPI.h:84
@ FEATURE_ID_BACK_TO_BACK
Definition OceanDirectAPI.h:75
@ FEATURE_ID_PIXEL
Definition OceanDirectAPI.h:79
@ FEATURE_ID_DHCP
Definition OceanDirectAPI.h:78
@ FEATURE_ID_CONTINUOUS_STROBE
Definition OceanDirectAPI.h:65
@ FEATURE_ID_THERMOELECTRIC
Definition OceanDirectAPI.h:57
@ FEATURE_ID_ETHERNET
Definition OceanDirectAPI.h:88
@ FEATURE_ID_RAW_BUS_ACCESS
Definition OceanDirectAPI.h:64
@ FEATURE_ID_IPV4_ADDRESS
Definition OceanDirectAPI.h:81
@ FEATURE_ID_SHUTTER
Definition OceanDirectAPI.h:89
@ FEATURE_ID_OPTICAL_BENCH
Definition OceanDirectAPI.h:68
@ FEATURE_ID_WAVECAL
Definition OceanDirectAPI.h:61
@ FEATURE_ID_STRAYLIGHTCAL
Definition OceanDirectAPI.h:63
@ FEATURE_ID_LIGHT_SOURCE
Definition OceanDirectAPI.h:66
@ FEATURE_ID_QUERY_STATUS
Definition OceanDirectAPI.h:74
@ FEATURE_ID_REVISION
Definition OceanDirectAPI.h:69
DLL_DECL void odapi_adv_set_number_of_backtoback_scans(long deviceID, int *error_code, unsigned long numScans)
DLL_DECL void odapi_adv_set_data_buffer_enable(long deviceID, int *error_code, unsigned char flag)
DLL_DECL void odapi_adv_gpio_set_output_alternate1(long deviceID, int *errorCode, int bit, bool isAlternate)
DLL_DECL int odapi_dark_correct_spectrum2(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
DLL_DECL void odapi_adv_get_manual_network_configuration(long deviceID, int *errorCode, unsigned char *outIpv4Address, unsigned int ipv4AddressSize, unsigned char *outSubnetMask, unsigned int subnetMaskSize, unsigned char *outDefaultGateway, unsigned int defaultGatewaySize, unsigned char *outDNSServer, unsigned int dnsServerSize)
DLL_DECL int odapi_get_transition_pixel_range(long deviceID, int *error_code, int *range, int rangeSize)
DLL_DECL void odapi_adv_save_settings_to_flash(long deviceID, int *error_code)
DLL_DECL void odapi_adv_gpio_set_output_alternate2(long deviceID, int *errorCode, uint32_t bitMask)
DLL_DECL void odapi_adv_get_network_configuration(long deviceID, int *errorCode, unsigned char *outIpAddressAssignment, unsigned char *outIpv4Address, unsigned int ipv4AddressSize, unsigned char *outSubnetMask, unsigned int subnetMaskSize, unsigned char *outDefaultGateway, unsigned int defaultGatewaySize, unsigned char *outDNSServer, unsigned int dnsServerSize)
DLL_DECL unsigned short int odapi_adv_get_revision_system(long deviceID, int *error_code, char *buffer, int length)
DLL_DECL void odapi_adv_acquire_spectra_to_buffer(long deviceID, int *error_code)
Starts acquiring spectra and put them into device memory.
DLL_DECL uint32_t odapi_adv_network_conf_get_interface_type(long deviceID, int *errorCode, unsigned int interfaceIndex)
DLL_DECL void odapi_adv_tec_set_temperature_setpoint_degrees_C(long deviceID, int *error_code, double temperature_degrees_celsius)
DLL_DECL double odapi_adv_get_nonlinearity_coeffs1(long deviceID, int *error_code, int index)
DLL_DECL void odapi_apply_nonlinearity_correct_usage(long deviceID, int *error_code, bool use)
DLL_DECL int odapi_get_electric_dark_pixel_indices(long deviceID, int *error_code, int *indices, int length)
DLL_DECL int odapi_get_formatted_spectrum_length(long deviceID, int *error_code)
DLL_DECL int odapi_adv_get_device_alias(long deviceID, int *error_code, char *buffer, int bufferLength)
DLL_DECL unsigned char odapi_get_device_usb_endpoint_secondary_in2(long id, int *error_code)
DLL_DECL int odapi_get_nonlinearity_corrected_spectrum2(long deviceID, int *errorCode, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
DLL_DECL int odapi_get_bad_pixel_indices(long deviceID, int *error_code, int *badPixelsIndices, int badPixelSize)
DLL_DECL unsigned short int odapi_get_boxcar_width(long deviceID, int *error_code)
DLL_DECL bool odapi_get_electric_dark_correction_usage(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_get_shutter_state(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_get_acquisition_delay_microseconds(long deviceID, int *errorCode)
DLL_DECL bool odapi_adv_network_conf_get_multicast_group_enabled(long deviceID, int *errorCode, unsigned int interfaceIndex)
DLL_DECL int odapi_adv_get_device_original_vid(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_adv_get_single_strobe_delay_maximum(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_shutter_open(long deviceID, int *error_code, unsigned char shutter_state)
DLL_DECL double odapi_get_maximum_intensity(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_trigger_mode(long deviceID, int *error_code, int mode)
DLL_DECL unsigned long odapi_adv_get_single_strobe_delay_minimum(long deviceID, int *error_code)
DLL_DECL void odapi_set_user_string1(long deviceID, int *error_code, int index, char *buffer, int buffer_length)
DLL_DECL uint32_t odapi_adv_gpio_get_value2(long deviceID, int *errorCode)
DLL_DECL int odapi_probe_devices()
DLL_DECL int odapi_adv_get_trigger_mode(long deviceID, int *error_code)
DLL_DECL void odapi_open_device(long id, int *error_code)
DLL_DECL int odapi_adv_get_autonull_maximum_adc_count(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_get_minimum_averaging_integration_time_micros(long deviceID, int *error_code)
DLL_DECL int odapi_get_stored_dark_spectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength)
DLL_DECL unsigned long odapi_adv_get_continuous_strobe_period_increment_micros(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_gpio_get_value1(long deviceID, int *errorCode, int bit)
DLL_DECL int odapi_detect_network_devices()
DLL_DECL int odapi_dark_correct_spectrum1(long deviceID, int *errorCode, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
DLL_DECL void odapi_adv_set_device_vid(long deviceID, int *error_code, int vid)
DLL_DECL void odapi_adv_set_single_strobe_width(long deviceID, int *error_code, unsigned long width_micros)
DLL_DECL void odapi_set_integration_time_micros(long deviceID, int *error_code, unsigned long integration_time_micros)
DLL_DECL void odapi_set_scans_to_average(long deviceID, int *error_code, unsigned int scansToAverage)
DLL_DECL unsigned int odapi_get_scans_to_average(long deviceID, int *error_code)
DLL_DECL bool odapi_adv_network_conf_get_interface_status(long deviceID, int *errorCode, unsigned int interfaceIndex)
DLL_DECL void odapi_set_multicast_msg_send_retry(unsigned int retryCount)
DLL_DECL int odapi_get_number_of_device_ids()
DLL_DECL bool odapi_adv_tec_get_fan_enable(long deviceID, int *error_code)
DLL_DECL void odapi_adv_reset_device(long deviceID, int *error_code)
DLL_DECL unsigned long odapi_adv_get_single_strobe_cycle_maximum(long deviceID, int *error_code)
DLL_DECL void odapi_adv_set_continuous_strobe_period_micros(long deviceID, int *error_code, unsigned long period_micros)
DLL_DECL int odapi_get_device_ids(long *ids, unsigned int max_ids)
DLL_DECL unsigned long odapi_get_maximum_integration_time_micros(long deviceID, int *error_code)
DLL_DECL unsigned short int odapi_adv_get_revision_fpga(long deviceID, int *error_code, char *buffer, int length)
DLL_DECL void odapi_adv_network_conf_set_multicast_group_enabled(long deviceID, int *errorCode, unsigned int interfaceIndex, bool enable)
DLL_DECL unsigned char odapi_adv_light_source_has_enable(long deviceID, int *error_code, int light_source_index)
DLL_DECL int odapi_adv_get_autonull_saturation_level(long deviceID, int *error_code)
DLL_DECL void odapi_adv_ipv4_get_default_gateway_ip_address(long deviceID, int *errorCode, unsigned char ifNum, unsigned char *outIpAddress, int ipAddressLength)
DLL_DECL void odapi_adv_set_manual_network_configuration(long deviceID, int *errorCode, unsigned char *ipv4Address, unsigned int ipv4AddressSize, unsigned char *subnetMask, unsigned int subnetMaskSize, unsigned char *defaultGateway, unsigned int defaultGatewaySize, unsigned char *dnsServer, unsigned int dnsServerSize)
Definition Advance.h:67
Definition OceanDirectAPI.h:153
virtual int getElectricDarkPixelCount(long deviceID, int *errorCode)
virtual unsigned long getAcquisitionDelayMinimumMicroseconds(long deviceID, int *errorCode)
virtual int getWavelengthCoefficients(long deviceID, int *errorCode, double *coeff, int length)
virtual long addTCPIPv4OBP2DeviceLocation(const char *deviceTypeName, std::string ipAddr, int port, int *errorCode)
virtual int getNonlinearityCorrectedSpectrum(long deviceID, int *errorCode, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
static OceanDirectAPI * instance
Definition OceanDirectAPI.h:1230
virtual long long int getTime(long deviceID, int *errorCode)
virtual void applyNonLinearityCorrection(long deviceID, int *errorCode, bool value)
virtual int getNonlinearityCorrectedSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
void setMulticastMsgResponseReadDelay(size_t delayMs)
virtual void setTriggerMode(long deviceID, int *errorCode, int mode)
virtual unsigned int getScansToAverage(long deviceID, int *errorCode)
virtual int getSerialNumber(long deviceID, int *errorCode, char *buffer, int bufferLength)
virtual unsigned char getDeviceEndpoint(long deviceID, int *error_code, usbEndpointType endpointType)
virtual IDevice * getDeviceByID(long id)
virtual int getFormattedSpectrum(long deviceID, int *errorCode, double *buffer, int bufferLength)
virtual void setAcquisitionDelayMicroseconds(long deviceID, int *errorCode, unsigned long delayMicroseconds)
virtual int getDarkCorrectedSpectrum(long deviceID, int *errorCode, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
virtual void setTime(long deviceID, int *errorCode, long long int timeInMicrosecond)
virtual int getTriggerMode(long deviceID, int *errorCode)
virtual int getNetworkDeviceIDs(long *ids, unsigned long maxLength)
virtual int getDeviceModelText(long deviceID, int *errorCode, char *buffer, unsigned int bufferLength)
virtual int getIndexAtWavelength(long deviceID, int *errorCode, double &wavelength, double approxWavelength)
virtual int getDarkCorrectedSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
virtual void getAPIRCNumber(unsigned int *candidate)
virtual int getStoredDarkSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength)
virtual long addTCPIPv4DeviceLocation(const char *deviceTypeName, std::string ipAddr, int port, int *errorCode)
virtual void closeDevice(long deviceID, int *errorCode)
virtual unsigned long getMinimumAveragingIntegrationTimeMicros(long deviceID, int *errorCode)
virtual void getAPIVersionNumber(unsigned int *major, unsigned int *minor, unsigned int *point)
virtual int getDeviceIDs(long *ids, unsigned long maxLength)
void setMulticastMsgSendRetry(size_t retryCount)
virtual bool electricDarkCorrectionUsage(long deviceID, int *errorCode)
virtual int getDeviceType(long deviceID, int *errorCode, char *buffer, unsigned int length)
virtual unsigned long getAcquisitionDelayMaximumMicroseconds(long deviceID, int *errorCode)
virtual void addRS232DeviceLocation(char *deviceTypeName, char *deviceBusPath, unsigned int baud, int *errorCode)
virtual bool isFeatureEnabled(long deviceId, int *errorCode, FeatureId featureId)
virtual int getErrorStringLength(int errorCode)
virtual void setScansToAverage(long deviceID, int *errorCode, unsigned int scansToAverage)
virtual int getElectricDarkPixelIndices(long deviceID, int *errorCode, int *indices, int length)
virtual int getIndicesAtAnyWavelength(long deviceID, int *errorCode, int *indices, int indicesLength, double *wavelength, int wavelengthLength)
void setMulticastMsgResponseReadRetry(size_t retryCount)
virtual unsigned short int getBoxcarWidth(long deviceID, int *errorCode)
virtual unsigned char getSerialNumberMaximumLength(long deviceID, int *errorCode)
virtual int getWavelengths(long deviceID, int *errorCode, double *wavelengths, int length)
virtual Advance * AdvancedControl()
virtual void applyElectricDarkCorrection(long deviceID, int *errorCode, bool value)
virtual unsigned long getAcquisitionDelayMicroseconds(long deviceID, int *errorCode)
virtual void openDevice(long deviceID, int *errorCode)
virtual unsigned long getIntegrationTimeMicros(long deviceID, int *errorCode)
virtual int darkCorrectSpectrum(long deviceID, int *errorCode, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
virtual void setBoxcarWidth(long deviceID, int *errorCode, unsigned short int boxcarWidth)
virtual int getErrorMessage(int errorCode, char *returnMessage, int length)
virtual int nonlinearityCorrectSpectrum(long deviceID, int *errorCode, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
virtual unsigned long getAcquisitionDelayIncrementMicroseconds(long deviceID, int *errorCode)
virtual bool nonLinearityCorrectionUsage(long deviceID, int *errorCode)
virtual int darkCorrectSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *darkCorrectedSpectrum, int darkCorrectedSpectrumLength)
virtual std::string getDeviceModel(long deviceID, int *errorCode, int index)
virtual void setIntegrationTimeMicros(long deviceID, int *errorCode, unsigned long integrationTimeMicros)
void boxcarCorrectSpectrum(long deviceID, int *errorCode, const double *illuminatedSpectrum, unsigned int illuminatedSpectrumLength, unsigned int boxcarWidth, double *boxcarCorrectedSpectrum, unsigned int boxcarCorrectedSpectrumLength)
virtual int getFormattedSpectrumLength(long deviceID, int *errorCode)
virtual int nonlinearityCorrectSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength, double *illuminatedSpectrum, int illuminatedSpectrumLength, double *nonlinearityCorrectedSpectrum, int nonlinearityCorrectedSpectrumLength)
virtual void setStoredDarkSpectrum(long deviceID, int *errorCode, double *darkSpectrum, int darkSpectrumLength)
virtual unsigned long getIntegrationTimeIncrementMicros(long deviceID, int *errorCode)
virtual int getRawSpectrumWithMetadata(long deviceID, int *errorCode, SpectrumWithMetadata *buffer, int bufferLength)
virtual int addNetworkDevice(const char *ipAddressStr, const char *deviceTypeStr, int *errorCode)
virtual double getMaximumIntensity(long deviceID, int *errorCode)
virtual int getIndicesAtWavelengthRange(long deviceID, int *errorCode, int *indices, int indicesLength, double *wavelengthLength, int wavelengthSize, double lo, double hi)
static OceanDirectAPI * getInstance()
virtual unsigned long getMaximumIntegrationTimeMicros(long deviceID, int *errorCode)
virtual unsigned long getMinimumIntegrationTimeMicros(long deviceID, int *errorCode)
This is an interface to OceanDirect that allows the user to connect to devices over USB and other bus...
Definition OceanDirectAPI.h:147