34#ifndef OCEAN_DIRECT_API_H
35#define OCEAN_DIRECT_API_H
37#include "api/DllDecl.h"
38#include "api/FeatureIds.h"
39#include "common/public/UsbEndpoint.h"
45#include "common/devices/IDevice.h"
47#include "common/public/SpectrumWithMetadata.h"
309 virtual int addNetworkDevice(
const char* ipAddressStr,
const char* deviceTypeStr,
int* errorCode);
335 virtual int getDeviceType(
long deviceID,
int *errorCode,
char *buffer,
unsigned int length);
350 virtual int getDeviceModelText(
long deviceID,
int *errorCode,
char *buffer,
unsigned int bufferLength);
363 virtual unsigned char getDeviceEndpoint(
long deviceID,
int *error_code, usbEndpointType endpointType);
398 virtual int getSerialNumber(
long deviceID,
int *errorCode,
char *buffer,
int bufferLength);
492 virtual long long int getTime(
long deviceID,
int *errorCode);
507 virtual void setTime(
long deviceID,
int *errorCode,
long long int timeInMicrosecond);
524 virtual int getWavelengths(
long deviceID,
int *errorCode,
double *wavelengths,
int length);
760 double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
776 virtual int darkCorrectSpectrum(
long deviceID,
int* errorCode,
double* illuminatedSpectrum,
int illuminatedSpectrumLength,
777 double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
796 virtual int getDarkCorrectedSpectrum(
long deviceID,
int* errorCode,
double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
812 virtual int darkCorrectSpectrum(
long deviceID,
int* errorCode,
double* darkSpectrum,
int darkSpectrumLength,
double* illuminatedSpectrum,
813 int illuminatedSpectrumLength,
double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
834 double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
853 int illuminatedSpectrumLength,
double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
874 int nonlinearityCorrectedSpectrumLength);
892 int illuminatedSpectrumLength,
double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
907 void boxcarCorrectSpectrum(
long deviceID,
int* errorCode,
const double* illuminatedSpectrum,
unsigned int illuminatedSpectrumLength,
908 unsigned int boxcarWidth,
double* boxcarCorrectedSpectrum,
unsigned int boxcarCorrectedSpectrumLength);
981 virtual void setBoxcarWidth(
long deviceID,
int* errorCode,
unsigned short int boxcarWidth);
1136 double lo,
double hi);
1157 virtual int getIndicesAtAnyWavelength(
long deviceID,
int *errorCode,
int *indices,
int indicesLength,
double *wavelength,
int wavelengthLength);
1198 friend class OceanDirectAdminAPI;
1199 friend class NetOceanDirectAdmin;
1201 static constexpr int OBP1_TCP_IP_PORT = 57357;
1202 static constexpr int OBP2_TCP_IP_PORT = 57350;
1203 friend class InstrumentedOceanDirectAPI;
1226 int port,
int* errorCode);
1237 static std::shared_ptr<std::ofstream> logFile;
1239 static void shutdownInstrumentation();
1240 int probeInstrumentedDevices();
1242 static constexpr int TCP_IP_PORT = 57357;
1243 static size_t multicastMsgSendRetry;
1244 static size_t multicastMsgResponseReadRetry;
1245 static size_t multicastMsgResponseReadDelay;
1340 unsigned int baud,
int* errorCode);
1520 char *buffer,
unsigned int length);
1540 char *buffer,
unsigned int length);
1556 DLL_DECL
unsigned char
1573 DLL_DECL
unsigned char
1590 DLL_DECL
unsigned char
1607 DLL_DECL
unsigned char
1624 DLL_DECL
unsigned char
1682 DLL_DECL
unsigned char
1703 DLL_DECL
long long int
1963 int *error_code,
unsigned long integration_time_micros);
1983 DLL_DECL
unsigned long
2008 DLL_DECL
unsigned long
2026 DLL_DECL
unsigned long
2050 DLL_DECL
unsigned long
2069 DLL_DECL
unsigned long
2113 long long int *tick_count,
int tick_count_size);
2157 double* buffer,
int buffer_length);
2207 double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
2224 double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
2260 int illuminatedSpectrumLength,
double* darkCorrectedSpectrum,
int darkCorrectedSpectrumLength);
2281 double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
2300 int illuminatedSpectrumLength,
double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
2321 int nonlinearityCorrectedSpectrumLength);
2339 int illuminatedSpectrumLength,
double* nonlinearityCorrectedSpectrum,
int nonlinearityCorrectedSpectrumLength);
2355 unsigned int boxcarWidth,
double* boxcarCorrectedSpectrum,
unsigned int boxcarCorrectedSpectrumLength);
2559 double *wavelength,
int wavelengthLength,
double lo,
double hi);
2723 DLL_DECL
unsigned char
2725 int light_source_index);
2746 DLL_DECL
unsigned char
2748 int light_source_index);
2773 int light_source_index,
unsigned char enable);
2861 unsigned char enable);
2881 unsigned long delay_micros);
2901 unsigned long width_micros);
2937 DLL_DECL
unsigned long
2954 DLL_DECL
unsigned long
3066 DLL_DECL
unsigned long
3084 DLL_DECL
unsigned long
3100 DLL_DECL
unsigned long
3117 DLL_DECL
unsigned long
3134 DLL_DECL
unsigned long
3150 DLL_DECL
unsigned long
3166 DLL_DECL
unsigned long
3182 DLL_DECL
unsigned long
3214 DLL_DECL
unsigned long
3230 DLL_DECL
unsigned long
3246 DLL_DECL
unsigned long
3263 DLL_DECL
unsigned long
3391 double temperature_degrees_celsius);
4305 unsigned char *ipAddress,
int ipAddressLength,
unsigned int *netmask);
4326 unsigned char *ipAddress,
int ipAddressLength,
unsigned int netmask);
4363 unsigned char* ipAddress,
int ipAddressLength);
4384 unsigned char* outIpAddress,
int ipAddressLength);
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);
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);
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);
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 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 int detectNetworkDevices()
virtual ~OceanDirectAPI()
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 getNumberOfDeviceIDs()
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 probeDevices()
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