OceanDirectLighthouse  3.1.1
OceanDirect Lighthouse C++/C API
oceandirect::api::LighthouseAPI Class Reference

Public Member Functions

virtual lh_device_id_t addNetworkDevices (const char ipAddressStr[], const char deviceTypeStr[], lh_error_code_t *errorCode)
 
virtual LHAutoNullingAPIAutoNulling ()
 
void boxcarCorrectSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float illuminatedSpectrum[], size_t illuminatedSpectrumLength, lh_boxcar_width_t boxcarWidth, float boxcarCorrectedSpectrum[], size_t boxcarCorrectedSpectrumLength)
 
virtual void closeDevice (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t darkCorrectSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength, const float illuminatedSpectrum[], size_t illuminatedSpectrumLength, float darkCorrectedSpectrum[], size_t darkCorrectedSpectrumLength)
 
virtual size_t darkCorrectSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float illuminatedSpectrum[], size_t illuminatedSpectrumLength, float darkCorrectedSpectrum[], size_t darkCorrectedSpectrumLength)
 
virtual LHDeviceInformationAPIDeviceInformation ()
 
virtual LHFlashAPIFlash ()
 
virtual LHGainModeAPIGainMode ()
 
virtual lh_microseconds_t getAcquisitionDelay (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getAcquisitionDelayIncrement (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getAcquisitionDelayMaximum (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getAcquisitionDelayMinimum (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual void getAPIRCNumber (uint32_t &candidate)
 
virtual void getAPIVersionNumber (uint32_t &major, uint32_t &minor, uint32_t &point)
 
virtual lh_boxcar_width_t getBoxcarWidth (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getDarkCorrectedSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength, float darkCorrectedSpectrum[], size_t darkCorrectedSpectrumLength)
 
virtual size_t getDarkCorrectedSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, float darkCorrectedSpectrum[], size_t darkCorrectedSpectrumLength)
 
virtual size_t getDeviceIDs (lh_device_id_t ids[], size_t idsLength)
 
virtual size_t getDeviceType (lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
 
virtual lh_enable_state_t getElectricDarkCorrectionState (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getErrorMessage (lh_error_code_t errorCode, char message[], size_t messageLength)
 
virtual size_t getErrorMessageLength (lh_error_code_t errorCode)
 
virtual lh_microseconds_t getIntegrationTime (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getIntegrationTimeIncrement (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getMaximumIntegrationTime (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_pixel_intensity_t getMaximumIntensity (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getMinimumAveragingIntegrationTime (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual lh_microseconds_t getMinimumIntegrationTime (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getNetworkDeviceIDs (lh_device_id_t ids[], size_t idsLength)
 
virtual size_t getNonlinearityCorrectedSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
 
virtual size_t getNonlinearityCorrectedSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
 
virtual lh_enable_state_t getNonLinearityCorrectionState (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getNumberOfDeviceIDs ()
 
virtual lh_scan_averaging_t getScansToAverage (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, float buffer[], size_t bufferLength)
 
virtual size_t getSpectrumLength (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getSpectrumWithMetadata (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_spectrum_with_metadata_t &spectrum)
 
virtual size_t getStoredDarkSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, float darkSpectrum[], size_t darkSpectrumLength)
 
virtual lh_trigger_mode_t getTriggerMode (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t getWavelengthCoefficients (lh_device_id_t deviceID, lh_error_code_t *errorCode, float coeff[], size_t coeffLength)
 
virtual size_t getWavelengths (lh_device_id_t deviceID, lh_error_code_t *errorCode, float wavelengths[], size_t wavelengthsLength)
 
virtual LHGpioAPIGpio ()
 
virtual LHLampAPILamp ()
 
virtual LHLedAPILed ()
 
virtual LHNetworkConfigurationAPINetwork ()
 
virtual LHNonlinearityAPINonlinearity ()
 
virtual size_t nonlinearityCorrectSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength, const float illuminatedSpectrum[], size_t illuminatedSpectrumLength, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
 
virtual size_t nonlinearityCorrectSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float illuminatedSpectrum[], size_t illuminatedSpectrumLength, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
 
virtual void openDevice (lh_device_id_t deviceID, lh_error_code_t *errorCode)
 
virtual size_t probeAllDevices ()
 
virtual size_t probeNetworkDevices ()
 
virtual size_t probeUsbDevices ()
 
virtual LHSensorAPISensorInformation ()
 
virtual LHSerialPortAPISerialPort ()
 
virtual void setAcquisitionDelay (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
 
virtual void setBoxcarWidth (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_boxcar_width_t boxcarWidth)
 
virtual void setElectricDarkCorrectionState (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
 
virtual void setIntegrationTime (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
 
virtual void setMulticastMsgResponseReadDelay (lh_milliseconds_t milliseconds)
 
virtual void setMulticastMsgResponseReadRetry (size_t retryCount)
 
virtual void setMulticastMsgSendRetry (size_t retryCount)
 
virtual void setNonLinearityCorrectionState (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
 
virtual void setScansToAverage (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_scan_averaging_t scansToAverage)
 
virtual void setStoredDarkSpectrum (lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength)
 
virtual void setTriggerMode (lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_trigger_mode_t mode)
 
virtual LHShutterAPIShutter ()
 
virtual LHStrobeAPIStrobe ()
 
virtual LHThermoelectricAPIThermoelectric ()
 
virtual LHUserStringAPIUserString ()
 

Static Public Member Functions

static LighthouseAPIgetInstance ()
 
static void shutdown ()
 

Friends

class InstrumentedLighthouseAPI
 
class NetLighthouseAdmin
 

Member Function Documentation

◆ addNetworkDevices()

virtual lh_device_id_t oceandirect::api::LighthouseAPI::addNetworkDevices ( const char  ipAddressStr[],
const char  deviceTypeStr[],
lh_error_code_t *  errorCode 
)
virtual

.addNetworkDevices Manually create an instance of the network attached device and then open it using the openDevice() function. It is the responsiblitiy of the user to ensure that the device exists and is configured properly. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Parameters
ipAddressStrThe ip address of the device to be opened.
deviceTypeStrThe device type. This is case sensitive.
errorCodesee LHErrorCode
Returns
The device id of the device.

◆ AutoNulling()

virtual LHAutoNullingAPI* oceandirect::api::LighthouseAPI::AutoNulling ( )
virtual

.AutoNulling Return a pointer to the API that queries device autonulling i.e. the maximum value returned by the sensor ADC, the intensity that the sensor saturates at and the baseline (offset from zero) intensity.

Returns
a pointer to the autonulling API.

◆ boxcarCorrectSpectrum()

void oceandirect::api::LighthouseAPI::boxcarCorrectSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  illuminatedSpectrum[],
size_t  illuminatedSpectrumLength,
lh_boxcar_width_t  boxcarWidth,
float  boxcarCorrectedSpectrum[],
size_t  boxcarCorrectedSpectrumLength 
)

.boxcarCorrectSpectrum Apply a boxcar smoothing on the given illuminated spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
illuminatedSpectrumThe spectrum that will be boxcar corrected.
illuminatedSpectrumLengthThe actual size of the spectrum.
boxcarWidthThe boxcar width.
boxcarCorrectedSpectrumThe output spectrum that were boxcar corrected.
boxcarCorrectedSpectrumLengthThe actual size of the spectrum corrected buffer.

◆ closeDevice()

virtual void oceandirect::api::LighthouseAPI::closeDevice ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.closeDevice This will attempt to close the bus connection to the device with the given ID. The id becomes invalid after closing the device. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode

◆ darkCorrectSpectrum() [1/2]

virtual size_t oceandirect::api::LighthouseAPI::darkCorrectSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  darkSpectrum[],
size_t  darkSpectrumLength,
const float  illuminatedSpectrum[],
size_t  illuminatedSpectrumLength,
float  darkCorrectedSpectrum[],
size_t  darkCorrectedSpectrumLength 
)
virtual

.darkCorrectSpectrum2 Dark correct a previously acquired illuminated spectrum using a previously acquired dark spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be used for the dark correction.
darkSpectrumLengththe actual size of the dark spectrum buffer.
illuminatedSpectrumthe buffer that contains the illuminated spectrum to be corrected.
illuminatedSpectrumLengththe actual size of the illuminated spectrum buffer.
darkCorrectedSpectrumthe buffer that will receive the dark corrected spectrum.
darkCorrectedSpectrumLengththe actual size of the dark corrected buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ darkCorrectSpectrum() [2/2]

virtual size_t oceandirect::api::LighthouseAPI::darkCorrectSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  illuminatedSpectrum[],
size_t  illuminatedSpectrumLength,
float  darkCorrectedSpectrum[],
size_t  darkCorrectedSpectrumLength 
)
virtual

.darkCorrectSpectrum1 Dark correct a previously acquired illuminated spectrum using a stored dark spectrum.

See also
setStoredDarkSpectrum.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
illuminatedSpectrumthe buffer that contains the illuminated spectrum to be corrected.
illuminatedSpectrumLengththe actual size of the illuminated spectrum buffer.
darkCorrectedSpectrumthe buffer that will receive the dark corrected spectrum.
darkCorrectedSpectrumLengththe actual size of the dark corrected buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ DeviceInformation()

virtual LHDeviceInformationAPI* oceandirect::api::LighthouseAPI::DeviceInformation ( )
virtual

.DeviceInformation Return a pointer to the API that provides device information. This API gives information about e.g. devices firmware version, USB vendor and product IDs, device serial number.

Returns
a pointer to the device information API.

◆ Flash()

virtual LHFlashAPI* oceandirect::api::LighthouseAPI::Flash ( )
virtual

.Flash Return a pointer to the flash API.

Returns
a pointer to the flash API.

◆ GainMode()

virtual LHGainModeAPI* oceandirect::api::LighthouseAPI::GainMode ( )
virtual

.GainMode Return a pointer to the sensor gain mode API on devices where this is available.

Returns
a pointer to the sensor gain mode API.

◆ getAcquisitionDelay()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getAcquisitionDelay ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getAcquisitionDelay Get the acquisition delay period in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the acquisition delay period in microseconds or 0 on error.

◆ getAcquisitionDelayIncrement()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getAcquisitionDelayIncrement ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getAcquisitionDelayIncrement Get the acquisition delay period increment in microseconds. The increment is the minimum difference (in microseconds) between two adjacent, valid acquisition delay periods.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the acquisition delay period increment in microseconds or 0 on error.

◆ getAcquisitionDelayMaximum()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getAcquisitionDelayMaximum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getAcquisitionDelayMaximum Get the maximum valid acquisition delay period in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the maximum acquisition delay period in microseconds or 0 on error.

◆ getAcquisitionDelayMinimum()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getAcquisitionDelayMinimum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getAcquisitionDelayMinimum Get the minimum valid acquisition delay period in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the minimum acquisition delay period in microseconds or 0 on error.

◆ getAPIVersionNumber()

virtual void oceandirect::api::LighthouseAPI::getAPIVersionNumber ( uint32_t &  major,
uint32_t &  minor,
uint32_t &  point 
)
virtual

.getAPIVersionNumber Return the major, minor and point API release version numbers.

Parameters
majorthe major software version number.
minorthe minor software version number.
pointthe point software version number.

◆ getBoxcarWidth()

virtual lh_boxcar_width_t oceandirect::api::LighthouseAPI::getBoxcarWidth ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getBoxcarWidth Get the width of the boxcar smoothing to be applied to the returned spectrum. When this value has been set greater than 0, boxcar smoothing (a moving average) is applied to the spectrum returned by getFormattedSpectrum (or getRawSpectrumWithMetadata). The width specified is the number of pixels either side of the central pixel of the average i.e. if the result of this function is n, the "full width" of the smoothing is 2*n+1.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the width of the smoothing to be applied per returned spectrum or 0 on error.

◆ getDarkCorrectedSpectrum() [1/2]

virtual size_t oceandirect::api::LighthouseAPI::getDarkCorrectedSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  darkSpectrum[],
size_t  darkSpectrumLength,
float  darkCorrectedSpectrum[],
size_t  darkCorrectedSpectrumLength 
)
virtual

.getDarkCorrectedSpectrum2 Acquire a spectrum and use the supplied dark spectrum to perform a dark correction then return the dark corrected spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be used for the dark correction.
darkSpectrumLengththe actual size of the dark spectrum buffer.
darkCorrectedSpectrumthe buffer that will receive the dark corrected spectrum.
darkCorrectedSpectrumLengththe actual size of the dark correction buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ getDarkCorrectedSpectrum() [2/2]

virtual size_t oceandirect::api::LighthouseAPI::getDarkCorrectedSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  darkCorrectedSpectrum[],
size_t  darkCorrectedSpectrumLength 
)
virtual

.getDarkCorrectedSpectrum1 Acquire a spectrum and use the previously stored dark spectrum to perform a dark correction then return the dark corrected spectrum.

See also
setStoredDarkSpectrum.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkCorrectedSpectrumthe buffer that will receive the dark corrected spectrum.
darkCorrectedSpectrumLengththe actual size of the dark corrected buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ getDeviceIDs()

virtual size_t oceandirect::api::LighthouseAPI::getDeviceIDs ( lh_device_id_t  ids[],
size_t  idsLength 
)
virtual

.getDeviceIDs This provides a unique ID of each device that is detected or specified. The IDs are copied into the user-provided buffer. These IDs are weak references: attempting to access a device that no longer exists will cause an error value to be returned. A given ID will always refer to the same device until the device is closed or the shutdown method is called. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Parameters
idsthe buffer to receive the device IDs.
idsLengththe actual size of the array ids.
Returns
the number of device IDs actually copied into the array or 0 on error or if no devices have been found.

◆ getDeviceType()

virtual size_t oceandirect::api::LighthouseAPI::getDeviceType ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
char  buffer[],
size_t  bufferLength 
)
virtual

.getDeviceType Get a string that describes the type of device.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode
buffera character buffer to receive the device type string.
bufferLengththe length of the supplied buffer.
Returns
the actual length of the device type string returned on success or 0 on error.

◆ getElectricDarkCorrectionState()

virtual lh_enable_state_t oceandirect::api::LighthouseAPI::getElectricDarkCorrectionState ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getElectricDarkCorrectionState

Deprecated:
Determine if automatic electric dark correction to the acquired spectra is on or off.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
"on." if automatic electric dark correction is turned on, "off" otherwise (or on error).

◆ getErrorMessage()

virtual size_t oceandirect::api::LighthouseAPI::getErrorMessage ( lh_error_code_t  errorCode,
char  message[],
size_t  messageLength 
)
virtual

.getErrorMessage Get error message associated with the given error code. If the error code is incorrect then the return message will be "Error. Undefined error".

Parameters
errorCodeThe error code.
messageThe output buffer.
messageLengthoutput buffer length.
Returns
The number of characters copied into the output buffer or 0 on error.

◆ getErrorMessageLength()

virtual size_t oceandirect::api::LighthouseAPI::getErrorMessageLength ( lh_error_code_t  errorCode)
virtual

.getErrorMessageLength Get error message length associated with the given error code. If the error code is incorrect then the return message length will be 0.

Parameters
errorCodesee LHErrorCode.
Returns
the size of the error message associated with the supplied error code.

◆ getInstance()

static LighthouseAPI* oceandirect::api::LighthouseAPI::getInstance ( )
static

.getInstance The API is a singleton and has no public constructor. To use this class you must first call getInstance() to return a pointer/reference to the API. a pointer to the API that can be used to access the API methods.

◆ getIntegrationTime()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getIntegrationTime ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getIntegrationTime Get the current device integration time in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the current integration time in microseconds or 0 on error.

◆ getIntegrationTimeIncrement()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getIntegrationTimeIncrement ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getIntegrationTimeIncrement Get the device integration time increment in microseconds. Some devices may only allow the integration time to be changed in multiples of this increment value.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the integration time increment in microseconds or 0 on error.

◆ getMaximumIntegrationTime()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getMaximumIntegrationTime ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getMaximumIntegrationTime Get maximum device integration time in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the maximum integration time in microseconds, or 0 on error.

◆ getMaximumIntensity()

virtual lh_pixel_intensity_t oceandirect::api::LighthouseAPI::getMaximumIntensity ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getMaximumIntensity Get max intensity (in counts) that can be returned in any pixel.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the maximum pixel intensity or 0 on error.

◆ getMinimumAveragingIntegrationTime()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getMinimumAveragingIntegrationTime ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getMinimumAveragingIntegrationTime Get minimum integration time in microseconds when averaging is enabled.

Note
some devices that make use of onboard functionality to perform averaging have a different, larger, minimum integration time for acquisition when averaging is enabled. Refer to the documentation for your spectrometer to see if this is the case. The minimum integration time when averaging is not enabled can be determined using getMinimumIntegrationTime.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the minimum integration time in microseconds with averaging enabled, or 0 on error.

◆ getMinimumIntegrationTime()

virtual lh_microseconds_t oceandirect::api::LighthouseAPI::getMinimumIntegrationTime ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getMinimumIntegrationTime Get minimum device integration time in microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the minimum integration time in microseconds for acquisition with no averaging or 0 on error.

◆ getNetworkDeviceIDs()

virtual size_t oceandirect::api::LighthouseAPI::getNetworkDeviceIDs ( lh_device_id_t  ids[],
size_t  idsLength 
)
virtual

.getNetworkDeviceIDs This provides a unique ID of each network attached device that is detected or manually specified. The IDs are copied into the user-provided buffer. These IDs are weak references: attempting to access a device that no longer exists will cause an error value to be returned. A given ID will always refer to the same device until the device is closed or the shutdown method is called. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Parameters
idsthe buffer to receive the device IDs.
idsLengththe actual size of the array ids.
Returns
the number of device IDs actually copied into the array or 0 on error.

◆ getNonlinearityCorrectedSpectrum() [1/2]

virtual size_t oceandirect::api::LighthouseAPI::getNonlinearityCorrectedSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  darkSpectrum[],
size_t  darkSpectrumLength,
float  nonlinearityCorrectedSpectrum[],
size_t  nonlinearityCorrectedSpectrumLength 
)
virtual

.getNonlinearityCorrectedSpectrum2 Acquire a spectrum and use the supplied dark spectrum to perform a dark correction followed by the nonlinearity correction then return the nonlinearity corrected spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be used for the dark correction.
darkSpectrumLengththe actual size of the dark spectrum buffer.
nonlinearityCorrectedSpectrumthe buffer that will receive the nonlinearity corrected spectrum.
nonlinearityCorrectedSpectrumLengththe actual size of the nonlinearity correction buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ getNonlinearityCorrectedSpectrum() [2/2]

virtual size_t oceandirect::api::LighthouseAPI::getNonlinearityCorrectedSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  nonlinearityCorrectedSpectrum[],
size_t  nonlinearityCorrectedSpectrumLength 
)
virtual

.getNonlinearityCorrectedSpectrum1 Acquire a spectrum and use the previously stored dark spectrum to perform a dark correction followed by a nonlinearity correction then return the nonlinearity corrected spectrum.

See also
setStoredDarkSpectrum.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
nonlinearityCorrectedSpectrumthe buffer that will receive the nonlinearity corrected spectrum.
nonlinearityCorrectedSpectrumLengththe actual size of the nonlinearity correction buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ getNonLinearityCorrectionState()

virtual lh_enable_state_t oceandirect::api::LighthouseAPI::getNonLinearityCorrectionState ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getNonLinearityCorrectionState

Deprecated:
Determine if automatic nonlinearity correction is on or off.
See also
setNonLinearityCorrectionState
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
"on" if automatic nonlinearity correction is turned on, "off" otherwise (or on error).

◆ getNumberOfDeviceIDs()

virtual size_t oceandirect::api::LighthouseAPI::getNumberOfDeviceIDs ( )
virtual

.getNumberOfDeviceIDs This provides the total number of devices that have either been probed or manually specified. Devices are not opened automatically, but this can provide an upper bound for the number of IDs returned by getDeviceIDs(). Note that this should only be done by one thread at a time.

Returns
the total number of devices, both specified and probed.

◆ getScansToAverage()

virtual lh_scan_averaging_t oceandirect::api::LighthouseAPI::getScansToAverage ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getScansToAverage Get the number of spectra to be averaged per returned spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the number of spectra to be averaged per returned spectrum or 0 on error.

◆ getSpectrum()

virtual size_t oceandirect::api::LighthouseAPI::getSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  buffer[],
size_t  bufferLength 
)
virtual

.getSpectrum Get a spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
bufferthe buffer that will receive the spectrum.
bufferLengththe actual size of the buffer.
Returns
the actual number of pixels copied into buffer or 0 on error.

◆ getSpectrumLength()

virtual size_t oceandirect::api::LighthouseAPI::getSpectrumLength ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getSpectrumLength Get spectrum length i.e. the number of pixels in the spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the size of the spectrum or 0 on error.

◆ getSpectrumWithMetadata()

virtual size_t oceandirect::api::LighthouseAPI::getSpectrumWithMetadata ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_spectrum_with_metadata_t &  spectrum 
)
virtual

.getSpectrumWithMetadata Get spectrum with meta-data.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
spectrumthe buffer that will receive the formatted spectrum. Note: the buffer should have sufficient memory allocated to receive the number of pixels in the resulting spectrum; a smaller memory allocation will result in a partial spectrum being returned.
Returns
the actual number of pixels copied into buffer or 0 on error.

◆ getStoredDarkSpectrum()

virtual size_t oceandirect::api::LighthouseAPI::getStoredDarkSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  darkSpectrum[],
size_t  darkSpectrumLength 
)
virtual

.getStoredDarkSpectrum Retrieve a previously stored dark spectrum for use in subsequent corrections i.e. dark correction and nonlinearity correction.

See also
setStoredDarkSpectrum.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be retrieved.
darkSpectrumLengththe actual size of the dark buffer.
Returns
the actual number of pixels copied into the buffer.

◆ getTriggerMode()

virtual lh_trigger_mode_t oceandirect::api::LighthouseAPI::getTriggerMode ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.getTriggerMode Get the spectrometer trigger mode (software, edge or level).

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
Returns
the current trigger mode being used by the device or "software" on error.

◆ getWavelengthCoefficients()

virtual size_t oceandirect::api::LighthouseAPI::getWavelengthCoefficients ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  coeff[],
size_t  coeffLength 
)
virtual

.getWavelengthCoefficients Get the coefficients of the polynomial used to calculate the wavelengths.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
coeffan array to receive the coefficient values.
coeffLengththe actual length of the supplied coefficients array.
Returns
the actual number of coefficients copied into the coefficients array or 0 on error.

◆ getWavelengths()

virtual size_t oceandirect::api::LighthouseAPI::getWavelengths ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
float  wavelengths[],
size_t  wavelengthsLength 
)
virtual

.getWavelengths Get the wavelengths (in nanometres) for each pixel of the specified device.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
wavelengthsan array to receive the wavelength values.
wavelengthsLengththe actual length of the supplied wavelengths array.
Returns
the actual number of wavelengths copied into the wavelengths array or 0 on error.

◆ Gpio()

virtual LHGpioAPI* oceandirect::api::LighthouseAPI::Gpio ( )
virtual

.Gpio Return a pointer to the API that controls GPIO functionality e.g. setting the direction of GPIO pins and setting output and reading input values.

Returns
a pointer to the GPIO API.

◆ Lamp()

virtual LHLampAPI* oceandirect::api::LighthouseAPI::Lamp ( )
virtual

.Lamp Return a pointer to the "lamp" functionality e.g. turning the lamp pin on or off.

Returns
a pointer to the lamp API.

◆ Led()

virtual LHLedAPI* oceandirect::api::LighthouseAPI::Led ( )
virtual

.Led Return a pointer to the API that controls the device LED functions e.g. turn the LED on or off.

Returns
a pointer to the LED API.

◆ Network()

virtual LHNetworkConfigurationAPI* oceandirect::api::LighthouseAPI::Network ( )
virtual

.Network Return a pointer to the API that configures/queries the Ethernet network configuration on devices where it is available.

Returns
a pointer to the network configuration API.

◆ Nonlinearity()

virtual LHNonlinearityAPI* oceandirect::api::LighthouseAPI::Nonlinearity ( )
virtual

.Nonlinearity Return a pointer to the API that controls the parameters used for nonlinearity correction of spectra.

Returns
a pointer to the nonlinearity correction configuration API.

◆ nonlinearityCorrectSpectrum() [1/2]

virtual size_t oceandirect::api::LighthouseAPI::nonlinearityCorrectSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  darkSpectrum[],
size_t  darkSpectrumLength,
const float  illuminatedSpectrum[],
size_t  illuminatedSpectrumLength,
float  nonlinearityCorrectedSpectrum[],
size_t  nonlinearityCorrectedSpectrumLength 
)
virtual

.nonlinearityCorrectSpectrum2 Nonlinearity correct a previously acquired illuminated spectrum after dark correction using a previously acquired dark spectrum.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be used prior to the nonlinearity correction.
darkSpectrumLengththe actual size of the dark spectrum buffer.
illuminatedSpectrumthe buffer that contains the illuminated spectrum to be corrected.
illuminatedSpectrumLengththe actual size of the illuminated spectrum buffer.
nonlinearityCorrectedSpectrumthe buffer that will receive the nonlinearity corrected spectrum.
nonlinearityCorrectedSpectrumLengththe actual size of the nonlinearity correction buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ nonlinearityCorrectSpectrum() [2/2]

virtual size_t oceandirect::api::LighthouseAPI::nonlinearityCorrectSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  illuminatedSpectrum[],
size_t  illuminatedSpectrumLength,
float  nonlinearityCorrectedSpectrum[],
size_t  nonlinearityCorrectedSpectrumLength 
)
virtual

.nonlinearityCorrectSpectrum1 Nonlinearity correct a previously acquired illuminated spectrum using a stored dark spectrum. This function performs a dark correction using a previously stored dark spectrum prior to performing the nonlinearity correction.

See also
setStoredDarkSpectrum
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
illuminatedSpectrumthe buffer that contains the illuminated spectrum to be corrected.
illuminatedSpectrumLengththe actual size of the illuminated spectrum buffer.
nonlinearityCorrectedSpectrumthe buffer that will receive the nonlinearity corrected spectrum.
nonlinearityCorrectedSpectrumLengththe actual size of the nonlinearity correction buffer.
Returns
the size of the returned corrected spectrum on success, or 0 on error.

◆ openDevice()

virtual void oceandirect::api::LighthouseAPI::openDevice ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode 
)
virtual

.openDevice This will attempt to open the bus connection to the device with the given ID. After the device is closed the id becomes invalid. You need to call either probeDevices()/addNetworkDevice()/detectNetworkDevices() and getDeviceIDs() in order to have a valid id before reopening the device again. For a network connected device this function may return an error code if the device is not yet ready to accept incoming connection or the device is unreachable. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode

◆ probeAllDevices()

virtual size_t oceandirect::api::LighthouseAPI::probeAllDevices ( )
virtual

.probeAllDevices Cause the driver to look for any device that can be found automatically (i.e. attached by USB and network devices). Until this method called then such devices will not be available for use. Before calling this function, you may want to adjust the multicast settings use for probing network devices. A subsequent call to getDeviceIDs is needed before a device can be "opened" and used. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

See also
probeUsbDevices()
probeNetworkDevices()
setMulticastMsgSendRetry()
setMulticastMsgResponseReadRetry()
setMulticastMsgResponseReadDelay()
Returns
the number of devices found.

◆ probeNetworkDevices()

virtual size_t oceandirect::api::LighthouseAPI::probeNetworkDevices ( )
virtual

.probeNetworkDevices This provides a way to find all Ethernet discoverable devices. Afterwards, a call to probeDevices is neccessary to grab the interface for opening and connecting to discovered device. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Returns
the number of detected network devices.

◆ probeUsbDevices()

virtual size_t oceandirect::api::LighthouseAPI::probeUsbDevices ( )
virtual

Cause the driver to look for any device that can be found automatically i.e. attached by USB. Until this is method called then such devices will not be available for use. A subsequent call to getDeviceIDs is needed before a device can be "opened" and used. Note that this should only be done by one thread at a time. For multithreaded application this function must be synchronized.

Returns
the number of USB devices.

◆ SensorInformation()

virtual LHSensorAPI* oceandirect::api::LighthouseAPI::SensorInformation ( )
virtual

.SensorInformation Return a pointer to the the API that provides sensor information e.g. the total number of pixels, the indices of optical dark pixels.

Returns
a pointer to the sensor information API.

◆ SerialPort()

virtual LHSerialPortAPI* oceandirect::api::LighthouseAPI::SerialPort ( )
virtual

.SerialPort Return a pointer to the API that configures the serial port e.g setting/getting the baud rate.

Returns
a pointer to the serial port API.

◆ setAcquisitionDelay()

virtual void oceandirect::api::LighthouseAPI::setAcquisitionDelay ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_microseconds_t  microseconds 
)
virtual

