1#ifndef LIGHTHOUSE_API_H
2#define LIGHTHOUSE_API_H
36#include "lighthouse/api/LighthouseDllDecl.h"
549 float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
566 float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
586 const float illuminatedSpectrum[],
size_t illuminatedSpectrumLength,
float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
601 size_t nonlinearityCorrectedSpectrumLength);
619 size_t darkSpectrumLength,
float nonlinearityCorrectedSpectrum[],
size_t nonlinearityCorrectedSpectrumLength);
639 size_t illuminatedSpectrumLength,
float nonlinearityCorrectedSpectrum[],
size_t nonlinearityCorrectedSpectrumLength);
660 size_t darkSpectrumLength,
const float illuminatedSpectrum[],
size_t illuminatedSpectrumLength,
661 float nonlinearityCorrectedSpectrum[],
size_t nonlinearityCorrectedSpectrumLength);
676 float boxcarCorrectedSpectrum[],
size_t boxcarCorrectedSpectrumLength);
807 friend class InstrumentedLighthouseAPI;
808 friend class NetLighthouseAdmin;
820 LighthouseImpl* pimpl;
825 static void shutdownInstrumentation();
826 size_t probeInstrumentedDevices();
Definition LHAutoNullingAPI.h:41
Definition LHFlashAPI.h:39
Definition LHGainModeAPI.h:39
Definition LHGpioAPI.h:39
Definition LHLampAPI.h:39
Definition LHNetworkConfigurationAPI.h:43
Definition LHNonlinearityAPI.h:38
Definition LHSensorAPI.h:40
Definition LHSerialPortAPI.h:39
Definition LHShutterAPI.h:39
Definition LHStrobeAPI.h:41
Definition LHThermoelectricAPI.h:39
Definition LHUserStringAPI.h:39
Definition LighthouseAPI.h:58
virtual LHSerialPortAPI * SerialPort()
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 getErrorMessageLength(lh_error_code_t errorCode)
virtual size_t getDarkCorrectedSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, float darkCorrectedSpectrum[], size_t darkCorrectedSpectrumLength)
virtual lh_trigger_mode_t getTriggerMode(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 void setScansToAverage(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_scan_averaging_t scansToAverage)
virtual LHSensorAPI * SensorInformation()
virtual void setMulticastMsgResponseReadDelay(lh_milliseconds_t milliseconds)
virtual LHGainModeAPI * GainMode()
virtual LHThermoelectricAPI * Thermoelectric()
virtual void setStoredDarkSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, const float darkSpectrum[], size_t darkSpectrumLength)
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 getSpectrumWithMetadata(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_spectrum_with_metadata_t &spectrum)
virtual size_t getErrorMessage(lh_error_code_t errorCode, char message[], size_t messageLength)
virtual LHNetworkConfigurationAPI * Network()
virtual lh_microseconds_t getIntegrationTimeIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual LHShutterAPI * Shutter()
virtual size_t getNonlinearityCorrectedSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
virtual lh_scan_averaging_t getScansToAverage(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)
static LighthouseAPI * getInstance()
virtual void setNonLinearityCorrectionState(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
virtual lh_microseconds_t getMinimumIntegrationTime(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_boxcar_width_t getBoxcarWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setMulticastMsgSendRetry(size_t retryCount)
virtual size_t getNumberOfDeviceIDs()
virtual size_t probeAllDevices()
virtual LHAutoNullingAPI * AutoNulling()
virtual lh_microseconds_t getAcquisitionDelayIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual LHStrobeAPI * Strobe()
virtual size_t probeNetworkDevices()
virtual lh_enable_state_t getElectricDarkCorrectionState(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 void setAcquisitionDelay(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
virtual LHUserStringAPI * UserString()
virtual size_t getDeviceIDs(lh_device_id_t ids[], size_t idsLength)
virtual lh_device_id_t addNetworkDevices(const char ipAddressStr[], const char deviceTypeStr[], lh_error_code_t *errorCode)
virtual void openDevice(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setMulticastMsgResponseReadRetry(size_t retryCount)
virtual LHLampAPI * Lamp()
virtual LHFlashAPI * Flash()
virtual size_t probeUsbDevices()
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 size_t getSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, float buffer[], size_t bufferLength)
virtual LHGpioAPI * Gpio()
virtual lh_pixel_intensity_t getMaximumIntensity(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setElectricDarkCorrectionState(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
virtual void getAPIRCNumber(uint32_t &candidate)
virtual void setIntegrationTime(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
virtual lh_microseconds_t getAcquisitionDelayMaximum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void getAPIVersionNumber(uint32_t &major, uint32_t &minor, uint32_t &point)
virtual lh_enable_state_t getNonLinearityCorrectionState(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getStoredDarkSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, float darkSpectrum[], size_t darkSpectrumLength)
virtual lh_microseconds_t getMinimumAveragingIntegrationTime(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getIntegrationTime(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getDeviceType(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual size_t getSpectrumLength(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setBoxcarWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_boxcar_width_t boxcarWidth)
virtual LHDeviceInformationAPI * DeviceInformation()
virtual lh_microseconds_t getAcquisitionDelayMinimum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
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 size_t getNetworkDeviceIDs(lh_device_id_t ids[], size_t idsLength)
virtual size_t getWavelengthCoefficients(lh_device_id_t deviceID, lh_error_code_t *errorCode, float coeff[], size_t coeffLength)
virtual void setTriggerMode(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_trigger_mode_t mode)
virtual LHNonlinearityAPI * Nonlinearity()
virtual lh_microseconds_t getAcquisitionDelay(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getWavelengths(lh_device_id_t deviceID, lh_error_code_t *errorCode, float wavelengths[], size_t wavelengthsLength)
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)
lh_trigger_mode_t
Definition lhdefs.h:83
uint32_t lh_microseconds_t
Definition lhdefs.h:52
uint32_t lh_milliseconds_t
Definition lhdefs.h:55
int32_t lh_error_code_t
Definition lhdefs.h:47
lh_enable_state_t
Definition lhdefs.h:68
uint32_t lh_pixel_intensity_t
Definition lhdefs.h:101
uint16_t lh_boxcar_width_t
Definition lhdefs.h:121
uint32_t lh_scan_averaging_t
Definition lhdefs.h:117
uint32_t lh_device_id_t
Definition lhdefs.h:43
This is the API for controlling the autonulling functionality of a device.
Definition LighthouseAPI.h:54