1 #ifndef LIGHTHOUSE_API_H
2 #define LIGHTHOUSE_API_H
36 #include "lighthouse/api/LighthouseDllDecl.h"
37 #include "lighthouse/api/lhdefs.h"
38 #include "lighthouse/api/advanced/LHAutoNullingAPI.h"
39 #include "lighthouse/api/advanced/LHDeviceInformationAPI.h"
40 #include "lighthouse/api/advanced/LHSensorAPI.h"
41 #include "lighthouse/api/advanced/LHStrobeAPI.h"
42 #include "lighthouse/api/advanced/LHGpioAPI.h"
43 #include "lighthouse/api/advanced/LHLampAPI.h"
44 #include "lighthouse/api/advanced/LHLedAPI.h"
45 #include "lighthouse/api/advanced/LHThermoelectricAPI.h"
46 #include "lighthouse/api/advanced/LHNetworkConfigurationAPI.h"
47 #include "lighthouse/api/advanced/LHNonlinearityAPI.h"
48 #include "lighthouse/api/advanced/LHSerialPortAPI.h"
49 #include "lighthouse/api/advanced/LHShutterAPI.h"
50 #include "lighthouse/api/advanced/LHUserStringAPI.h"
51 #include "lighthouse/api/advanced/LHGainModeAPI.h"
52 #include "lighthouse/api/advanced/LHFlashAPI.h"
83 virtual void getAPIRCNumber(uint32_t &candidate);
152 virtual lh_device_id_t
addNetworkDevices(
const char ipAddressStr[],
const char deviceTypeStr[], lh_error_code_t* errorCode);
204 virtual void openDevice(lh_device_id_t deviceID, lh_error_code_t *errorCode);
214 virtual void closeDevice(lh_device_id_t deviceID, lh_error_code_t *errorCode);
225 virtual size_t getDeviceType(lh_device_id_t deviceID, lh_error_code_t *errorCode,
char buffer[],
size_t bufferLength);
389 virtual size_t getWavelengths(lh_device_id_t deviceID, lh_error_code_t *errorCode,
float wavelengths[],
size_t wavelengthsLength);
414 virtual void setIntegrationTime(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds);
488 virtual size_t getSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode,
float buffer[],
size_t bufferLength);
500 virtual size_t getSpectrumWithMetadata(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_spectrum_with_metadata_t &spectrum);
510 virtual void setStoredDarkSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode,
const float darkSpectrum[],
size_t darkSpectrumLength);
521 virtual size_t getStoredDarkSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode,
float darkSpectrum[],
size_t darkSpectrumLength);
533 virtual size_t getDarkCorrectedSpectrum(lh_device_id_t deviceID, lh_error_code_t* errorCode,
float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
548 virtual size_t getDarkCorrectedSpectrum(lh_device_id_t deviceID, lh_error_code_t* errorCode,
const float darkSpectrum[],
size_t darkSpectrumLength,
549 float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
565 virtual size_t darkCorrectSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode,
const float illuminatedSpectrum[],
size_t illuminatedSpectrumLength,
566 float darkCorrectedSpectrum[],
size_t darkCorrectedSpectrumLength);
585 virtual size_t darkCorrectSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode,
const float darkSpectrum[],
size_t darkSpectrumLength,
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);
675 size_t illuminatedSpectrumLength, lh_boxcar_width_t boxcarWidth,
676 float boxcarCorrectedSpectrum[],
size_t boxcarCorrectedSpectrumLength);
684 virtual lh_scan_averaging_t
getScansToAverage(lh_device_id_t deviceID, lh_error_code_t *errorCode);
698 virtual void setScansToAverage(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_scan_averaging_t scansToAverage);
712 virtual lh_boxcar_width_t
getBoxcarWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode);
727 virtual void setBoxcarWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_boxcar_width_t boxcarWidth);
735 virtual void setTriggerMode(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_trigger_mode_t mode);
743 virtual lh_trigger_mode_t
getTriggerMode(lh_device_id_t deviceID, lh_error_code_t *errorCode);
751 virtual void setAcquisitionDelay(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds);
795 virtual size_t getErrorMessage(lh_error_code_t errorCode,
char message[],
size_t messageLength);
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: LHLedAPI.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 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 LHLampAPI * Lamp()
virtual void setMulticastMsgResponseReadDelay(lh_milliseconds_t milliseconds)
virtual LHSerialPortAPI * SerialPort()
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 LHGpioAPI * Gpio()
virtual size_t getErrorMessage(lh_error_code_t errorCode, char message[], size_t messageLength)
virtual lh_microseconds_t getIntegrationTimeIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual LHNetworkConfigurationAPI * Network()
virtual size_t getNonlinearityCorrectedSpectrum(lh_device_id_t deviceID, lh_error_code_t *errorCode, float nonlinearityCorrectedSpectrum[], size_t nonlinearityCorrectedSpectrumLength)
virtual LHNonlinearityAPI * Nonlinearity()
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)
virtual LHStrobeAPI * Strobe()
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 lh_microseconds_t getAcquisitionDelayIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual LHUserStringAPI * UserString()
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 size_t getDeviceIDs(lh_device_id_t ids[], size_t idsLength)
virtual LHGainModeAPI * GainMode()
virtual lh_device_id_t addNetworkDevices(const char ipAddressStr[], const char deviceTypeStr[], lh_error_code_t *errorCode)
virtual LHAutoNullingAPI * AutoNulling()
virtual void openDevice(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual LHThermoelectricAPI * Thermoelectric()
virtual void setMulticastMsgResponseReadRetry(size_t retryCount)
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 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 LHSensorAPI * SensorInformation()
virtual LHDeviceInformationAPI * DeviceInformation()
static LighthouseAPI * getInstance()
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 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 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)
virtual LHShutterAPI * Shutter()
This is the API for controlling the autonulling functionality of a device.
Definition: LighthouseAPI.h:54