.setAcquisitionDelay Set the acquisition delay to the specified number of microseconds.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
microsecondsthe acquisition delay period in microseconds.

◆ setBoxcarWidth()

virtual void oceandirect::api::LighthouseAPI::setBoxcarWidth ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_boxcar_width_t  boxcarWidth 
)
virtual

.setBoxcarWidth Set the width of the boxcar smoothing to be applied to the returned spectrum. When this value is set greater than 0, boxcar smoothing (a moving average) is applied to the spectrum returned by getFormattedSpectrum (or getRawSpectrumWithMetadata). The width specified is the number of pixels either side of the central pixel of the average i.e. if the result of this function is n, the "full width" of the smoothing is 2*n+1. Setting this value to 0 turns off the boxcar smoothing.

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
boxcarWidththe width of the smoothing to be applied, or zero if smoothing is to be turned off.

◆ setElectricDarkCorrectionState()

virtual void oceandirect::api::LighthouseAPI::setElectricDarkCorrectionState ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_enable_state_t  state 
)
virtual

.setElectricDarkCorrectionState

Deprecated:
Toggle the "automatic" electric dark correction on or off for an acquired spectrum. This correction is applied automatically to any acquired spectrum when the function is turned on.
See also
setStoredDarkSpectrum
getStoredDarkSpectrum
getDarkCorrectedSpectrum
Warning
if electric dark correction is enabled using this function then some of the newer dark correction functionality e.g. getDarkCorrectedSpectrum may not be used at the same time.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
state"on" if electric dark correction is to be used, "off" otherwise.

◆ setIntegrationTime()

virtual void oceandirect::api::LighthouseAPI::setIntegrationTime ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_microseconds_t  microseconds 
)
virtual

.setIntegrationTime Set the current device integration time in microseconds.

Note
some devices that make use of onboard functionality to perform averaging have a different, larger, minimum integration time for acquisition when averaging is enabled. Refer to the documentation for your spectrometer to see if this is the case. The minimum integration time when averaging is enabled can be determined using getMinimumAveragingIntegrationTimeMicros.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
microsecondsthe desired integration time in microseconds.

◆ setMulticastMsgResponseReadDelay()

virtual void oceandirect::api::LighthouseAPI::setMulticastMsgResponseReadDelay ( lh_milliseconds_t  milliseconds)
virtual

.setMulticastMsgResponseReadDelay Set the delay between reading multicast response. This must be called before probing network devices.

See also
detectNetworkDevices()
Parameters
millisecondsThe delay in milliseconds before next read.

◆ setMulticastMsgResponseReadRetry()

virtual void oceandirect::api::LighthouseAPI::setMulticastMsgResponseReadRetry ( size_t  retryCount)
virtual

.setMulticastMsgResponseReadRetry Set the number of times to read multicast message response. This must be called before probing network devices.

See also
detectNetworkDevices()
Parameters
retryCountThe number of times to try reading multicast response messages.

◆ setMulticastMsgSendRetry()

virtual void oceandirect::api::LighthouseAPI::setMulticastMsgSendRetry ( size_t  retryCount)
virtual

.setMulticastMsgSendRetry Set the number of times to send multicast message for dynamic probing. This must be called before probing network devices.

See also
detectNetworkDevices()
Parameters
retryCountThe number of times to send messages.

◆ setNonLinearityCorrectionState()

virtual void oceandirect::api::LighthouseAPI::setNonLinearityCorrectionState ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_enable_state_t  state 
)
virtual

.setNonLinearityCorrectionState

Deprecated:
Toggle the "automatic" nonlinearity correction on or off for an acquired spectrum. This correction is applied automatically to any acquired spectrum when the function is turned on. If nonlinearity correction is turned on then electric dark correction is also turned on even if it was previously turned off.
See also
setStoredDarkSpectrum
getStoredDarkSpectrum
getNonlinearityCorrectedSpectrum
Warning
if nonlinearity correction is enabled using this function then some of the newer nonlinearity correction functionality e.g. getNonlinearityCorrectedSpectrum may not be used at tne same time.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
state"on" if nonlinearity correction is to be used, "off" otherwise.

◆ setScansToAverage()

virtual void oceandirect::api::LighthouseAPI::setScansToAverage ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_scan_averaging_t  scansToAverage 
)
virtual

.setScansToAverage Set the number of spectra to be averaged per returned spectrum. When this value is set greater than 1 the specified number of spectra are averaged and the resulting average is returned by getFormattedSpectrum (or getRawSpectrumWithMetadata). NOTE: Some devices have a minimum integration time for averaging that is different to the minimum integration time for unaveraged acquisition (see your spectrometer documentation to determine if this is a requirement).

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
scansToAveragethe number of scans to be averaged.

◆ setStoredDarkSpectrum()

virtual void oceandirect::api::LighthouseAPI::setStoredDarkSpectrum ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
const float  darkSpectrum[],
size_t  darkSpectrumLength 
)
virtual

.setStoredDarkSpectrum Store a dark spectrum for use in subsequent corrections i.e. dark correction and nonlinearity correction.

See also
getStoredDarkSpectrum.
Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
darkSpectrumthe buffer that contains the dark spectrum to be stored.
darkSpectrumLengththe actual size of the dark spectrum buffer.

◆ setTriggerMode()

virtual void oceandirect::api::LighthouseAPI::setTriggerMode ( lh_device_id_t  deviceID,
lh_error_code_t *  errorCode,
lh_trigger_mode_t  mode 
)
virtual

.setTriggerMode Set the spectrometer trigger mode (software, edge or level).

Parameters
deviceIDthe identifier of the device as returned by getDeviceIDs.
errorCodesee LHErrorCode.
modethe trigger mode to apply.

◆ shutdown()

static void oceandirect::api::LighthouseAPI::shutdown ( )
static

.shutdown shutdown must be called when the API is no longer needed. It performs cleanup activities and releases resources claimed by the API. After this method has been called all devices that had been available will no longer be available unless a further call to to probe devices is made.

◆ Shutter()

virtual LHShutterAPI* oceandirect::api::LighthouseAPI::Shutter ( )
virtual

.Shutter Return a pointer to the shutter control API e.g. opening/closing the shutter.

Returns
a pointer the the shutter control API.

◆ Strobe()

virtual LHStrobeAPI* oceandirect::api::LighthouseAPI::Strobe ( )
virtual

.Strobe Return a pointer to the API that controls the device strobe functionality. This API controls both single and continuous strobe functions.

Returns
a pointer to the strobe API.

◆ Thermoelectric()

virtual LHThermoelectricAPI* oceandirect::api::LighthouseAPI::Thermoelectric ( )
virtual

.Thermoelectric Return a pointer to the thermoelectric temperature (TEC) control functionality. Thermoelectric cooling can improve the sensitivity of the sensor. Note: not all devices have thermoelectric temperature control; attempting to use this functionality on a device without TEC will result in "command not supported" errors being returned.

Returns
a pointer to the thermoelectric temperature control API.

◆ UserString()

virtual LHUserStringAPI* oceandirect::api::LighthouseAPI::UserString ( )
virtual

.UserString Return a pointer to the user-settable string API.

Returns
a pointer to the user string API.

The documentation for this class was generated from the following file: