iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of...

108
iQ-LED API C++ Version 3.0.3 Documentation Created on Thu Jan 24 2019

Transcript of iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of...

Page 1: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

iQ-LED APIC++

Version 3.0.3

Documentation

Created on Thu Jan 24 2019

Page 2: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists
Page 3: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

Contents

1 iQ-LED API 1

2 Examples 32.1 iQ-LED - initialize and calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 iQ-LED - use without spectrometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 iQ-LED - use with spectrometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 iQ-LED - recalibrate the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.5 iQ-LED - set up a callback function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.6 iQ-LED - use iQ::LED::ModuleGroup to control single modules . . . . . . . . . . . . . . . . . . . 62.7 Spectrometer - initialize and calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.8 Spectrometer - usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.9 Spectrometer - the compensation factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.10 Warmup - bring device into operating mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Class Index 93.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Class Documentation 114.1 iQ::LED::DeviceErrorMemory Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.2 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.2.1 canID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.2.2 current_consumption_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.3 fan_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.4 heating_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.5 high_temperature_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.6 idle_current_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.7 led_channel_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.8 light_sensor_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.1.2.9 supply_voltage_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.1.2.10 thermometer_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 iQ::LED::DeviceIlluminantInfo Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.1 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2.1.1 DeviceIlluminantInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2.2.1 getChannelValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2.2.2 getErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2.2.3 getIntensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2.2.4 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2.2.5 getSlotNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3 iQ::LED::Illuminant Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3.1 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.3.1.1 Illuminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.1.2 Illuminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.1.3 Illuminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.3.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.2.1 getChannelValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Page 4: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

iv CONTENTS

4.3.2.2 getColorRenderingIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.2.3 getCorrelatedColorTemperature . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.2.4 getCurrentSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.2.5 getDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.2.6 getErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.2.7 getID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.2.8 getIlluminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.2.9 getIrradiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3.2.10 getLuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3.2.11 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3.2.12 getSerialNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.2.13 getTargetSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.2.14 isManual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.2.15 load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3.2.16 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3.2.17 save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3.2.18 setID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.2.19 setName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.4 iQ::LED::LedController Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4.1 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.4.1.1 calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4.1.2 createObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4.1.3 deleteSequenceOnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4.1.4 getActiveStoredIlluminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4.1.5 getAllSerialNumbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4.1.6 getCalibrationDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4.1.7 getChannelIntensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.4.1.8 getChannelIntensityRel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.4.1.9 getChannelWaveLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.4.1.10 getConnectedModuleIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4.1.11 getCoolingOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4.1.12 getDefaultIlluminantSlotNumber . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1.13 getDeviceErrorMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1.14 getElectricityValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1.15 getErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.1.16 getFanOnOffTemperatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.1.17 getFWVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.1.18 getHardwareVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.1.19 getHeatingOnOffTemperatures . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.1.20 getIlluminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.4.1.21 getIlluminanceLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.4.1.22 getIlluminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.1.23 getIntensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.1.24 getIntensityLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4.1.25 getIrradiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4.1.26 getIrradianceLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.4.1.27 getLuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.4.1.28 getLuminanceLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.4.1.29 getMaxTemperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.4.1.30 getMinTemperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.4.1.31 getModuleGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.4.1.32 getModuleOperatingTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.4.1.33 getModuleTemperatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.4.1.34 getModuleTemperatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.4.1.35 getModuleTemperaturesContinuous . . . . . . . . . . . . . . . . . . . . . . . . 454.4.1.36 getNumberOfIlluminantMemorySlots . . . . . . . . . . . . . . . . . . . . . . . 454.4.1.37 getProductID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4.1.38 getProductName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

iQ-LED C++ API V 3.0.3

Page 5: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

CONTENTS v

4.4.1.39 getPWMClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4.1.40 getSerialNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4.1.41 getStoredIlluminantDescriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.4.1.42 getTargetSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.4.1.43 getTypeOfModuleId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.4.1.44 getWarmingOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4.1.45 isModuleConnected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4.1.46 loadCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4.1.47 playSequenceOnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4.1.48 removeIlluminantOnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4.1.49 removeSpectrometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.1.50 resetLapTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.1.51 saveCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.1.52 setActivateStoredIlluminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4.1.53 setCallbackFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4.1.54 setChannelIntensitiesRel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4.1.55 setChannelIntensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4.1.56 setChannelIntensityRel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4.1.57 setDefaultIlluminantSlotNumber . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4.1.58 setFITMinMaxValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4.1.59 setIlluminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4.1.60 setIlluminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.4.1.61 setIntensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.4.1.62 setIrradiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.1.63 setLuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4.1.64 setModuleGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4.1.65 setPWMClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.4.1.66 setSpectrometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.4.1.67 setTargetSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4.1.68 startSelfTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4.1.69 storeIlluminantOnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4.1.70 storeSequenceOnDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.4.1.71 unsetCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.4.1.72 updateIlluminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.5 iQ::LED::ModuleGroup Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.5.2.1 ModuleGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.5.2.2 ModuleGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.5.3.1 addModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.5.3.2 addModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.5.3.3 contains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.5.3.4 getCalibrationChannelData . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.5.3.5 getCalibrationDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.5.3.6 getCalibrationMaxValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.5.3.7 getCalibrationPeakWavelength . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5.3.8 getModuleList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5.3.9 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5.3.10 isCalibrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5.3.11 load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5.3.12 removeModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5.3.13 removeModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.5.3.14 save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.5.3.15 setName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.5.3.16 unsetCalibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.6 iQ::LED::SpectrometerController Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 694.6.1 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

iQ-LED C++ API V 3.0.3

Page 6: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

vi CONTENTS

4.6.1.1 calculateColorRenderingIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.6.1.2 calculateCorrelatedColorTemperature . . . . . . . . . . . . . . . . . . . . . . . 714.6.1.3 calculateIlluminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.6.1.4 calculateIrradiancePower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.6.1.5 calculateLuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.6.1.6 createObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.6.1.7 getAllSerialNumbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.6.1.8 getBinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.6.1.9 getDarkCurrentMeasurement . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.6.1.10 getDensityFilterCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.6.1.11 getErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.6.1.12 getIlluminanceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.6.1.13 getIntegrationTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.6.1.14 getIrradianceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.1.15 getLuminanceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.1.16 getScansToAverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.1.17 getSerialNumber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.6.1.18 loadDarkCurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.6.1.19 loadSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.6.1.20 measureAbsoluteSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.6.1.21 measureColorRenderingIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.6.1.22 measureCorrelatedColorTemperature . . . . . . . . . . . . . . . . . . . . . . . 804.6.1.23 measureCounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.6.1.24 measureDarkCurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.6.1.25 measureIlluminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.6.1.26 measureIrradiancePower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.1.27 measureLuminance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.1.28 saveDarkCurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.1.29 saveSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.6.1.30 setBinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.6.1.31 setDensityFilterCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.6.1.32 setIlluminanceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.6.1.33 setIntegrationTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.6.1.34 setIrradianceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.6.1.35 setLuminanceCompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.6.1.36 setScansToAverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.7 iQ::LED::Spectrum Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.7.1 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.7.1.1 Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.7.1.2 Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.7.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.7.2.1 calculateIntegral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.7.2.2 getActualValueMinMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.7.2.3 getErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.7.2.4 getIrradianceValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.7.2.5 getName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.7.2.6 getPeakWavelength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.7.2.7 getWavelengthValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.7.2.8 load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.7.2.9 operator∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.7.2.10 operator∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.7.2.11 operator∗= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.7.2.12 operator∗= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.7.2.13 operator+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.7.2.14 operator+= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.7.2.15 operator- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.7.2.16 operator-= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.7.2.17 operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

iQ-LED C++ API V 3.0.3

Page 7: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

CONTENTS vii

4.7.2.18 save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.7.2.19 setName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.7.2.20 setSpectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

4.8 iQ::LED::Version Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.8.1 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

4.8.1.1 getMajor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.8.1.2 getMinor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.8.1.3 getPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.8.1.4 getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Index 96

iQ-LED C++ API V 3.0.3

Page 8: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists
Page 9: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

1 iQ-LED API

The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2spectrometer.

The API consists of 5 different classes:

• iQ::LED::LedController provides functionality for the use of iQ-LED devices.

• iQ::LED::ModuleGroup provides functionality to control single modules of an iQ-LED device.

• iQ::LED::SpectrometerController provides functionality for the use of the EX2 spectrometer.

• iQ::LED::Spectrum represents information about the spectral distribution of a light type. It contains wavelengthvalues and irradiance values and also serves as an interface between iQ::LED::SpectrometerController andiQ::LED::LedController.

• iQ::LED::Illuminant contains information about a light that was generated using an iQ-LED device. It can besaved to a file and loaded for reuse. Using iQ::LED::Illuminant objects it is possible to switch between differentlight types without delay.

• iQ::LED::DeviceIlluminantInfo contains information about stored illuminants in an iQ-LED device.

Additionally, the iQ::LED::Version class provides version information on compile- and runtime.

The following figure presents the concept of the API. The examples offer a good starting point for further develope-ments.

Page 10: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

2 iQ-LED API

user

data

control

hardware

SpectrometerController LedController

Spectrum Illuminant

filedata

Figure 1.1: Concept of the iQ-LED API classes

Requirements:

The API is written in C++ and available for the following development environments:

• Microsoft Visual C++ (MSVC) 2012 64Bit

• Microsoft Visual C++ (MSVC) 2012 32Bit

• Microsoft Visual C++ (MSVC) 2013 64Bit

• Microsoft Visual C++ (MSVC) 2013 32Bit

• Microsoft Visual C++ (MSVC) 2015 64Bit

• Microsoft Visual C++ (MSVC) 2015 32Bit

• Microsoft Visual C++ (MSVC) 2017 64Bit

Required tools and frameworks:

• Driver for iQ-LED and Spectrometer

• .NET Framework 2.0 or later

• Java Development Kit 1.6 or later

iQ-LED C++ API V 3.0.3

Page 11: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

2 Examples

The example pages contain code examples for the usage of the iQ-LED API.

iQ-LED - initialize and calibrate

iQ-LED - use without spectrometer

iQ-LED - use with spectrometer

iQ-LED - recalibrate the system

iQ-LED - set up a callback function

iQ-LED - use iQ::LED::ModuleGroup to control single modules

Spectrometer - initialize and calibrate

Spectrometer - usage

Spectrometer - the compensation factor

Warmup - bring device into operating mode

2.1 iQ-LED - initialize and calibrate

The first step to control an iQ-LED device is to create an iQ::LED::LedController object.

iQ::LED::LedController::createObjects searches for connected iQ-LED devices and returns all found devices in astd::map.int status = 0;std::map<std::string, iQ::LED::LedController*> iQLEDDevices;iQLEDDEvices = iQ::LED::LedController::createObjects(status);

You can access a specific device using its serial number as the key.

For example iQLEDDevices["400001"] contains the iQ::LED::LedController object associated with the device withserial number "400001".

To get the serial numbers of your devices, you can call iQ::LED::LedController::getAllSerialNumbers passing thestd::map as parameter.

This function returns a std::vector that contains the keys of the std::map.std::vector<std::string> connectedLedSerialNumbers;connectedLedSerialNumbers = iQ::LED::LedController::getAllSerialNumbers

(iQLEDDevices);

Generally there are two different use cases of the iQ-LED device:

• The usage without connected spectrometer. In this case the functionality of the API is strongly limited.

Only prefab illuminants may be used. See iQ-LED - use without spectrometer

Page 12: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4 Examples

• The usage with connected spectrometer, which requires an additional calibration of the device.

See iQ-LED - use with spectrometer

For the second case, calibration data is needed, which can either be created with the spectrometer or loaded froman existing file.

The following code examples show how to calibrate your iQ-LED device with a connected spectrometer:

• connect spectrometer (iQ::LED::LedController::setSpectrometer)led->setSpectrometer(spectrometer);

Attention

Please note that you need a successfully initialized and calibrated iQ::LED::SpectrometerController object atthis point. See Spectrometer - initialize and calibrate

• calibrate device (iQ::LED::LedController::calibrate) and save calibration data to a file (iQ::LED::LedController-::saveCalibration)iQLEDDevices["400001"]->calibrate(status);iQLEDDevices["400001"]->saveCalibration("calibration.iqcal", status);

• load calibration data from file: (iQ::LED::LedController:loadCalibration)iQLEDDevices["400001"]->loadCalibration("calibration.iqcal", status);

2.2 iQ-LED - use without spectrometer

Using the iQ-LED device without connected spectrometer limits the functionality to the rudimental use of pre-definedilluminants:

• load pre-defined illuminant from a file.iQ::LED::Illuminant *illuminant = new iQ::LED::Illuminant("

illuminant1.iqill", status);

iQLEDDevices["400001"]->setIlluminant(illuminant, status);

Additionally, the intensity of single channels can be set manually using channel number and intensity percentagevalues between 0 and 100.iQLEDDevices["400001"]->setChannelIntensityRel(4, 20.0, status);iQLEDDevices["400001"]->setChannelIntensityRel(5, 30.0, status);iQLEDDevices["400001"]->setChannelIntensityRel(8, 40.5, status);iQLEDDevices["400001"]->setChannelIntensityRel(12, 10.0, status);...

These settings can also be saved to a file.iQ::LED::Illuminant illuminant = iQLEDDevices["400001"]->getIlluminant("name", false,

status);illuminant.save("illuminant2.iqill", status);

Please note that these manually created illuminants do not contain such information as illuminance, correlated colortemperature, color rendering index and so on. A spectrometer is necessary in order to obtain these measurementdata.

2.3 iQ-LED - use with spectrometer

Using the iQ-LED device with connected spectrometer enables the full functionality.

Besides the functions already explained in iQ-LED - use without spectrometer there are much more possibilities for

iQ-LED C++ API V 3.0.3

Page 13: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

2.4 iQ-LED - recalibrate the system 5

customizing your iQ-LED, for example:

• load self-defined or measured spectral distribution of a target and vary intensityiQ::LED::Spectrum targetSpec;targetSpec.setSpectrum(wavelengthValues, irradianceValues, status);

//_ define the spectral distribution of a targetiQLEDDevices["400001"]->setTargetSpectrum(targetSpectrum, status);

//_ turn on iQ-LED with intensity of 200lux preserving the relative spectral distributioniQLEDDevices["400001"]->setIlluminance(200, status);

//_ turn on iQ-LED with intensity of 400lux preserving the relative spectral distributioniQLEDDevices["400001"]->setIlluminance(400, status);

• export these settings to an iQ::LED::Illuminant object and save them to a fileiQ::LED::Illuminant illuminant = iQLEDDevices["400001"]->getIlluminant("customName",

true, status);

illuminant.save("illuminant2.iqill", status);

2.4 iQ-LED - recalibrate the system

The LEDs of the iQ-LED device will change their intensity level and peak wavelength during life time.

This results from:

• A burn in effect of some LED types

• The degradation of LEDs

For that reason, it is recommended to recalibrate the system regularly:

• During the first 600 working hours it is recommended to perform a spectral calibration every 30 - 50 operatinghours.

• After the first 600 operating hours a calibration every 130 - 150 working hours is sufficent.

Before performing a spectral calibration make sure that a succesfully initialized iQ::LED::SpectrometerControllerobject is connected (see Spectrometer - initialize and calibrate and iQ::LED::LedController::setSpectrometer).

To recalibrate the system please follow these steps:

• recalibrate the iQ-LEDiQLEDDevices["400001"]->calibrate(status);

iQLEDDevices["400001"]->saveCalibration("calibration.iqcal", status);

• update the illuminants// overwrite the old illuminantiQLEDDevices["400001"]->updateIlluminant("illuminant.iqill", "illuminant.iqill");

// or save the new one to a different fileiQLEDDevices["400001"]->updateIlluminant("illuminant.iqill", "illuminant_new.iqill");

// and compare before and afteriQ::LED::Illuminant illuminant_old("illuminant.iqill", status);iQ::LED::Illuminant illuminant_new("illuminant_new.iqill", status);

iQ::LED::Spectrum diffSpectrum = illuminant_new.getCurrentSpectrum(status) -illuminant_old.getCurrentSpectrum(status);

iQ-LED C++ API V 3.0.3

Page 14: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

6 Examples

2.5 iQ-LED - set up a callback function

The calibration of the iQ-LED device using iQ::LED::LedController::calibrate can take some time.

You can receive a progress status during the process using a callback function.

This example shows how to set up and use this callback functionality properly.

The example assumes a class A that contains the main functionality that is using the iQ-LED device.

In this class you set up the callback function that will process the progress messages.

Attention

Please note that if the callback function is a member function it has to be static.class A {

...static void callback (int progress, void* parameter = 0);

...};

void A::callback(int progress, void* parameter){

cout << progress << endl;}

Set the callback function for the iQ::LED::LedController object. Afterwards the callback function will be called auto-matically inside of the iQ::LED::LedController::calibrate function.iQLEDDevices["400001"].setCallbackFunction(&A::callback);iQLEDDevices["400001"].calibrate(status);

This example prints the current progress (0-100) to the stdout.

The second example assumes a graphical progress bar object for displaying the progress.

The callback function displays the progress using the progressbar object. A pointer to the progress bar object has tobe passed to the iQ::LED::LedController::calibrate function to enable access to the progress bar from the callbackfunction.class A {

...static void callback (int progress, void* parameter = 0);...

};

...iQLEDDevices["400001"].setCallbackFunction(&A::callback);iQLEDDevices["400001"].calibrate(status, m_pProgressBar);...

void A::callback(int progress, void* parameter){

ProgressBar* pProgressBar = reinterpret_cast<ProgressBar*>(parameter);if(pProgressBar != nullptr){

pProgressBar->displayProgress(progress);}

}

2.6 iQ-LED - use iQ::LED::ModuleGroup to control singlemodules

Before iQ-LED API V2, all iQ-LED devices were controlled as a single unit, even if they consisted of multiple iQ-LEDmodules. The iQ::LED::ModuleGroup object now allows you to group and control single modules of an iQ-LEDdevice.

iQ-LED C++ API V 3.0.3

Page 15: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

2.7 Spectrometer - initialize and calibrate 7

You can define your own module groups by adding or removing module IDs to it and setting these module groupsto the iQ::LED::LedController:Attention

Please note that each module group needs to be calibrated to be able to generate illuminants. If you changea module group by adding or removing an ID you must recalibrate!

iQ::LED::ModuleGroup* group1 = new iQ::LED::ModuleGroup();group1->addModule(1);group1->addModule(2);

//This will ensure that following commands only affect the iQ-LED modules from group 1iQLEDDevices["400001"]->setModuleGroup(group1);//This will set the intensity of the channel 4 of the modules with the IDs 1 and 2 to the value 200. All

other modules of the device remain unchanged.iQLEDDevices["400001"]->setChannelIntensity(4, 200, status);

iQ::LED::ModuleGroup* group2 = new iQ::LED::ModuleGroup();group2->addModule(3);group2->addModule(4);

//This will ensure that following commands only affect the iQ-LED modules from group 2iQLEDDevices["400001"]->setModuleGroup(group2);//This will set the intensity of the channel 4 of the modules with the IDs 3 and 4 to the value 200. All

other modules of the device remain unchanged.iQLEDDevices["400001"]->setChannelIntensity(4, 200, status);

2.7 Spectrometer - initialize and calibrate

The first step to control a spectrometer device is to create an iQ::LED::SpectrometerController object.

iQ::LED::SpectrometerController::createObjects searches for connected spectrometer devices and returns all founddevices in a std::map.int status = 0;std::map<std::string, iQ::LED::SpectrometerController*> iQSpectrometerDevices;iQSpectrometerDevices = iQ::LED::SpectrometerController::createObjects

(status);

You can access a specific device by using its serial number as the key.

For example, iQSpectrometerDevices["S00001"] contains the iQ::LED::SpectrometerController object associatedwith the device with the serial number "S00001".

If the serial number of your device is unknown or not available, you can can call iQ::LED::SpectrometerController-::getAllSerialNumbers passing the std::map as parameter.

This function returns a std::vector that contains the keys of the std::map.std::vector<std::string> connectedSpectrometerSerialNumbers;

connectedSpectrometerSerialNumbers =iQ::LED::SpectrometerController::getAllSerialNumbers(iQSpectrometerDevices);

To obtain precise results of a spectral measurement a dark current measurement is required.

The first time the spectrometer is used you will have to perform this measurement.

• measure dark current (iQ::LED::SpectrometerController::measureDarkCurrent) and save the measurementresults to a file (iQ::LED::SpectrometerController::saveDarkCurrent)iQSpectrometerDevices["S00001"]->measureDarkCurrent(status);

iQSpectrometerDevices["S00001"]->saveDarkCurrent("darkCurrent.iqDark", status);

If the spectrometer settings do not change, you can save this measurement to a file and use it again later.

• load dark current data from file (iQ::LED::SpectrometerController::loadDarkCurrent)iQSpectrometerDevices["S00001"]->loadDarkCurrent("darkCurrent.iqDark", status);

iQ-LED C++ API V 3.0.3

Page 16: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

8 Examples

2.8 Spectrometer - usage

After creating an iQ::LED::Spectrometer object you can perform various measurements.

For example:

• measure absolute irradiance power [µW/cm/nm] and corresponding wavelength valuesiQ::LED::Spectrum spectrum = iQSpectrometerDevices["S00001"]->measureAbsolutSpectrum(

status);

• measure illuminance values [in lm/m]double illuminanceValue = iQSpectrometerDevices["S00001"]->calculateIlluminance(&spectrum, status);

• measure Correlated Color Temperaturedouble CCT = iQSpectrometerDevices["S00001"]->calculateCorrelatedColorTemperature(status);

2.9 Spectrometer - the compensation factor

Since your spectrometer cannot always be right aside your actual light source, it is possible to compensate thedistance between the spectrometer and the actual light.

Measure the actual light intensity at the place of the light with a suitable method (e.g., lux meter or luminance meter).Afterwards you can set the measured lux value and a compensation factor will be calculated.//e.g.double measuredIlluminance = 10000.0; //luxiQSpectrometerDevices["S00001"]->setIlluminanceCompensation(measuredIlluminance);

Due to that, all measured results will be scaled up to the values as the spectrometer would be right aside the actuallight. Now you can generate exactly the illuminance spectra and desired light intensity.

Every iQ-LED illumination device is measured prior to delivery. The compensation factors for the generic use caseare stated in the corresponding calibration protocol.

Attention

When you change the compensation factor, you have to do a new calibration afterwards.

2.10 Warmup - bring device into operating mode

A warm-up procedure should always be performed when the device temperature is under the optimal operatingtemperature:

• the normal operating temperate for iQ-LED V1 devices is between 32°C-40°C

• the normal operating temperate for iQ-LED V2 devices is between 35°C-60°C

To reach a correct temperature, the light shall be turned on with highest intensity. The temperature should bechecked continuously. The warm-up has been done, when the middle of the range has been reached.

Attention

You should always check the modules temperature in the background inside your application

iQ-LED C++ API V 3.0.3

Page 17: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

3 Class Index

3.1 Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

iQ::LED::DeviceErrorMemory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11iQ::LED::DeviceIlluminantInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13iQ::LED::Illuminant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16iQ::LED::LedController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25iQ::LED::ModuleGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62iQ::LED::SpectrometerController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69iQ::LED::Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86iQ::LED::Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Page 18: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

10 Class Index

iQ-LED C++ API V 3.0.3

Page 19: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4 Class Documentation

4.1 iQ::LED::DeviceErrorMemory Struct Reference

Public Attributes

• unsigned char canID

• unsigned char heating_error

• unsigned char fan_error

• unsigned char idle_current_error

• unsigned char current_consumption_error

• unsigned char supply_voltage_error

• unsigned char high_temperature_error

• unsigned char light_sensor_error

• unsigned char thermometer_error [5]

• unsigned char led_channel_error [20]

4.1.1 Detailed Description

A structure to read error values from an iQ-LED device. Possible error values

• 0: no error

• 1: value too low (temperature, current, voltage)

• 2: value too high (temperature current, voltage)

4.1.2 Member Data Documentation

4.1.2.1 unsigned char iQ::LED::DeviceErrorMemory::canID

The can id of the current iQ-LED module.

Page 20: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

12 Class Documentation

4.1.2.2 unsigned char iQ::LED::DeviceErrorMemory::current_consumption_error

Error current consumption.

The error value is a single byte.

4.1.2.3 unsigned char iQ::LED::DeviceErrorMemory::fan_error

Error fan.

The error value is a single byte.

4.1.2.4 unsigned char iQ::LED::DeviceErrorMemory::heating_error

Error heating.

The error value is a single byte.

4.1.2.5 unsigned char iQ::LED::DeviceErrorMemory::high_temperature_error

Error hight temperature.

The error value is a single byte.

4.1.2.6 unsigned char iQ::LED::DeviceErrorMemory::idle_current_error

Error idle current.

The error value is a single byte.

4.1.2.7 unsigned char iQ::LED::DeviceErrorMemory::led_channel_error[20]

Error for 20 led channels separatly.

The error value is a single byte.

4.1.2.8 unsigned char iQ::LED::DeviceErrorMemory::light_sensor_error

Error sensor.

The error value is a single byte.

iQ-LED C++ API V 3.0.3

Page 21: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.2 iQ::LED::DeviceIlluminantInfo Class Reference 13

4.1.2.9 unsigned char iQ::LED::DeviceErrorMemory::supply_voltage_error

Error voltage.

The error value is a single byte.

4.1.2.10 unsigned char iQ::LED::DeviceErrorMemory::thermometer_error[5]

Error thermometer for each sensor 1-5.

The error value is a single byte.

4.2 iQ::LED::DeviceIlluminantInfo Class Reference

Public Member Functions

• DeviceIlluminantInfo (const DeviceIlluminantInfo &copy)

• const DeviceIlluminantInfo & operator= (const DeviceIlluminantInfo &src)

• std::vector< double > getChannelValues (int &errorCode=default_) const

• std::string getName (int &errorCode=default_) const

• short getIntensity (int &errorCode=default_) const

• int getSlotNumber (int &errorCode=default_) const

Static Public Member Functions

• static std::string getErrorMessage (int &error)

Friends

• class iQ::LED::LedController

4.2.1 Constructor & Destructor Documentation

4.2.1.1 iQ::LED::DeviceIlluminantInfo::DeviceIlluminantInfo ( const DeviceIlluminantInfo & copy )

iQ::LED::DeviceIlluminantInfo

Creation of a new iQ::LED::DeviceIlluminantInfo object.

iQ-LED C++ API V 3.0.3

Page 22: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

14 Class Documentation

Returns

Returns a new iQ::LED::DeviceIlluminantInfo object.

4.2.2 Member Function Documentation

4.2.2.1 std::vector< double > iQ::LED::DeviceIlluminantInfo::getChannelValues ( int & errorCode =default_ ) const

iQ::LED::DeviceIlluminantInfo::getChannelValues

Gets a list of all channel values in percent.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::DeviceIlluminant-Info::getErrorMessage

Returns

Returns a list of channel values of a stored illuminant on the iQ-LED device.

4.2.2.2 std::string iQ::LED::DeviceIlluminantInfo::getErrorMessage ( int & error ) [static]

iQ::LED::DeviceIlluminantInfo::getErrorMessage

Returns a plain text error message that corresponds to the given error code.

Almost every function in this API provides the possibility to catch errors that occur during processing.

As the returned error codes are simple integer values, this function returns a detailed description of the underlyingvalue.

For example:// The variable that holds the error codeint error=0;// Use any API function with error code parameter. Your error variable is passed by reference so it can

then be changed inside the function.deviceIlluminantInfoObject.someFunction(error)// If you pass this error code to getErrorMessage(), it will return the plain text error message that

belongs to the error codestd::string errorMessage = deviceIlluminantInfoObject.getErrorMessage(error);

Parameters

error Error code caught from a function call.

iQ-LED C++ API V 3.0.3

Page 23: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.2 iQ::LED::DeviceIlluminantInfo Class Reference 15

Returns

Plain text error message that corresponds to the given error code.

4.2.2.3 short iQ::LED::DeviceIlluminantInfo::getIntensity ( int & errorCode = default_ ) const

iQ::LED::DeviceIlluminantInfo::getIntensity

Gets the measured intensity of a stored illuminant on the iQ-LED device.

iQ-LED C++ API V 3.0.3

Page 24: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

16 Class Documentation

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::DeviceIlluminant-Info::getErrorMessage

Returns

Returns the measured intensity of a stored illuminant on the iQ-LED device.

4.2.2.4 std::string iQ::LED::DeviceIlluminantInfo::getName ( int & errorCode = default_ ) const

iQ::LED::DeviceIlluminantInfo::getName

Gets the name of a stored illuminant on the iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::DeviceIlluminant-Info::getErrorMessage

Returns

Returns the name of a stored illuminant on the iQ-LED device.

4.2.2.5 int iQ::LED::DeviceIlluminantInfo::getSlotNumber ( int & errorCode = default_ ) const

iQ::LED::DeviceIlluminantInfo::getSlotNumber

Gets the slot number of a stored illuminant on the iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::DeviceIlluminant-Info::getErrorMessage

Returns

Returns the slot number of a stored illuminant on the iQ-LED device.

4.3 iQ::LED::Illuminant Class Reference

Public Member Functions

• Illuminant ()

• Illuminant (const Illuminant &copy)

• Illuminant (const std::string &fileName, int &errorCode=default_)

• const Illuminant & operator= (const Illuminant &src)

• iQ::LED::Spectrum getCurrentSpectrum (int &errorCode=default_) const

iQ-LED C++ API V 3.0.3

Page 25: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.3 iQ::LED::Illuminant Class Reference 17

• iQ::LED::Spectrum getTargetSpectrum (int &errorCode=default_) const

• std::vector< double > getChannelValues (int &errorCode=default_) const

• double getIlluminance (int &errorCode=default_) const

• double getLuminance (int &errorCode=default_) const

• double getIrradiance (int &errorCode=default_) const

• double getCorrelatedColorTemperature (int &errorCode=default_) const

• double getColorRenderingIndex (int &errorCode=default_) const

• unsigned int getDate (int &errorCode=default_)

• bool isManual (int &errorCode=default_)

• std::string getName (int &errorCode=default_) const

• void setName (const std::string &value, int &errorCode=default_)

• std::string getID (int &errorCode=default_) const

• void setID (const std::string &value, int &errorCode=default_)

• void save (const std::string fileName, int &errorCode=default_)

• void load (const std::string fileName, int &errorCode=default_)

• std::string getSerialNumber (int &errorCode=default_)

Static Public Member Functions

• static std::string getErrorMessage (int &error)

Friends

• class iQ::LED::LedController

4.3.1 Constructor & Destructor Documentation

4.3.1.1 iQ::LED::Illuminant::Illuminant ( )

iQ::LED::Illuminant::Illuminant

Creates a new empty iQ::LED::Illuminant object.

Returns

Returns a new empty Illuminant object.

4.3.1.2 iQ::LED::Illuminant::Illuminant ( const Illuminant & copy )

iQ::LED::Illuminant::Illuminant

This copy constructor creates a new iQ::LED::Illuminant object from an existing one.

iQ-LED C++ API V 3.0.3

Page 26: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

18 Class Documentation

Parameters

copy iQ::LED::Illuminant object. The data is copied to the new object.

4.3.1.3 iQ::LED::Illuminant::Illuminant ( const std::string & fileName, int & errorCode = default_ )

iQ::LED::Illuminant::Illuminant

Creates an iQ::LED::Illuminant object from an existing iQ::LED::Illuminant file.

Please see iQ::LED::Illuminant::save.

Parameters

fileName Specifies full path name of an illuminant file.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

4.3.2 Member Function Documentation

4.3.2.1 std::vector< double > iQ::LED::Illuminant::getChannelValues ( int & errorCode = default_ )const

iQ::LED::Illuminant::getChannelValues

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

Intensity of any channel [1-22] of the iQ-LED device.

Attention

Since API Version 3 the channel values are always in percent and of type double

4.3.2.2 double iQ::LED::Illuminant::getColorRenderingIndex ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getColorRenderingIndex

Parameters

iQ-LED C++ API V 3.0.3

Page 27: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.3 iQ::LED::Illuminant Class Reference 19

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The color rendering index measured during export of the illuminant.

4.3.2.3 double iQ::LED::Illuminant::getCorrelatedColorTemperature ( int & errorCode = default_ )const

iQ::LED::Illuminant::getCorrelatedColorTemperature

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The correlated color temperature measured during export of the illuminant.

4.3.2.4 iQ::LED::Spectrum iQ::LED::Illuminant::getCurrentSpectrum ( int & errorCode = default_) const

iQ::LED::Illuminant::getCurrentSpectrum

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The current spectrum measured during export of the illuminant.

4.3.2.5 unsigned int iQ::LED::Illuminant::getDate ( int & errorCode = default_ )

iQ::LED::Illuminant::getDate

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

iQ-LED C++ API V 3.0.3

Page 28: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

20 Class Documentation

Returns

Timestamp (the number of seconds that have passed since 1970-01-01T00:00:00) of the date and time (UTC),when the illuminant was created.

4.3.2.6 std::string iQ::LED::Illuminant::getErrorMessage ( int & error ) [static]

iQ::LED::Illuminant::getErrorMessage

Returns a plain text error message that corresponds to the given error code.

Almost every function in this API provides the possibility to catch errors that occur during processing.

As the returned error codes are simple integer values, this function returns a detailed description of the underlyingvalue.

For example:// The variable that holds the error codeint error=0;// Use any API function with error code parameter. Your error variable is passed by reference so it can be

changed inside the function.illuminantObject.someFunction(error)// If you pass this error code to getErrorMessage() it will return the plain text error message that

belongs to the error codestd::string errorMessage = illuminantObject.getErrorMessage(error);

Parameters

error Error code caught from a function call.

Returns

Plain text error message that corresponds to the given error code.

4.3.2.7 std::string iQ::LED::Illuminant::getID ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getID

Returns the ID of the illuminant.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The ID of the illuminant.

4.3.2.8 double iQ::LED::Illuminant::getIlluminance ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getIlluminance

iQ-LED C++ API V 3.0.3

Page 29: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.3 iQ::LED::Illuminant Class Reference 21

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The illuminance value [lm/m&sup2 measured during export of the illuminant.

4.3.2.9 double iQ::LED::Illuminant::getIrradiance ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getIrradiance

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The irradiance value [µW/cm measured during export of the illuminant.

4.3.2.10 double iQ::LED::Illuminant::getLuminance ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getLuminance

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The Luminance value [cd/m&sup2 measured during export of the illuminant.

4.3.2.11 std::string iQ::LED::Illuminant::getName ( int & errorCode = default_ ) const

iQ::LED::Illuminant::getName

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

iQ-LED C++ API V 3.0.3

Page 30: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

22 Class Documentation

Returns

The name of the illuminant.

4.3.2.12 std::string iQ::LED::Illuminant::getSerialNumber ( int & errorCode = default_ )

iQ::LED::Illuminant::getSerialNumber

Every iQ::LED::Illuminant stores the serial number of the appendant iQ-LED.

You can use iQ::LED::Illuminant objects only with their corresponding iQ-LED devices.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The serial number of the iQ-LED device that the iQ::LED::Illuminant object corresponds to.

4.3.2.13 iQ::LED::Spectrum iQ::LED::Illuminant::getTargetSpectrum ( int & errorCode = default_ )const

iQ::LED::Illuminant::getTargetSpectrum

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

Returns

The target spectrum that was applied during export of the illuminant.

4.3.2.14 bool iQ::LED::Illuminant::isManual ( int & errorCode = default_ )

iQ::LED::Illuminant::isManual

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

iQ-LED C++ API V 3.0.3

Page 31: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.3 iQ::LED::Illuminant Class Reference 23

Returns

True if the light of the iQ-LED device was changed manually using iQ::LED::LedController::setChannel-Intensity.False if a target spectrum is used in the illuminant.

4.3.2.15 void iQ::LED::Illuminant::load ( const std::string fileName, int & errorCode = default_ )

iQ::LED::Illuminant::load

Loads an illuminant object from a file.

Parameters

fileName Specifies full path name of an Illuminant file.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

See Also

iQ::LED::Illuminant::save

4.3.2.16 const iQ::LED::Illuminant & iQ::LED::Illuminant::operator= ( const Illuminant & src )

iQ::LED::Illuminant::operator =

Returns

The copy of an Illuminant object.

4.3.2.17 void iQ::LED::Illuminant::save ( const std::string fileName, int & errorCode = default_ )

iQ::LED::Illuminant::save

Saves the illuminant object to a file.

Parameters

fileName Specifies full path name of the illuminant file for saving.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

iQ-LED C++ API V 3.0.3

Page 32: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

24 Class Documentation

See Also

iQ::LED::Illuminant::load

4.3.2.18 void iQ::LED::Illuminant::setID ( const std::string & value, int & errorCode = default_ )

iQ::LED::Illuminant::setID

Sets the ID of the illuminant.

iQ-LED C++ API V 3.0.3

Page 33: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 25

Parameters

value The ID of the illuminant.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

4.3.2.19 void iQ::LED::Illuminant::setName ( const std::string & value, int & errorCode = default_ )

iQ::LED::Illuminant::setName

Sets the name of the illuminant.

Parameters

value The name of the illuminant.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

4.4 iQ::LED::LedController Class Reference

Public Member Functions

• ∼LedController ()

• std::string getSerialNumber (int &errorCode=default_)

• void setCallbackFunction (void(∗callbackFunction)(int, void ∗))• void setModuleGroup (iQ::LED::ModuleGroup ∗modules)

• iQ::LED::ModuleGroup ∗ getModuleGroup ()

• bool getChannelWaveLength (const int &channelID, double &waveLength)

• std::vector< int > getConnectedModuleIDs (iQ::LED::Module::Type type, int &errorCode=default_)

• bool isModuleConnected (const int &canId, int &errorCode=default_)

• iQ::LED::Module::Type getTypeOfModuleId (const int &canId)

• void setChannelIntensity (const int &channelID, const int &intensity, int &errorCode=default_)

• int getChannelIntensity (const int &channelID, int &errorCode=default_) const

• void setChannelIntensityRel (const int &channelID, double intensity, int &errorCode=default_)

• void setChannelIntensitiesRel (std::map< int, double > channelSettings, int &errorCode=default_)

• double getChannelIntensityRel (const int &channelID, int &errorCode=default_) const

• void setSpectrometer (iQ::LED::SpectrometerController ∗spectrometer, int &errorCode=default_)

• void removeSpectrometer (int &errorCode=default_)

• void calibrate (int &errorCode=default_, void ∗callbackParam=nullptr)

• void saveCalibration (std::string fileName, int &errorCode=default_)

• void loadCalibration (std::string fileName, int &errorCode=default_)

• void unsetCalibration (int &errorCode=default_)

iQ-LED C++ API V 3.0.3

Page 34: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

26 Class Documentation

• unsigned int getCalibrationDate (int &errorCode=default_)

• void setTargetSpectrum (const iQ::LED::Spectrum &target, int &errorCode=default_)

• iQ::LED::Spectrum getTargetSpectrum (int &errorCode=default_) const

• void setIntensity (const double &value, const iQ::LED::IntensityType::Type &type=iQ::LED::IntensityType::-Illuminance, int &errorCode=default_)

• double getIntensity (const iQ::LED::IntensityType::Type &type=iQ::LED::IntensityType::Illuminance, int &error-Code=default_)

• double getIntensityLimit (const iQ::LED::IntensityType::Type &type=iQ::LED::IntensityType::Illuminance, int&errorCode=default_)

• void setIlluminance (const double &value, int &errorCode=default_)

• double getIlluminance (int &errorCode=default_)

• void setLuminance (const double &value, int &errorCode=default_)

• double getLuminance (int &errorCode=default_)

• void setIrradiance (const double &value, int &errorCode=default_)

• double getIrradiance (int &errorCode=default_)

• double getIlluminanceLimit (int &errorCode=default_)

• double getLuminanceLimit (int &errorCode=default_)

• double getIrradianceLimit (int &errorCode=default_)

• void setFITMinMaxValues (int min, int max, int &errorCode=default_)

• void setIlluminant (iQ::LED::Illuminant ∗illuminant, int &errorCode=default_)

• iQ::LED::Illuminant getIlluminant (const std::string &name, bool performMeasurements=true, int &error-Code=default_)

• void updateIlluminant (std::string oldIlluminantFile, std::string newIlluminantFile, int &errorCode=default_)

• std::map< int, double > getModuleTemperatures (int &errorCode=default_)

• std::map< std::string, double > getModuleTemperatures (int canId, int &errorCode)

• std::map< int, double > getModuleTemperaturesContinuous (int &errorCode=default_)

• std::map< int, double > getMinTemperature (int &errorCode=default_)

• std::map< int, double > getMaxTemperature (int &errorCode=default_)

• std::map< int, double > getWarmingOffset (int &errorCode=default_)

• std::map< int, double > getCoolingOffset (int &errorCode=default_)

• void getModuleOperatingTime (const int canId, unsigned int &runningTimeTotal, unsigned int &runningTime-Lap, int &errorCode=default_)

• void resetLapTime (const int canId, int &errorCode=default_)

• void startSelfTest (int &errorCode=default_)

• void setPWMClock (iQ::LED::ClockType::Type clockType, int canId, int &errorCode=default_)

• void getPWMClock (iQ::LED::ClockType::Type &clockType, int canId, int &errorCode=default_)

• void getFanOnOffTemperatures (int canId, double &fanOn, double &fanOff, int &errorCode=default_)

• void getHeatingOnOffTemperatures (int canId, double &heatingOn, double &heatingOff, int &error-Code=default_)

• int getNumberOfIlluminantMemorySlots (int &errorCode=default_)

• void setActivateStoredIlluminant (const int slotNumber, int &errorCode=default_)

• void getActiveStoredIlluminant (int &slotNumber, int &errorCode=default_)

• int getDefaultIlluminantSlotNumber (int &errorCode=default_)

• void setDefaultIlluminantSlotNumber (const int slotNumber, int &errorCode=default_)

• void getStoredIlluminantDescriptor (const int slotNumber, iQ::LED::DeviceIlluminantInfo &deviceIlluminant-Info, int &errorCode=default_)

• void storeIlluminantOnDevice (const int slotNumber, iQ::LED::Illuminant ∗illuminant, int &errorCode=default_)

• void removeIlluminantOnDevice (const int slotNumber, int &errorCode=default_)

• void storeSequenceOnDevice (std::map< int, unsigned short > sequenceList, bool loopedSequence, int

iQ-LED C++ API V 3.0.3

Page 35: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 27

&errorCode=default_)

• void deleteSequenceOnDevice (int &errorCode=default_)

• void playSequenceOnDevice (iQ::LED::SeqPlayState::State playState, int &errorCode=default_)

• std::map< std::string, double > getElectricityValues (int canId, int &errorCode=default_)

• int getHardwareVersion (int &errorCode=default_)

• unsigned short getProductID (int &errorCode=default_)

• std::string getProductName (int &errorCode=default_)

• void getDeviceErrorMemory (const int canId, iQ::LED::DeviceErrorMemory &errorMemory, int &error-Code=default_)

• void getFWVersion (int canId, std::string &controllerFWVersion, std::string &moduleFWVersion, int &error-Code=default_)

Static Public Member Functions

• static std::map< std::string,LedController ∗ > createObjects (int &errorCode=default_)

• static std::vector< std::string > getAllSerialNumbers (std::map< std::string, LedController ∗ > objects)

• static std::string getErrorMessage (int &error)

4.4.1 Member Function Documentation

4.4.1.1 void iQ::LED::LedController::calibrate ( int & errorCode = default_, void ∗ callbackParam =nullptr )

iQ::LED::LedController::calibrate

Calibrates the device.

The calibration process incorporates the following steps:

• Measure the spectrum of every channel[1-22] with full intensity[1000]

• Measure the peak wavelength of every channel

• Measure spectrum with all channels[1-22] set to full intensity[1000]

The calibration process takes about 1 minute.

You can set the callback function using iQ::LED::LedController::setCallbackFunction to be able to receive thecurrent progress.

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 36: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

28 Class Documentation

callbackParam Sets some additional parameters that are used in the callback function.Please see iQ::LED::LedController::setCallbackFunction for details.

See Also

iQ::LED::LedController::saveCalibrationiQ::LED::LedController::loadCalibration

4.4.1.2 std::map< std::string, iQ::LED::LedController ∗ > iQ::LED::LedController::createObjects ( int& errorCode = default_ ) [static]

iQ::LED::LedController::createObjects

Scans for connected iQ-Led devices and creates an object for any connected device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

A map containing iQ::LED::LedController objects to control the found devices.The serial numbers of the devices defines the keys.e.g. ledDevice["400001"] contains the controller object of the iQ-LED device with the serial number "400001".

4.4.1.3 void iQ::LED::LedController::deleteSequenceOnDevice ( int & errorCode = default_ )

iQ::LED::LedController::deleteSequenceOnDevice

Removes the illuminant sequence in the internal hardware of the iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.4 void iQ::LED::LedController::getActiveStoredIlluminant ( int & slotNumber, int & errorCode =default_ )

iQ::LED::LedController::getActiveStoredIlluminant

This function reads the currently activated stored illuminant.

Parameters

iQ-LED C++ API V 3.0.3

Page 37: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 29

slotNumber A reference of the integer type, returns the slot number of the currently activated illuminant..

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.5 std::vector< std::string > iQ::LED::LedController::getAllSerialNumbers ( std::map< std::string,LedController ∗ > objects ) [static]

iQ::LED::LedController::getAllSerialNumbers

Parameters

objects std::map of iQ::LED::LedController objects created using iQ::LED::LedController::create-Objects.

Returns

A std::vector containing the serial numbers of the devices.

4.4.1.6 unsigned int iQ::LED::LedController::getCalibrationDate ( int & errorCode = default_ )

iQ::LED::LedController::getCalibrationDate

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The timestamp (number of seconds that have passed since 1970-01-01T00:00:00) of the date and time (UTC)when the current calibration was performed.

4.4.1.7 int iQ::LED::LedController::getChannelIntensity ( const int & channelID, int & errorCode =default_ ) const

iQ::LED::LedController::getChannelIntensity

This API call has been deprecated. Newer applications should use iQ::LED::LedController::getChannelIntensity-Rel() instead.

iQ-LED C++ API V 3.0.3

Page 38: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

30 Class Documentation

Parameters

channelID• channel ID [1-20]: color channel• channel ID [21-22]: white channel (only V1)• channel ID [23]: UV channel• channel ID [24-33]: IR channel

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The intensity value [0-1000] of the channel [1-33].

4.4.1.8 double iQ::LED::LedController::getChannelIntensityRel ( const int & channelID, int & errorCode= default_ ) const

iQ::LED::LedController::getChannelIntensityRel

Parameters

channelID• channel ID [1-20]: color channel• channel ID [21-22]: white channel (only V1 devies)• channel ID [23]: UV channel• channel ID [24-33]: IR channel

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The intensity value [0.0-100.0] of the channel [1-33].

4.4.1.9 bool iQ::LED::LedController::getChannelWaveLength ( const int & channelID, double & wave-Length )

iQ::LED::LedController::getChannelWaveLength

Retrieves the measured peak wavelength of the desired channel.

Parameters

channelID The channel id of the desired channel.

waveLength A reference to a double value that will receive the peak wavelength value of the channel.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 39: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 31

4.4.1.10 std::vector< int > iQ::LED::LedController::getConnectedModuleIDs ( iQ::LED::Module::Typetype, int & errorCode = default_ )

iQ::LED::LedController::getConnectedModuleIDs

Returns a vector that contains the IDs of all connected iQ-LED modules (of a specific type) of an iQ-LED device.

The available types are described in iQ::LED::Module::Type:

Enum value DescriptionSTANDARD Standard iQ-LED module with 22 channels from

420-800[nm].UVIR_EXTENSION Extension module with 11 (1 UV / 10 IR) additional

LED types to extend the wavelength range to405-1010[nm].

STANDARD_V2 Standard iQ-LED V2 module with 20 channels from380-820[nm].

IR_EXTENSION_V2 Infrared iQ-LED extension module.UV_EXTENSION_V2 Ultraviolet iQ-LED extension module.ALL Use this to select both types of modules.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

A vector that contains the IDs of all iQ-LED modules (of a specific type) of an iQ-LED device.

4.4.1.11 std::map< int, double > iQ::LED::LedController::getCoolingOffset ( int & errorCode =default_ )

iQ::LED::LedController::getCoolingOffset

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The temperature offset value of the hardware internal temperature control loop in [°C].For a detailed description of this value please see iQ::LED::LedController::setCoolingOffset

iQ-LED C++ API V 3.0.3

Page 40: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

32 Class Documentation

See Also

iQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffset

4.4.1.12 int iQ::LED::LedController::getDefaultIlluminantSlotNumber ( int & errorCode = default_ )

iQ::LED::LedController::getDefaultIlluminantSlotNumber

When you turn on an iQ-LED-device it may also turn on an default illuminant. This function

returns the slot number, which is then used for that feature.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.13 void iQ::LED::LedController::getDeviceErrorMemory ( const int canId, iQ::LED::DeviceError-Memory & errorMemory, int & errorCode = default_ )

iQ::LED::LedController::getDeviceErrorMemory

Reads the internal error memory of the LED device.

Parameters

id The can id of the internal iQ-LED-module.

illuminant A reference to an iQ::LED::DeviceErrorMemory object that will be filled with error informationdata.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.14 std::map< std::string, double > iQ::LED::LedController::getElectricityValues ( int canId, int &errorCode = default_ )

iQ::LED::LedController::getElectricityValues

Get the current electricity values of iQ-LED module. The keys of the returned map describe the kind of value.

iQ-LED C++ API V 3.0.3

Page 41: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 33

Parameters

canId Module ID of an iQ-LED module.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

Returns a map of electricity values of a iQ-LED module The units for the keys are: consumption = Ampere,power = Watt, voltage = Volt.

4.4.1.15 std::string iQ::LED::LedController::getErrorMessage ( int & error ) [static]

iQ::LED::LedController::getErrorMessage

Returns a plain text error message that corresponds to the given error code.

Almost every function in this API provides the possibility to catch errors that occur during processing.

As the returned error codes are simple integer values this function returns a detailed description of the underlyingvalue.

For example:// the variable that holds the error codeint error=0;// Use any API function with error code parameter. Your error variable is passed by reference so it can be

changed inside the function.ledControllerObject.someFunction(error)// If you pass this error code to getErrorMessage() it will return the plain text error message that

belongs to the error codestd::string errorMessage = ledControllerObject.getErrorMessage(error);

Parameters

error Error code caught from a function call.

Returns

Plain text error message that corresponds to the given error code.

4.4.1.16 void iQ::LED::LedController::getFanOnOffTemperatures ( int canId, double & fanOn, double &fanOff, int & errorCode = default_ )

iQ::LED::LedController::getFanOnOffTemperatures

Retrieves the on/off limits when an iQ-LED-device turns the internal cooling fans on or off.

Parameters

canId Module ID of an iQ-LED module.fanOn A reference to a double value that shall receive the temperature that notifies when the fan will

be turned on.

iQ-LED C++ API V 3.0.3

Page 42: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

34 Class Documentation

fanOff A reference to a double value that shall receive the temperature that notifies when the fan willbe turned off.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.17 void iQ::LED::LedController::getFWVersion ( int canId, std::string & controllerFWVersion, std-::string & moduleFWVersion, int & errorCode = default_ )

iQ::LED::LedController::getFWVersion

Reads the firmware version of the controller and a single iQ-LED module.

Parameters

canId The module ID.

controllerFW-Version

Reference to a string that receives the controller firmware version.

moduleFW-Version

Reference to a string that receives the module firmware version.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.18 int iQ::LED::LedController::getHardwareVersion ( int & errorCode = default_ )

iQ::LED::LedController::getHardwareVersion

Returns information about the iQ-LED product type V1 or V2.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

Returns 1 for iQ-LED V1 device or 2 for a iQ-LED V2 device.

4.4.1.19 void iQ::LED::LedController::getHeatingOnOffTemperatures ( int canId, double & heatingOn,double & heatingOff, int & errorCode = default_ )

iQ::LED::LedController::getHeatingOnOffTemperatures

Retrieves the on/off limits when an iQ-LED-device turns the internal heating on or off.

iQ-LED C++ API V 3.0.3

Page 43: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 35

Parameters

canId Module ID of an iQ-LED module.heatingOn A reference to a double value that shall receive the temperature that notifies when the heating

will be turned on.heatingOff A reference to a double value that shall receive the temperature that notifies when the heating

will be turned off.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.20 double iQ::LED::LedController::getIlluminance ( int & errorCode = default_ )

iQ::LED::LedController::getIlluminance

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The currently measured illuminance value in [lm/m&sup2].

See Also

iQ::LED::LedController::setIlluminance

4.4.1.21 double iQ::LED::LedController::getIlluminanceLimit ( int & errorCode = default_ )

iQ::LED::LedController::getIlluminanceLimit

Determines the maximum illuminance the iQ-LED device can achieve with the current target spectral distribution.

Please note that this function turns on the light source during measurement and turns it off once complete.

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)This function requires a set target spectrum. See iQ::LED::LedController::setTargetSpectrum.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The maximum illuminance value.

iQ-LED C++ API V 3.0.3

Page 44: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

36 Class Documentation

See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setIlluminance

4.4.1.22 iQ::LED::Illuminant iQ::LED::LedController::getIlluminant ( const std::string & name, boolperformMeasurements = true, int & errorCode = default_ )

iQ::LED::LedController::getIlluminant

Returns an iQ::LED::Illuminant object that contains the current settings of the iQ-LED device.

An illuminant provides a fast approach to set predefined light(spectral distribution and intensity),

without the necessity to perform a preceding calculation or measurement.

See Also

iQ::LED::LedController::setIlluminantAn illuminant contains:

• The intensity value[0-1000] for every single channel[1-22]• The target spectrum (if available)

Attention

The following additional information of an illuminant require a connected iQ::LED::Spectrometer object (see:iQ::LED::LedController::setSpectrometer)

• current spectrum• current illuminance• current luminance• current irradiance• current correlated color temperature• current color rendering index

Parameters

name Sets the name parameter of the returned iQ::LED::Illuminant object.perform-

MeasurementsPerform the measurements mentioned above.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

An iQ::LED::Illuminant object that contains information about the current light type of the iQ-LED light source.

4.4.1.23 double iQ::LED::LedController::getIntensity ( const iQ::LED::IntensityType::Type & type = iQ:-:LED::IntensityType::Illuminance, int & errorCode = default_ )

iQ::LED::LedController::getIntensity

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

iQ-LED C++ API V 3.0.3

Page 45: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 37

Parameters

type Specifies the measurement quantity.

See Also

iQ::LED::IntensityType::Type

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The recently measured inetnsity value of the specified type.

4.4.1.24 double iQ::LED::LedController::getIntensityLimit ( const iQ::LED::IntensityType::Type & type =iQ::LED::IntensityType::Illuminance, int & errorCode = default_ )

iQ::LED::LedController::getIntensityLimit

Determines the maximum intensity the iQ-LED device can achieve with the current target spectral distribution.

Please note that this function turns on the light source during measurement and turns it off once complete.

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)This function requires a set target spectrum. See iQ::LED::LedController::setTargetSpectrum.

Parameters

type Specifies the measurement quantity.

See Also

iQ::LED::IntensityType::Type

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The maximum intensity value of the specified type.

4.4.1.25 double iQ::LED::LedController::getIrradiance ( int & errorCode = default_ )

iQ::LED::LedController::getIrradiance

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

iQ-LED C++ API V 3.0.3

Page 46: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

38 Class Documentation

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The recently measured irradiance value in [µW/cm].

See Also

iQ::LED::LedController::setIrradiance

4.4.1.26 double iQ::LED::LedController::getIrradianceLimit ( int & errorCode = default_ )

iQ::LED::LedController::getIrradianceLimit

Determines the maximum irradiance value the iQ-LED device can achieve with the current target spectral distribu-tion.

Please note that this function turns on the lightsource during measurement and turns it off once complete.

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The maximum irradiance value.See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setIrradiance

4.4.1.27 double iQ::LED::LedController::getLuminance ( int & errorCode = default_ )

iQ::LED::LedController::getLuminance

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The currently measured luminance value in [cd/m&sup2].

iQ-LED C++ API V 3.0.3

Page 47: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 39

See Also

iQ::LED::LedController::setLuminance

4.4.1.28 double iQ::LED::LedController::getLuminanceLimit ( int & errorCode = default_ )

iQ::LED::LedController::getLuminanceLimit

Determines the maximum luminance value the iQ-LED device can achieve with the current target spectral distribu-tion.

Please note that this function turns on the lightsource during measurement and turns it off after finishing.

Attention

This function needs an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The maximum luminance value.See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setLuminance

4.4.1.29 std::map< int, double > iQ::LED::LedController::getMaxTemperature ( int & errorCode =default_ )

iQ::LED::LedController::getMaxTemperature

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The maximum temperature of the hardware internal temperature control loop in [°C].For a detailed description of this value please see iQ::LED::LedController::setMaxTemperature

iQ-LED C++ API V 3.0.3

Page 48: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

40 Class Documentation

See Also

iQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffsetiQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffset

4.4.1.30 std::map< int, double > iQ::LED::LedController::getMinTemperature ( int & errorCode =default_ )

iQ::LED::LedController::setMinTemperature

changes the internal temperature control loop of the hardware.

The aim of this control loop is to keep the modules within an appropriate temperature range in order to ensure stablelighting conditions.

Attention

You should be aware that changing this value may destroy your iQ-LED hardware!Every iQ-LED device is delivered with optimized temperature settings.

Parameters

minTemperature The minimum temperature determines the temperature [°C] the iQ-LED device starts internalwarming [°C].

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffsetiQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffset

iQ::LED::LedController::setMaxTemperature

Changes the internal temperature control loop of the hardware.

The aim of this control loop is to keep the modules within an appropriate temperature range in order to ensure stablelighting conditions.

Attention

You should be aware that changing this value may destroy your iQ-LED hardware!Every iQ-LED device is delivered with optimized temperature settings.

Parameters

maxTemperature The maximum temperature determines the temperature [°C] the iQ-LED device starts internalcooling [°C].

iQ-LED C++ API V 3.0.3

Page 49: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 41

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffsetiQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffset

iQ::LED::LedController::setWarmingOffset

Changes the internal temperature control loop of the hardware.

The aim of this control loop is to keep the modules within an appropriate temperature range in order to ensure stablelighting conditions.

Attention

You should be aware that changing this value may destroy your iQ-LED hardware!Every iQ-LED device is delivered with optimized temperature settings.

Parameters

warmingOffset The warming offset determines the temperature [°C] when the iQ-LED device stops internalwarming.For example, if the minimum temperature is set to 32°C and the offset to 1.0°C then thewarming is stopped at 33°C.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setCoolingOffsetiQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffset

iQ::LED::LedController::setCoolingOffset

Changes the internal temperature control loop of the hardware.

The aim of this control loop is to keep the modules within an appropriate temperature range in order to ensure stablelighting conditions.

iQ-LED C++ API V 3.0.3

Page 50: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

42 Class Documentation

Attention

You should be aware that changing this value may destroy your iQ-LED hardware!Every iQ-LED device is delivered with optimized temperature settings.

Parameters

coolingOffset The cooling offset determines the temperature [°C] the iQ-LED device stops internal cooling.For example, if the maximum temperature is set to 36°C and the offset to 1.0°C then thecooling is stopped at 35°C.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffset

iQ::LED::LedController::getMinTemperature

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The minimum temperature of the hardware internal temperature control loop in [°C].For a detailed description of this value please see iQ::LED::LedController::setMinTemperature

See Also

iQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getWarmingOffsetiQ::LED::LedController::getCoolingOffsetiQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffset

4.4.1.31 iQ::LED::ModuleGroup ∗ iQ::LED::LedController::getModuleGroup ( )

iQ::LED::LedController::getModuleGroup

Returns the currently assigned module group.

See Also

iQ::LED::ModuleGroup

iQ-LED C++ API V 3.0.3

Page 51: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 43

Returns

Current iQ::LED::ModuleGroup object.

4.4.1.32 void iQ::LED::LedController::getModuleOperatingTime ( const int canId, unsigned int & running-TimeTotal, unsigned int & runningTimeLap, int & errorCode = default_ )

iQ::LED::LedController::getModuleOperatingTime

Reads the internal operating times of the LED device.

Parameters

id The can id of the internal iQ-LED-module.

runningTime-Total

Returns the total running time in minutes since the first use of the module.

runningTimeLap Returns the running time, in minutes, since the lap time has been reset on the module.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.33 std::map< int, double > iQ::LED::LedController::getModuleTemperatures ( int & errorCode =default_ )

iQ::LED::LedController::getModuleTemperatures

Returns a map of the temperatures of every single module incorporated in an iQ-LED device.

The keys of the map correspond to the CAN IDs of the module.

E.g. map[1] contains the temperature [°C] of the module with CAN ID 1.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 52: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

44 Class Documentation

Returns

A map of the temperatures [°C] of every single module incorporated in an iQ-LED device.

4.4.1.34 std::map< std::string, double > iQ::LED::LedController::getModuleTemperatures ( int canId, int& errorCode )

iQ::LED::LedController::getModuleTemperatures

Returns the temperatures of a single module in an iQ-LED device.

The keys of the map correspond to the measurement sensor number.

E.g. map[1] contains the temperature [°C] of the module with CAN ID 1.

iQ-LED C++ API V 3.0.3

Page 53: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 45

Parameters

canId The canId of the iQ-LED module.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

A map of the temperatures [°C] of every single module incorporated in an iQ-LED device.

4.4.1.35 std::map< int, double > iQ::LED::LedController::getModuleTemperaturesContinuous ( int &errorCode = default_ )

iQ::LED::LedController::getModuleTemperaturesContinuous

Returns a map of the mean temperatures of every single module incorporated in an iQ-LED device.

This function shall be called with a higher frequency (e.g. 1000ms - 500ms)

The keys of the map correspond to the CAN IDs of the module.

E.g. map[1] contains the mean temperature [°C] of the module with CAN ID 1.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

An map of the mean temperatures [°C] of every single module incorporated in an iQ-LED device.

4.4.1.36 int iQ::LED::LedController::getNumberOfIlluminantMemorySlots ( int & errorCode = default-_ )

iQ::LED::LedController::getNumberOfIlluminantMemorySlots

Returns the number of available illuminat slots.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 54: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

46 Class Documentation

Returns

Number of available illuminant slots.

4.4.1.37 unsigned short iQ::LED::LedController::getProductID ( int & errorCode = default_ )

iQ::LED::LedController::getProductID

Returns the product id of an iQ-LED device.

iQ-LED C++ API V 3.0.3

Page 55: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 47

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

productId An short type value with the product ID.

4.4.1.38 std::string iQ::LED::LedController::getProductName ( int & errorCode = default_ )

iQ::LED::LedController::getProductName

Returns the product name of an iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.39 void iQ::LED::LedController::getPWMClock ( iQ::LED::ClockType::Type & clockType, int canId,int & errorCode = default_ )

iQ::LED::LedController::getPWMClock

Gets the PWM clock frequency of a built-in iQ-LED module

Parameters

clockType This parameter defines the clock type that shall be used (32kHz/128kHz)

canId This ID defines the module that shall be configured.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.40 std::string iQ::LED::LedController::getSerialNumber ( int & errorCode = default_ )

iQ::LED::LedController::getSerialNumber

Returns the serial number of the connected iQ-LED device.

Any iQ::LED::LedController object can access only one iQ-LED device.

Parameters

iQ-LED C++ API V 3.0.3

Page 56: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

48 Class Documentation

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The serial number of the connected iQ-LED device.

4.4.1.41 void iQ::LED::LedController::getStoredIlluminantDescriptor ( const int slotNumber, iQ::LED::-DeviceIlluminantInfo & deviceIlluminantInfo, int & errorCode = default_ )

iQ::LED::LedController::getStoredIlluminantDescriptor

This function retrieves information about a stored illuminant on an LED device.

Parameters

slotNumber The slot number of the illuminant where the information shall be read.

deviceIlluminant-Info

A reference to an DeviceIlluminantInfo object instance that is used to fill with information data.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.42 iQ::LED::Spectrum iQ::LED::LedController::getTargetSpectrum ( int & errorCode =default_ ) const

iQ::LED::LedController::getTargetSpectrum

Returns the current target spectral distribution.

Please note that the current target spectrum may differ from the input spectrum using iQ::LED::LedController::set-TargetSpectrum. It might be rescaled during loading or when setting the intensity using iQ::LED::LedController::set-Illuminance / iQ::LED::LedController::setIrradiance.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

iQ::LED::Spectrum object that contains the current target spectral distribution.

iQ-LED C++ API V 3.0.3

Page 57: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 49

See Also

iQ::LED::LedController::setTargetSpectrum

4.4.1.43 iQ::LED::Module::Type iQ::LED::LedController::getTypeOfModuleId ( const int & canId )

iQ::LED::LedController::getTypeOfModuleId

Returns the type of an built-in iQ-LED-module.

iQ-LED C++ API V 3.0.3

Page 58: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

50 Class Documentation

Parameters

moduleID The type of module can id will be received by the caller.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.44 std::map< int, double > iQ::LED::LedController::getWarmingOffset ( int & errorCode =default_ )

iQ::LED::LedController::getWarmingOffset

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

Returns

The temperature offset value of the hardware internal temperature control loop in [°C].For a detailed description of this value please see iQ::LED::LedController::setWarmingOffset

See Also

iQ::LED::LedController::getMinTemperatureiQ::LED::LedController::getMaxTemperatureiQ::LED::LedController::getCoolingOffsetiQ::LED::LedController::setMinTemperatureiQ::LED::LedController::setMaxTemperatureiQ::LED::LedController::setWarmingOffsetiQ::LED::LedController::setCoolingOffset

4.4.1.45 bool iQ::LED::LedController::isModuleConnected ( const int & canId, int & errorCode =default_ )

iQ::LED::LedController::isModuleConnected

Checks whether a module with this can ID is connected to the iQ-LED device.

Parameters

moduleID Module ID of an iQ-LED module.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 59: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 51

Returns

True if a module with the ID is connected.False if no module with this ID is connected.

4.4.1.46 void iQ::LED::LedController::loadCalibration ( std::string fileName, int & errorCode =default_ )

iQ::LED::LedController::loadCalibration

Loads calibration data from file.

Parameters

fileName Specifies the full path name of the calibration file to load.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::saveCalibrationiQ::LED::LedController::calibrate

4.4.1.47 void iQ::LED::LedController::playSequenceOnDevice ( iQ::LED::SeqPlayState::State playState,int & errorCode = default_ )

iQ::LED::LedController::playSequenceOnDevice

Plays, pauses, or stops an already stored sequence on a iQ-LED-device.

Parameters

playState The desired playstate of the device’s internal illuminant sequence (Stop, Play, Pause, Re-sume);

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.48 void iQ::LED::LedController::removeIlluminantOnDevice ( const int slotNumber, int & errorCode= default_ )

iQ::LED::LedController::removeIlluminantOnDevice

This function removes an illuminant on the internal hardware of the LED device.

Parameters

iQ-LED C++ API V 3.0.3

Page 60: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

52 Class Documentation

slotNumber The slot number where the illuminant information shall be written.

illuminant A pointer to an iQ::LED::Illuminant object that shall be written on the device.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.49 void iQ::LED::LedController::removeSpectrometer ( int & errorCode = default_ )

iQ::LED::LedController::removeSpectrometer

Removes the iQ::LED::Spectrometer object.

Functions that require a spectrometer object:

• iQ::LED::LedController::calibrate

• iQ::LED::LedController::setIlluminance

• iQ::LED::LedController::getIlluminance

• iQ::LED::LedController::setIrradiance

• iQ::LED::LedController::getIrradiance

Parameters

spectrometer iQ::LED::Spectrometer objecterrorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.50 void iQ::LED::LedController::resetLapTime ( const int canId, int & errorCode = default_ )

iQ::LED::LedController::resetLapTime

Resets the lap time counter of an iQ-LED V2 module.

Parameters

canId The module’s ID.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.51 void iQ::LED::LedController::saveCalibration ( std::string fileName, int & errorCode =default_ )

iQ::LED::LedController::saveCalibration

iQ-LED C++ API V 3.0.3

Page 61: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 53

Saves the current calibration to file.Attention

This function requires calibration data. Call iQ::LED::LedController::calibrate before.

Parameters

fileName Specifies the full path name of the calibration file to save.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::loadCalibrationiQ::LED::LedController::calibrate

4.4.1.52 void iQ::LED::LedController::setActivateStoredIlluminant ( const int slotNumber, int & errorCode= default_ )

iQ::LED::LedController::setActivateStoredIlluminant

This function activates a stored illuminant on an iQ-LED device.

Parameters

slotNumber The slot number of the illuminant that shall be used as default.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.53 void iQ::LED::LedController::setCallbackFunction ( void(∗)(int, void ∗) callbackFunction )

iQ::LED::LedController::setCallbackFunction

Sets a callback function to be able to receive some progress message from time consuming functions.

Recently the following functions offer the callback functionality:

• iQ::LED::LedController::calibrate

Parameters

The callback function receives 2 parameters:

• an integer containing information about the progress (0-100)

• an additional pointer that offers the possibility to use some external objects inside of the function

For an example of how to use the callback please see iQ-LED - set up a callback function

iQ-LED C++ API V 3.0.3

Page 62: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

54 Class Documentation

4.4.1.54 void iQ::LED::LedController::setChannelIntensitiesRel ( std::map< int, double > channel-Settings, int & errorCode = default_ )

iQ::LED::LedController::setChannelIntensitiesRel

Sets the light intensity of multiple channels at once

Parameters

std-::map<int,double>

• int = channel number• double = light intensity value in percent (0.0-100.0)

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.55 void iQ::LED::LedController::setChannelIntensity ( const int & channelID, const int & intensity,int & errorCode = default_ )

iQ::LED::LedController::setChannelIntensity

This API call has been deprecated. Newer applications should use iQ::LED::LedController::setChannelIntensity-Rel() instead.

Sets the intensity [0-1000] of one channel [1-22] of the iQ-LED device.

Attention

Changing any channel intensity with this function resets your current target spectrum.

Parameters

channelID• channel ID [0]: sets the intensity for all channels• channel ID [1-20]: sets the intensity for one color channel• channel ID [21-22]: sets the intensity for one white channel

intensity• intensity value [0-1000]

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.56 void iQ::LED::LedController::setChannelIntensityRel ( const int & channelID, double intensity,int & errorCode = default_ )

iQ::LED::LedController::setChannelIntensityRel

Parameters

iQ-LED C++ API V 3.0.3

Page 63: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 55

channelID• channel ID [1-20]: color channel• channel ID [21-22]: white channel (only V1 devies)• channel ID [23]: UV channel• channel ID [24-33]: IR channel

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.57 void iQ::LED::LedController::setDefaultIlluminantSlotNumber ( const int slotNumber, int & error-Code = default_ )

iQ::LED::LedController::setDefaultIlluminantSlotNumber

When you turn on an iQ-LED-device it may also turn on a default illuminant. This function

sets the slot number, which is used for that feature.

Parameters

slotNumber The slot number of the illuminant that shall be used as default.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.58 void iQ::LED::LedController::setFITMinMaxValues ( int min, int max, int & errorCode =default_ )

iQ::LED::LedController::setFITMinMaxValues

Sets the wavelength range (min/max) that shall be used to calculate the FIT value.

Parameters

min The lower bound edge value used to calculate the FIT value.

max The higher bound edge value used to calculate the FIT value.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.59 void iQ::LED::LedController::setIlluminance ( const double & value, int & errorCode =default_ )

iQ::LED::LedController::setIlluminance turns on the iQ-LED device to the desired illuminance value in considerationof the target spectral distribution.

iQ-LED C++ API V 3.0.3

Page 64: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

56 Class Documentation

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)This function requires a set target spectrum. See iQ::LED::LedController::setTargetSpectrum.

Parameters

value Illuminance value in [lm/m&sup2]errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setIrradianceiQ::LED::LedController::setLuminanceiQ::LED::LedController::getIlluminanceiQ::LED::LedController::getIlluminanceLimit

4.4.1.60 void iQ::LED::LedController::setIlluminant ( iQ::LED::Illuminant ∗ illuminant, int & errorCode= default_ )

iQ::LED::LedController::setIlluminant

Sets an illuminant that provides a fast approach to set predefined light (with predefined spectral distribution andintensity)

without the necessity to perform a preceding calculation or measurement.

Attention

Each illuminant is linked to one specific iQ-LED device.If an illuminant is set, which is not associated with your iQ-LED device, errorCode 13 will appear.If the iQ-LED device was calibrated in the meantime, then all anterior illuminant files become invalid and theerrorCode 14 will appear.

Parameters

illuminant iQ::LED::Illuminant object that contains information about a predefined light type.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::getIlluminant

4.4.1.61 void iQ::LED::LedController::setIntensity ( const double & value, const iQ::LED::Intensity-Type::Type & type = iQ::LED::IntensityType::Illuminance, int & errorCode =default_ )

iQ::LED::LedController::setIntensity

Turns on the iQ-LED device to the desired intensity value in consideration of the target spectral distribution.

iQ-LED C++ API V 3.0.3

Page 65: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 57

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)This function requires a set target spectrum. See iQ::LED::LedController::setTargetSpectrum.

Parameters

value Intensity valuetype Specifies the measurement quantity.

See Also

iQ::LED::IntensityType::Type

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::getIntensityiQ::LED::LedController::getIntensityLimit

4.4.1.62 void iQ::LED::LedController::setIrradiance ( const double & value, int & errorCode = default-_ )

iQ::LED::LedController::setIrradiance

Turns on the iQ-LED device to the desired irradiance value in consideration of the target spectral distribution.

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)

Parameters

value The irradiance value in [µW/cm]errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 66: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

58 Class Documentation

See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setIlluminanceiQ::LED::LedController::getIrradianceiQ::LED::LedController::getIrradianceLimit

4.4.1.63 void iQ::LED::LedController::setLuminance ( const double & value, int & errorCode =default_ )

iQ::LED::LedController::setLuminance

Turns on the iQ-LED device to the desired luminance value in consideration of the target spectral distribution.

Attention

This function requires an iQ::LED::Spectrometer object (see: iQ::LED::LedController::setSpectrometer)This function requires a set target spectrum. See iQ::LED::LedController::setTargetSpectrum.

Parameters

value Luminance value in [cd/m&sup2]errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::setTargetSpectrumiQ::LED::LedController::setIrradianceiQ::LED::LedController::setIlluminanceiQ::LED::LedController::getLuminanceiQ::LED::LedController::getLuminanceLimit

4.4.1.64 void iQ::LED::LedController::setModuleGroup ( iQ::LED::ModuleGroup ∗ modules )

iQ::LED::LedController::setModuleGroup

Sets a module group.

A module group contains the information about the modules to be controlled as a single unit.

The default module group contains all connected modules of a device.

iQ-LED C++ API V 3.0.3

Page 67: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 59

See Also

iQ::LED::ModuleGroup

Parameters

modules An iQ::LED::ModuleGroup object.

4.4.1.65 void iQ::LED::LedController::setPWMClock ( iQ::LED::ClockType::Type clockType, int canId, int& errorCode = default_ )

iQ::LED::LedController::setPWMClock

Sets the PWM clock frequency of a built-in iQ-LED module

Parameters

clockType This parameter defines the clock type that shall be used (32kHz/128kHz)

canId This ID defines the module that shall be configured.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.66 void iQ::LED::LedController::setSpectrometer ( iQ::LED::SpectrometerController ∗ spectrom-eter, int & errorCode = default_ )

iQ::LED::LedController::setSpectrometer

Sets an iQ::LED::Spectrometer object to enable iQ::LED::LedController the usage of a spectrometer.

Functions that require a spectrometer object:

• iQ::LED::LedController::calibrate

• iQ::LED::LedController::setIlluminance

• iQ::LED::LedController::getIlluminance

• iQ::LED::LedController::setIrradiance

• iQ::LED::LedController::getIrradiance

Parameters

spectrometer iQ::LED::Spectrometer objecterrorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

iQ-LED C++ API V 3.0.3

Page 68: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

60 Class Documentation

4.4.1.67 void iQ::LED::LedController::setTargetSpectrum ( const iQ::LED::Spectrum & target, int &errorCode = default_ )

iQ::LED::LedController::setTargetSpectrum

Sets the target spectral distribution of the resulting light.

The iQ-LED device generates light that fits to this spectral distribution as accurate as possible.

This function does not turn the iQ-LED light source on. See iQ::LED::LedController::setIlluminance / iQ::LED::Led-Controller::setIrradiance

Parameters

target iQ::LED::Spectrum object that determines the target spectral distribution of the resulting light.It does not set the intensity of the resulting light, but only the relative spectral distribution.The intensity may be set using iQ::LED::LedController::setIlluminance or iQ::LED::Led-Controller::setIrradiance

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

See Also

iQ::LED::LedController::getTargetSpectrumiQ::LED::LedController::setIlluminanceiQ::LED::LedController::setIrradiance

4.4.1.68 void iQ::LED::LedController::startSelfTest ( int & errorCode = default_ )

iQ::LED::LedController::startSelfTest

Starts an internal self-test of the iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.69 void iQ::LED::LedController::storeIlluminantOnDevice ( const int slotNumber, iQ::LED::-Illuminant ∗ illuminant, int & errorCode = default_ )

iQ::LED::LedController::storeIlluminantOnDevice

This function stores an illuminant on the internal hardware of an LED device.

Parameters

slotNumber The slot number where the illuminant information shall be written.

iQ-LED C++ API V 3.0.3

Page 69: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.4 iQ::LED::LedController Class Reference 61

illuminant A pointer to an iQ::LED::Illuminant object that shall be written on the device.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.70 void iQ::LED::LedController::storeSequenceOnDevice ( std::map< int, unsigned short >

sequenceList, bool loopedSequence, int & errorCode = default_ )

iQ::LED::LedController::storeSequenceOnDevice

Stores an illuminant sequence in the internal hardware of the iQ-LED device. You will need information about

the stored illuminant’s slot numbers to create this sequence list.

Parameters

sequenceList A map of the illuminants that shall be used to create a sequence.<int> The slot number of the stored illuminant. You can also use 0 to turn off light for acertain amount of time.<unsigned short>=""> The display time of an stored illuminant in 10ms units. (e.g. 1 =10ms);

loopedSequence Determines whether the sequence shall be looped or not when played.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.71 void iQ::LED::LedController::unsetCalibration ( int & errorCode = default_ )

iQ::LED::LedController::unsetCalibration

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.4.1.72 void iQ::LED::LedController::updateIlluminant ( std::string sourceIlluminantFile, std::stringdestinationIlluminantFile, int & errorCode = default_ )

iQ::LED::LedController::updateIlluminant

Updates the source illuminant file using the current calibration data and saves it to the destination illuminant file.

Attention

This function will turn off the iQ-LED device.

iQ-LED C++ API V 3.0.3

Page 70: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

62 Class Documentation

Parameters

source-IlluminantFile

The full path name of an existing iQ::LED::Illuminant file.

destination-IlluminantFile

The full path name of the updated illuminant file to save.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::LedController::get-ErrorMessage

4.5 iQ::LED::ModuleGroup Class Reference

Public Member Functions

• ModuleGroup ()

• ModuleGroup (const ModuleGroup &copy)

• ModuleGroup (const std::string &fileName)

• ∼ModuleGroup ()

• const ModuleGroup & operator= (const ModuleGroup &src)

• void addModule (const int &id, int &errorCode=default_)

• void addModule (std::vector< int > id, int &errorCode=default_)

• void removeModule (const int &id, int &errorCode=default_)

• void removeModule (std::vector< int > id, int &errorCode=default_)

• bool contains (const int &id)

• std::vector< int > getModuleList ()

• void setName (const std::string &name)

• std::string getName ()

• bool isCalibrated ()

• void unsetCalibration (int &errorCode=default_)

• std::vector< double > getCalibrationPeakWavelength (int &errorCode=default_)

• std::vector< double > getCalibrationChannelData (const int &channel, int &errorCode=default_)

• unsigned int getCalibrationDate (int &errorCode=default_)

• void getCalibrationMaxValues (double &maxIlluminance, double &maxIrradiance, int &errorCode=default_)

• void save (const std::string &fileName, int &errorCode=default_)

• void load (const std::string &fileName, int &errorCode=default_)

Static Public Member Functions

• static std::string getErrorMessage (int &error)

iQ-LED C++ API V 3.0.3

Page 71: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.5 iQ::LED::ModuleGroup Class Reference 63

Friends

• class iQ::LED::LedController

4.5.1 Detailed Description

An iQ-LED device consists of one or more single iQ-LED modules. Within the iQ-LED device each module has aunique module ID.

iQ::LED::ModuleGroup is part of every iQ::LED::LedController. By default, there is always one iQ::LED::Module-Group in every iQ::LED::LedController containing all its modules, so that the device behaves as a single unit. Itcontains the information about the modules to be controlled.

You can add (iQ::LED::ModuleGroup::addModule) and remove (iQ::LED::ModuleGroup::removeModule) modules toa module group.

An iQ::LED::LedController only can manage one iQ::LED::ModuleGroup at a time. If you work with different groups,you can maintain them outside of your iQ::LED::LedController object and set the one needed using iQ::LED::Led-Controller::setModuleGroup.

4.5.2 Constructor & Destructor Documentation

4.5.2.1 iQ::LED::ModuleGroup::ModuleGroup ( const ModuleGroup & copy )

iQ::LED::ModuleGroup::ModuleGroup

Creates an iQ::LED::ModuleGroup object from an existing one.

Parameters

copy iQ::LED::ModuleGroup object. The data is copied to the new object

4.5.2.2 iQ::LED::ModuleGroup::ModuleGroup ( const std::string & fileName )

iQ::LED::ModuleGroup::ModuleGroup

Creates an iQ::LED::ModuleGroup object from an existing iQ::LED::ModuleGroup file.

iQ-LED C++ API V 3.0.3

Page 72: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

64 Class Documentation

See Also

iQ::LED::ModuleGroup::save.

Parameters

fileName Specifies full path name of an module group file.

4.5.3 Member Function Documentation

4.5.3.1 void iQ::LED::ModuleGroup::addModule ( const int & id, int & errorCode = default_ )

iQ::LED::ModuleGroup::addModule

Adds a single iQ-LED module with a given ID to the module group.

Attention

Please note that adding iQ-LED modules to a group or removing modules from a group will void the calibrationof this group. You must then calibrate the group again.

Parameters

id ID of an iQ-LED module.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.5.3.2 void iQ::LED::ModuleGroup::addModule ( std::vector< int > id, int & errorCode = default_)

iQ::LED::ModuleGroup::addModule

Adds multiple iQ-LED modules with given IDs to the module group.

Attention

Please note that adding iQ-LED modules to a group or removing modules from a group will void the calibrationof this group. You must then calibrate the group again.

Parameters

id A vector list containing the IDs of the iQ-LED modules.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.5.3.3 bool iQ::LED::ModuleGroup::contains ( const int & id )

iQ::LED::ModuleGroup::contains

Checks if the module group contains the iQ-LED module with a given ID.

iQ-LED C++ API V 3.0.3

Page 73: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.5 iQ::LED::ModuleGroup Class Reference 65

Parameters

id ID of an iQ-LED module.

Returns

true if the module group contains the iQ-LED module with the given ID, otherwise false.

4.5.3.4 std::vector< double > iQ::LED::ModuleGroup::getCalibrationChannelData ( const int & channel,int & errorCode = default_ )

iQ::LED::ModuleGroup::getCalibrationChannelData

Returns the absolute irradiance values measured during a calibration.

Parameters

channel specifies the channel number of the iQ-LED modules within a module group.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

Absolute irradiance data of one channel.

4.5.3.5 unsigned int iQ::LED::ModuleGroup::getCalibrationDate ( int & errorCode = default_ )

iQ::LED::ModuleGroup::getCalibrationDate

Returns the date when the current calibration was performed.

As the number of seconds that have passed since 1970-01-01T00:00:00.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

the date in seconds when the current calibration was performed.

4.5.3.6 void iQ::LED::ModuleGroup::getCalibrationMaxValues ( double & maxIlluminance, double &maxIrradiance, int & errorCode = default_ )

iQ::LED::ModuleGroup::getCalibrationMaxValues

Returns the maximum illuminance and irradiance values that

where measured when the calibration was done.

iQ-LED C++ API V 3.0.3

Page 74: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

66 Class Documentation

Parameters

maxIlluminance Receives the measured max illumincance.maxIrradiance Receives the measured max irradiance.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

4.5.3.7 std::vector< double > iQ::LED::ModuleGroup::getCalibrationPeakWavelength ( int & errorCode= default_ )

iQ::LED::ModuleGroup::getCalibrationPeakWavelength

Returns the channel peak wavelengths measured during a calibration.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

List of peak wavelengths for each channel. If the module group has not been calibrated yet then this list isempty.

4.5.3.8 std::vector< int > iQ::LED::ModuleGroup::getModuleList ( )

iQ::LED::ModuleGroup::getModuleList

Returns a list of all IDs of the iQ-LED modules belonging to the module group.

Returns

list of all IDs of the iQ-LED modules belonging to the module group

4.5.3.9 std::string iQ::LED::ModuleGroup::getName ( )

iQ::LED::ModuleGroup::getName

Returns the name of the module group.

iQ-LED C++ API V 3.0.3

Page 75: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.5 iQ::LED::ModuleGroup Class Reference 67

Returns

Name of the module group

4.5.3.10 bool iQ::LED::ModuleGroup::isCalibrated ( )

iQ::LED::ModuleGroup::isCalibrated

Checks if the current module group was calibrated using iQ::LED::LedController::calibrate().

Attention

Please note that adding iQ-LED modules to a group or removing modules from a group will void the calibrationof this group. You must then calibrate the group again.

Returns

True if the module group was calibrated, otherwise false.

4.5.3.11 void iQ::LED::ModuleGroup::load ( const std::string & fileName, int & errorCode = default_)

iQ::LED::ModuleGroup::load

Loads a module group object from a file.

Parameters

fileName Specifies the full path name of the module group file to load.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

See Also

iQ::LED::ModuleGroup::save

4.5.3.12 void iQ::LED::ModuleGroup::removeModule ( const int & id, int & errorCode = default_ )

iQ::LED::ModuleGroup::removeModule

Removes a single iQ-LED module with a given ID from the module group.

Attention

Please note that adding iQ-LED modules to a group or removing modules from a group will void the calibrationof this group. You must then calibrate the group again.

Parameters

id ID of an iQ-LED module.

iQ-LED C++ API V 3.0.3

Page 76: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

68 Class Documentation

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.5.3.13 void iQ::LED::ModuleGroup::removeModule ( std::vector< int > id, int & errorCode =default_ )

iQ::LED::ModuleGroup::removeModule

Removes multiple iQ-LED modules with given IDs from the module group.

Attention

Please note that adding iQ-LED modules to a group or removing modules from a group will void the calibrationof this group. You must then calibrate the group again.

Parameters

id list containing the IDs of the iQ-LED moduleserrorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.5.3.14 void iQ::LED::ModuleGroup::save ( const std::string & fileName, int & errorCode = default_)

iQ::LED::ModuleGroup::save

Saves the module group object to a file.

Parameters

fileName Specifies the full path name of the module group file to save.

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Illuminant::getError-Message

See Also

iQ::LED::ModuleGroup::load

4.5.3.15 void iQ::LED::ModuleGroup::setName ( const std::string & name )

iQ::LED::ModuleGroup::setName

Sets an optional name of the module group.

iQ-LED C++ API V 3.0.3

Page 77: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 69

Parameters

name Name of the module group

4.5.3.16 void iQ::LED::ModuleGroup::unsetCalibration ( int & errorCode = default_ )

iQ::LED::ModuleGroup::unsetCalibration

Removes the current calibration from the object

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::ModuleGroup::get-ErrorMessage

4.6 iQ::LED::SpectrometerController Class Reference

Public Member Functions

• ∼SpectrometerController ()

• std::string getSerialNumber (int &errorCode=default_) const

• double getIntegrationTime (int &errorCode=default_) const

• void setIntegrationTime (double value, int &errorCode=default_)

• int getScansToAverage (int &errorCode=default_) const

• void setScansToAverage (int value, int &errorCode=default_)

• int getBinning (int &errorCode=default_) const

• void setBinning (int value, int &errorCode=default_)

• void saveSettings (const std::string &fileName, int &errorCode=default_)

• void loadSettings (const std::string &fileName, int &errorCode=default_)

• void measureDarkCurrent (int &errorCode=default_)

• Spectrum getDarkCurrentMeasurement (int &errorCode=default_)

• void saveDarkCurrent (const std::string &fileName, int &errorCode=default_)

• void loadDarkCurrent (const std::string &fileName, int &errorCode=default_)

• Spectrum measureAbsoluteSpectrum (int &errorCode=default_)

• Spectrum measureCounts (int &errorCode=default_)

• double measureColorRenderingIndex (int &errorCode=default_)

• double measureCorrelatedColorTemperature (int &errorCode=default_)

• double measureIlluminance (int &errorCode=default_)

• double measureLuminance (int &errorCode=default_)

• double measureIrradiancePower (int &errorCode=default_)

• double calculateColorRenderingIndex (iQ::LED::Spectrum ∗spectrum, int &errorCode=default_)

• double calculateCorrelatedColorTemperature (iQ::LED::Spectrum ∗spectrum, int &errorCode=default_)

• double calculateIlluminance (iQ::LED::Spectrum ∗spectrum, int &errorCode=default_)

iQ-LED C++ API V 3.0.3

Page 78: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

70 Class Documentation

• double calculateLuminance (iQ::LED::Spectrum ∗spectrum, int &errorCode=default_)

• double calculateIrradiancePower (iQ::LED::Spectrum ∗spectrum, int &errorCode=default_)

• void setIlluminanceCompensation (const double &measuredIlluminance)

• double getIlluminanceCompensation ()

• void setLuminanceCompensation (const double &measuredLuminance)

• double getLuminanceCompensation ()

• void setIrradianceCompensation (const double &measuredIrradiance)

• double getIrradianceCompensation ()

• void setDensityFilterCompensation (const double &density)

• double getDensityFilterCompensation ()

Static Public Member Functions

• static std::map< std::string,SpectrometerController ∗ > createObjects (int &errorCode=default_)

• static std::vector< std::string > getAllSerialNumbers (std::map< std::string, SpectrometerController ∗ > ob-jects)

• static std::string getErrorMessage (int &error)

Friends

• class iQ::LED::LedController

4.6.1 Member Function Documentation

4.6.1.1 double iQ::LED::SpectrometerController::calculateColorRenderingIndex ( iQ::LED::Spectrum∗ spectrum, int & errorCode = default_ )

iQ::LED::SpectrometerController::calculateColorRenderingIndex

Calculates the color rendering index from a given spectrum.

Parameters

spectrum iQ::LED::Spectrum object from a previous measurement.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 79: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 71

Returns

The color rendering index of the given spectrum.

4.6.1.2 double iQ::LED::SpectrometerController::calculateCorrelatedColorTemperature ( iQ::LED::-Spectrum ∗ spectrum, int & errorCode = default_ )

iQ::LED::SpectrometerController::calculateCorrelatedColorTemperature

Calculates the correlated color temperature for a given spectrum.

The implementation of the correlated color temperature is based on: "Color Science: Concepts and Methods,Quantitative Data and Formulae", 2nd edition, 1982 (Wiley Classics)

Parameters

spectrum iQ::LED::Spectrum object from a previous measurement.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The correlated color temperature of the given spectrum.

4.6.1.3 double iQ::LED::SpectrometerController::calculateIlluminance ( iQ::LED::Spectrum ∗ spec-trum, int & errorCode = default_ )

iQ::LED::SpectrometerController::calculateIlluminance

Calculates the illuminance value for a given spectrum.

Parameters

spectrum iQ::LED::Spectrum object from a previous measurement.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The illuminance value in [lm/m&sup2 of the given spectrum.

4.6.1.4 double iQ::LED::SpectrometerController::calculateIrradiancePower ( iQ::LED::Spectrum ∗spectrum, int & errorCode = default_ )

iQ::LED::SpectrometerController::calculateIrradiancePower

Calculates the irradiance power value for a given spectrum.

iQ-LED C++ API V 3.0.3

Page 80: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

72 Class Documentation

Parameters

spectrum iQ::LED::Spectrum object from a previous measurement.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The irradiance power value in [µW/cm of the given spectrum.

4.6.1.5 double iQ::LED::SpectrometerController::calculateLuminance ( iQ::LED::Spectrum ∗ spec-trum, int & errorCode = default_ )

iQ::LED::SpectrometerController::calculateLuminance

Calculates the luminance value for a given spectrum.

Parameters

spectrum iQ::LED::Spectrum object from a previous measurement.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The luminance value in [cd/m&sup2 of the given spectrum.

4.6.1.6 std::map< std::string, iQ::LED::SpectrometerController ∗> iQ::LED::SpectrometerController-::createObjects ( int & errorCode = default_ ) [static]

iQ::LED::SpectrometerController::createObjects

Scans for connected spectrometer devices and creates an object for any found device.

Each spectrometer device will be initialized with the following default values:

• integration time = 150[ms]. See iQ::LED::SpectrometerController::setIntegrationTime for a detailed descrip-tion.

• scans to average = 1. See iQ::LED::SpectrometerController::setScansToAverage for a detailed description.

• binning = 0. See iQ::LED::SpectrometerController::setBinning for a detailed description.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 81: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 73

Returns

A map containing iQ::LED::Spectrometer objects to control the connected devices.The serial number of the devices define the keys.e.g. spectrometer["S01000"] contains the controller object of the spectrometer with the serial number "-S01000".

4.6.1.7 std::vector< std::string > iQ::LED::SpectrometerController::getAllSerialNumbers ( std::map<std::string, SpectrometerController ∗ > objects ) [static]

iQ::LED::SpectrometerController::getAllSerialNumbers

iQ-LED C++ API V 3.0.3

Page 82: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

74 Class Documentation

Parameters

objects std::map of iQ::LED::Spectrometer objects created using iQ::LED::SpectrometerController-::createObjects.

Returns

std::vector containing the serial numbers of the devices.

4.6.1.8 int iQ::LED::SpectrometerController::getBinning ( int & errorCode = default_ ) const

iQ::LED::SpectrometerController::getBinning

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The current binning value of the spectrometer.For a detailed description of the binning parameter, please see iQ::LED::SpectrometerController::setBinning

4.6.1.9 iQ::LED::Spectrum iQ::LED::SpectrometerController::getDarkCurrentMeasurement ( int &errorCode = default_ )

iQ::LED::SpectrometerController::getDarkCurrentMeasurement

Returns the dark current measurement as iQ::LED::Spectrum

The dark current measurement is part of the calibration of the spectrometer device

and is required for the calculation of the following measure values:

• iQ::LED::SpectrometerController::measureAbsoluteSpectrum

• iQ::LED::SpectrometerController::measureIlluminance

• iQ::LED::SpectrometerController::measureLuminance

• iQ::LED::SpectrometerController::measureCorrelatedColorTemperature

• iQ::LED::SpectrometerController::measureColorRenderingIndex

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 83: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 75

See Also

iQ::LED::SpectrometerController::measureDarkCurrentiQ::LED::SpectrometerController::saveDarkCurrentiQ::LED::SpectrometerController::loadDarkCurrent

4.6.1.10 double iQ::LED::SpectrometerController::getDensityFilterCompensation ( )

iQ::LED::SpectrometerController::getDensityFilterCompensation

Returns

The currently set density value the compensation is set for.

4.6.1.11 std::string iQ::LED::SpectrometerController::getErrorMessage ( int & error ) [static]

iQ::LED::SpectrometerController::getErrorMessage

Returns a plain text error message that corresponds to the given error code. Almost every function in this APIprovides the possibility to catch errors that occur during processing. As the returned error codes are simple integervalues, this function returns a detailed description of the underlying value.

For example:// the variable that holds the error codeint error=0;// Use any API function with an error code parameter. Your error variable is passed by reference so it can

be changed inside the function.spectrometerObject.someFunction(error)// if you pass this error code to getErrorMessage() it will return the plain text error message that

belongs to the error codestd::string errorMessage = spectrometerObject.getErrorMessage(error);

Parameters

error Error code caught from a function call.

Returns

Plain text error message that corresponds to the given error code.

4.6.1.12 double iQ::LED::SpectrometerController::getIlluminanceCompensation ( )

iQ::LED::SpectrometerController::getIlluminanceCompensation

Gets the current compensation factor for the illuminance measurement.

It is used to compensate the deviation of the illuminance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

iQ-LED C++ API V 3.0.3

Page 84: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

76 Class Documentation

Returns

Gets the current compensation factor for the illuminance.

4.6.1.13 double iQ::LED::SpectrometerController::getIntegrationTime ( int & errorCode = default_ )const

iQ::LED::SpectrometerController::getIntegrationTime

iQ-LED C++ API V 3.0.3

Page 85: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 77

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The current integration time of the spectrometer in [ms].For a detailed description of the integration time, please see iQ::LED::SpectrometerController::setIntegration-Time

4.6.1.14 double iQ::LED::SpectrometerController::getIrradianceCompensation ( )

iQ::LED::SpectrometerController::getIrradianceCompensation

Gets the current compensation factor for the irradiance measurement.

It is used to compensate the deviation of the irradiance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

Returns

Gets the current compensation factor for the irradiance.

4.6.1.15 double iQ::LED::SpectrometerController::getLuminanceCompensation ( )

iQ::LED::SpectrometerController::getLuminanceCompensation

Gets the current compensation factor for the luminance measurement.

It is used to compensate the deviation of the luminance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

Returns

Gets the current compensation factor for the luminance.

4.6.1.16 int iQ::LED::SpectrometerController::getScansToAverage ( int & errorCode = default_ )const

iQ::LED::SpectrometerController::getScansToAverage

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 86: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

78 Class Documentation

Returns

The current scans to the average value of the spectrometer.For a detailed description of the scans to the average parameter, please see iQ::LED::SpectrometerController-::setScansToAverage

4.6.1.17 std::string iQ::LED::SpectrometerController::getSerialNumber ( int & errorCode = default_ )const

iQ::LED::SpectrometerController::getSerialNumber

Returns the serial number of the connected spectrometer device.

Any iQ::LED::Spectrometer object can access only one iQ-LED device.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The serial number of the connected spectrometer device.

4.6.1.18 void iQ::LED::SpectrometerController::loadDarkCurrent ( const std::string & fileName, int &errorCode = default_ )

iQ::LED::SpectrometerController::loadDarkCurrent

Loads dark current values from a file.

Parameters

fileName The full path name of the dark current file to load.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

See Also

iQ::LED::SpectrometerController::measureDarkCurrentiQ::LED::SpectrometerController::saveDarkCurrent

4.6.1.19 void iQ::LED::SpectrometerController::loadSettings ( const std::string & fileName, int & error-Code = default_ )

iQ::LED::SpectrometerController::loadSettings

Loads spectrometer settings from a file.

iQ-LED C++ API V 3.0.3

Page 87: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 79

See Also

iQ::LED::SpectrometerController::saveSettings

Parameters

fileName Specifies full path name of the file to load.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

4.6.1.20 iQ::LED::Spectrum iQ::LED::SpectrometerController::measureAbsoluteSpectrum ( int & error-Code = default_ )

iQ::LED::SpectrometerController::measureAbsoluteSpectrum

Measures current irradiance values in [µW/cm]

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

iQ::LED::Spectrum object that contains current wavelength values in [nm] and irradiance values in [uW/cm]

4.6.1.21 double iQ::LED::SpectrometerController::measureColorRenderingIndex ( int & errorCode =default_ )

iQ::LED::SpectrometerController::measureColorRenderingIndex

Performs a measurement and calculates the color rendering index for the current measurement.

The implementation of the color rendering index is based on the standard: CIE 13.3 1995.

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 88: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

80 Class Documentation

Returns

The color rendering index of the recently measured light

4.6.1.22 double iQ::LED::SpectrometerController::measureCorrelatedColorTemperature ( int & error-Code = default_ )

iQ::LED::SpectrometerController::measureCorrelatedColorTemperature

Performs a measurement and calculates the correlated color temperature for the current measurement.

The implementation of the correlated color temperature is based on: "Color Science: Concepts and Methods,Quantitative Data and Formulae", 2nd edition, 1982 (Wiley Classics)

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Returns

The correlated color temperature of the recently measured light

4.6.1.23 iQ::LED::Spectrum iQ::LED::SpectrometerController::measureCounts ( int & errorCode =default_ )

iQ::LED::SpectrometerController::measureCounts

Performs a spectrometer measurement without any further calculations to get a physical context.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 89: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 81

Returns

iQ::LED::Spectrum object that contains spectrometer counts.

4.6.1.24 void iQ::LED::SpectrometerController::measureDarkCurrent ( int & errorCode = default_ )

iQ::LED::SpectrometerController::measureDarkCurrent

Measures the noise when it is dark and/or any light is turned off.

The dark current measurement is part of the calibration of the spectrometer device

and is required for the calculation of the following measure values:

• iQ::LED::SpectrometerController::measureAbsoluteSpectrum

• iQ::LED::SpectrometerController::measureIlluminance

• iQ::LED::SpectrometerController::measureLuminance

• iQ::LED::SpectrometerController::measureCorrelatedColorTemperature

• iQ::LED::SpectrometerController::measureColorRenderingIndex

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

See Also

iQ::LED::SpectrometerController::getDarkCurrentMeasurementiQ::LED::SpectrometerController::saveDarkCurrentiQ::LED::SpectrometerController::loadDarkCurrent

4.6.1.25 double iQ::LED::SpectrometerController::measureIlluminance ( int & errorCode = default_ )

iQ::LED::SpectrometerController::measureIlluminance

Performs a measurement and calculates the illuminance value for the current measurement.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

iQ-LED C++ API V 3.0.3

Page 90: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

82 Class Documentation

Returns

The illuminance value in [lm/m&sup2 of the recently measured light.

4.6.1.26 double iQ::LED::SpectrometerController::measureIrradiancePower ( int & errorCode =default_ )

iQ::LED::SpectrometerController::measureIrradiancePower

Performs a measurement and calculates the irradiance power value for the current measurement.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

Returns

The irradiance power value in [µW/cm of the recently measured light.

4.6.1.27 double iQ::LED::SpectrometerController::measureLuminance ( int & errorCode = default_ )

iQ::LED::SpectrometerController::measureLuminance

Performs a measurement and calculates the luminance value for the current measurement.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

Attention

This function requires dark current values to give correct results.See iQ::LED::SpectrometerController::measureDarkCurrent.

Returns

The luminance value in [cd/m&sup2 of the recently measured light.

4.6.1.28 void iQ::LED::SpectrometerController::saveDarkCurrent ( const std::string & fileName, int &errorCode = default_ )

iQ::LED::SpectrometerController::saveDarkCurrent

Saves the dark current values to a file.

iQ-LED C++ API V 3.0.3

Page 91: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 83

Parameters

fileName The full path name of the dark current file to save.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

See Also

iQ::LED::SpectrometerController::measureDarkCurrentiQ::LED::SpectrometerController::loadDarkCurrent

4.6.1.29 void iQ::LED::SpectrometerController::saveSettings ( const std::string & fileName, int & error-Code = default_ )

iQ::LED::SpectrometerController::saveSettings

Saves the spectrometer settings to a file.

The settings contain:

• integration time

• binning value

• scans to average value

• illuminance compensation factor

• luminance compensation factor

• irradiance compensation factor

• densityFilter compensation

Parameters

fileName Specifies full path name of the file to save.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

4.6.1.30 void iQ::LED::SpectrometerController::setBinning ( int value, int & errorCode = default_ )

iQ::LED::SpectrometerController::setBinning

The binning value describes the number of neighboring sensor pixels that are averaged to one value.

For example, a binning value of 4 means that four neighboring sensor pixels are averaged to one value.

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

iQ-LED C++ API V 3.0.3

Page 92: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

84 Class Documentation

value The number of neighboring sensor pixels that are averaged for measurement

4.6.1.31 void iQ::LED::SpectrometerController::setDensityFilterCompensation ( const double & density)

iQ::LED::SpectrometerController::setDensityFilterCompensation

Sets a compensation for the usage of a neutral density filter.

Internal a compensation value for the given density value is calculated as follows: factor = 10∧(-density)

This compensation affects:

• iQ::LED::SpectrometerController::measureIlluminance

• iQ::LED::SpectrometerController::measureLuminance

• iQ::LED::SpectrometerController::measureIrradiancePower

• iQ::LED::SpectrometerController::calculateIlluminance

• iQ::LED::SpectrometerController::calculateLuminance

• iQ::LED::SpectrometerController::calculateIrradiancePower

Parameters

density The density value of the used neutral density filter.

4.6.1.32 void iQ::LED::SpectrometerController::setIlluminanceCompensation ( const double &measuredIlluminance )

iQ::LED::SpectrometerController::setIlluminanceCompensation

Sets a compensation factor for the illuminance measurement. After a new compensation factor has been set, a newcalibration must also be made according to this factor.

The illuminance compensation is optional.

It is used to compensate the deviation of the illuminance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

Parameters

measured-Illuminance

External measured illuminance value the spectrometer should correspond to.

4.6.1.33 void iQ::LED::SpectrometerController::setIntegrationTime ( double value, int & errorCode =default_ )

iQ::LED::SpectrometerController::setIntegrationTime

iQ-LED C++ API V 3.0.3

Page 93: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.6 iQ::LED::SpectrometerController Class Reference 85

The integration time in [ms] defines the exposure time of the spectrometer.

This value depends on the brightness of the measured object.

Parameters

value The integration time in [ms]errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

4.6.1.34 void iQ::LED::SpectrometerController::setIrradianceCompensation ( const double & measured-Irradiance )

iQ::LED::SpectrometerController::setIrradianceCompensation

Sets a compensation factor for the irradiance power measurement. After a new compensation factor has been set,a new calibration must also be made according to this factor.

The irradiance compensation is optional.

It is used to compensate the deviation of the irradiance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

Parameters

measured-Illuminance

External measured irradiance power value the spectrometer should correspond to.

4.6.1.35 void iQ::LED::SpectrometerController::setLuminanceCompensation ( const double & measured-Luminance )

iQ::LED::SpectrometerController::setLuminanceCompensation

Sets a compensation factor for the luminance measurement. After a new compensation factor has been set, a newcalibration must also be made according to this factor.

The luminance compensation is optional.

It is used to compensate the deviation of the luminance measurement at the aperture of the spectrometer comparedto an external measurement device.

This can be used to match e.g., some external measurement device at another position.

Parameters

measured-Illuminance

External measured luminance value the spectrometer should correspond to.

iQ-LED C++ API V 3.0.3

Page 94: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

86 Class Documentation

4.6.1.36 void iQ::LED::SpectrometerController::setScansToAverage ( int value, int & errorCode =default_ )

iQ::LED::SpectrometerController::setScansToAverage

The scans to average value defines the number of measurements that the spectrometer averages.

For example, scans to average 2 implys that two measurements with the current integration time are performed andaveraged.

Parameters

value The number of measurements that are averaged.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrometer-Controller::getErrorMessage

4.7 iQ::LED::Spectrum Class Reference

Public Member Functions

• Spectrum ()

• Spectrum (const Spectrum &copy)

• Spectrum (const std::vector< double > &wavelengthValues, const std::vector< double > &irradianceValues,const std::string &name="")

• ∼Spectrum ()

• void setSpectrum (const std::vector< double > &wavelengthValues, const std::vector< double > &irradiance-Values, int &errorCode=default_)

• std::vector< double > getWavelengthValues (int &errorCode=default_) const

• std::vector< double > getIrradianceValues (int &errorCode=default_) const

• void getActualValueMinMax (double &min, double &max, int &errorCode=default_)

• std::pair< int, double > getPeakWavelength (int lowerLimit, int upperLimit, int &errorCode=default_)

• double calculateIntegral (int lowerLimit, int upperLimit, int &errorCode=default_)

• void setName (const std::string &name, int &errorCode=default_)

• std::string getName (int &errorCode=default_)

• void save (const std::string fileName, int &errorCode=default_)

• void load (const std::string fileName, int &errorCode=default_)

• const Spectrum & operator= (const Spectrum &src)

• const Spectrum operator+ (const Spectrum &right)

• const Spectrum operator- (const Spectrum &right)

• const Spectrum & operator+= (const Spectrum &right)

• const Spectrum & operator-= (const Spectrum &right)

• const Spectrum operator∗ (const Spectrum &right)

• const Spectrum operator∗ (const double &right)

• const Spectrum & operator∗= (const Spectrum &right)

• const Spectrum & operator∗= (const double &right)

iQ-LED C++ API V 3.0.3

Page 95: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.7 iQ::LED::Spectrum Class Reference 87

Static Public Member Functions

• static std::string getErrorMessage (int &error)

Friends

• class iQ::LED::Illuminant

• class iQ::LED::LedController

• class iQ::LED::SpectrometerController

4.7.1 Constructor & Destructor Documentation

4.7.1.1 iQ::LED::Spectrum::Spectrum ( const Spectrum & copy )

iQ::LED::Spectrum::Spectrum

Creates an iQ::LED::Spectrum object from an existing one.

Parameters

copy iQ::LED::Spectrum object. The data is copied to the new object.

4.7.1.2 iQ::LED::Spectrum::Spectrum ( const std::vector< double > & wavelengthValues, const std-::vector< double > & irradianceValues, const std::string & name = "" )

iQ::LED::Spectrum::Spectrum

Creates an iQ::LED::Spectrum object and sets the specified data.

Parameters

wavelength-Values

Wavelength values of a spectral distribution.

irradianceValues Irradiance values in [µW/cd²/nm] that are associated to the wavelength values.name Name of the spectrum.

iQ-LED C++ API V 3.0.3

Page 96: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

88 Class Documentation

See Also

iQ::LED::Spectrum::setSpectrum

4.7.2 Member Function Documentation

4.7.2.1 double iQ::LED::Spectrum::calculateIntegral ( int lowerLimit, int upperLimit, int & errorCode =default_ )

iQ::LED::Spectrum::calculateIntegral

Convenience function that calculates the narrowed integral by summing up the irradiance values in the specifiedrange in 1 nm increments.

Parameters

lowerLimit Lower limit of the wavelength rangeupperLimit Upper limit of the wavelength rangeerrorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

Narrowed integral value in the specified range.

4.7.2.2 void iQ::LED::Spectrum::getActualValueMinMax ( double & min, double & max, int & errorCode= default_ )

iQ::LED::Spectrum::getActualValueMinMax ∗

Return the actually used data interval range of the spectrum class ( the range without zero values on left and rightwavelength edge )

Parameters

min Receives the min value wavelengthmax Receives the max value wavelength

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.7.2.3 std::string iQ::LED::Spectrum::getErrorMessage ( int & error ) [static]

iQ::LED::Spectrum::getErrorMessage

Returns a plain text error message that corresponds to the given error code.

Almost every function in this API provides the possibility to catch errors that occur during processing.

As the returned error codes are simple integer values, this function returns a detailed description of the underlyingvalue.

iQ-LED C++ API V 3.0.3

Page 97: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.7 iQ::LED::Spectrum Class Reference 89

For example:// the variable that holds the error codeint error=0;// Use any API function with an error code parameter. Your error variable is passed by reference so it can

be changed inside the function.spectrumObject.someFunction(error)// if you pass this error code to getErrorMessage() it will return the plain text error message that

belongs to the error codestd::string errorMessage = spectrumObject.getErrorMessage(error);

Parameters

error Error code caught from a function call.

Returns

Plain text error message that corresponds to the given error code.

4.7.2.4 std::vector< double > iQ::LED::Spectrum::getIrradianceValues ( int & errorCode = default-_ ) const

iQ::LED::Spectrum::getIrradianceValues

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

A std::vector containing irradiance values [uW/cm/nm].The index of the vector corresponds to the wavelength.E.g. :std::vector<int, double> irradianceValues = spectrumObject.getIrradianceValues();irradianceValueAt500Nm = irradianceValues[500];

4.7.2.5 std::string iQ::LED::Spectrum::getName ( int & errorCode = default_ )

iQ::LED::Spectrum::getName

Returns

Return the name of the current spectrum.

4.7.2.6 std::pair< int, double > iQ::LED::Spectrum::getPeakWavelength ( int lowerLimit, int upperLimit,int & errorCode = default_ )

iQ::LED::Spectrum::getPeakWavelength

Parameters

iQ-LED C++ API V 3.0.3

Page 98: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

90 Class Documentation

lowerLimit Specifies the lower bound of the wavelength range when seeking the peak wavelength in[nm].

upperLimit Specifies the upper bound of the wavelength range when seeking the peak wavelength [nm]errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

The peak wavelength in [nm] and the corresponding irradiance value [µW/cm] in the specified wavelengthregion.E.g.std::pair<int, double> peak = spectrumObject.getPeakWavelength(200,500, error);//__ the wavelength with the maximum irradiance value found in the rangeint peakWavelength = peak.first;//__ the irradiance value at the peak wavelengthdouble irradianceValue = peak.second;

4.7.2.7 std::vector< double > iQ::LED::Spectrum::getWavelengthValues ( int & errorCode =default_ ) const

iQ::LED::Spectrum::getWavelengthValues

Parameters

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

Returns

A vector of the wavelength values in [nm]

4.7.2.8 void iQ::LED::Spectrum::load ( const std::string fileName, int & errorCode = default_ )

iQ::LED::Spectrum::load

Load spectrum data from binary file specified by fileName.

Parameters

fileName File path and name of the binary file that the data is loaded from.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.7.2.9 const iQ::LED::Spectrum iQ::LED::Spectrum::operator∗ ( const Spectrum & right )

iQ::LED::Spectrum::operator∗

Calculates the product of the irradiance values of two spectra. The calulcation is done by element in 1 nm incre-ments.

iQ-LED C++ API V 3.0.3

Page 99: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.7 iQ::LED::Spectrum Class Reference 91

Parameters

right iQ::LED::Spectrum object

Returns

iQ::LED::Spectrum object containing the multiplied irradiance values.

4.7.2.10 const iQ::LED::Spectrum iQ::LED::Spectrum::operator∗ ( const double & right )

iQ::LED::Spectrum::operator ∗

Calculates the product of the irradiance values of a spectrum and a factor. The calulcation is done by element in 1nm increments.

Parameters

right factor the irradiance values are multiplied with

Returns

iQ::LED::Spectrum object containing the irradiance values multiplied by the factor.

4.7.2.11 const iQ::LED::Spectrum & iQ::LED::Spectrum::operator∗= ( const Spectrum & right )

iQ::LED::Spectrum::operator ∗=See Also

iQ::LED::Spectrum::operator∗

4.7.2.12 const iQ::LED::Spectrum & iQ::LED::Spectrum::operator∗= ( const double & right )

iQ::LED::Spectrum::operator ∗=See Also

iQ::LED::Spectrum::operator ∗

4.7.2.13 const iQ::LED::Spectrum iQ::LED::Spectrum::operator+ ( const Spectrum & right )

iQ::LED::Spectrum::operator+

Calculates the sum of the irradiance values of two spectra. The calulcation is done by element in 1 nm increments.

Parameters

right iQ::LED::Spectrum object

iQ-LED C++ API V 3.0.3

Page 100: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

92 Class Documentation

Returns

iQ::LED::Spectrum object containing the summed up irradiance values.

4.7.2.14 const iQ::LED::Spectrum & iQ::LED::Spectrum::operator+= ( const Spectrum & right )

iQ::LED::Spectrum::operator +=

See Also

iQ::LED::Spectrum::operator+

4.7.2.15 const iQ::LED::Spectrum iQ::LED::Spectrum::operator- ( const Spectrum & right )

iQ::LED::Spectrum::operator-

Calculates the difference of the irradiance values of two spectra. The calulcation is done by element in 1 nmincrements.

Parameters

right iQ::LED::Spectrum object

Returns

iQ::LED::Spectrum object containing the subtracted irradiance values.

4.7.2.16 const iQ::LED::Spectrum & iQ::LED::Spectrum::operator-= ( const Spectrum & right )

iQ::LED::Spectrum::operator -=

See Also

iQ::LED::Spectrum::operator+

4.7.2.17 const iQ::LED::Spectrum & iQ::LED::Spectrum::operator= ( const Spectrum & src )

iQ::LED::Spectrum::operator=

Returns

4.7.2.18 void iQ::LED::Spectrum::save ( const std::string fileName, int & errorCode = default_ )

iQ::LED::Spectrum::save

Saves the spectrum data into binary file, which is specified by fileName.

iQ-LED C++ API V 3.0.3

Page 101: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.8 iQ::LED::Version Class Reference 93

Parameters

fileName Path and name of the binary file that is created for saving the data.errorCode Describes the error that occurred during processing. 0 denotes no error.

You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.7.2.19 void iQ::LED::Spectrum::setName ( const std::string & name, int & errorCode = default_ )

iQ::LED::Spectrum::setName

Set the name of the spectrum object.

Parameters

name

4.7.2.20 void iQ::LED::Spectrum::setSpectrum ( const std::vector< double > & wavelengthValues_,const std::vector< double > & irradianceValues_, int & errorCode = default_ )

iQ::LED::Spectrum::setSpectrum

Sets wavelength values [nm] and associated irradiance values [µW/cd²/nm].

The input data is interpolated in order to obtain irradiance values for all wavelengths between 0 and 1030 nm in 1nm increments.

Parameters

wavelength-Values_

The wavlength values [nm]

irradiance-Values_

The irradiance values [µW/cm/nm]

errorCode Describes the error that occurred during processing. 0 denotes no error.You can receive a corresponding plain text error message using iQ::LED::Spectrum::getError-Message

4.8 iQ::LED::Version Class Reference

Static Public Member Functions

• static int getMajor ()

• static int getMinor ()

• static int getPatch ()

• static std::string getVersion ()

iQ-LED C++ API V 3.0.3

Page 102: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

94 Class Documentation

4.8.1 Member Function Documentation

4.8.1.1 int iQ::LED::Version::getMajor ( ) [static]

iQ::LED::Version::getMajor returns the major version number.

E.g. API version 3.0.0 means:

• major 3

• minor 0

• patch 0

Returns

The major version number of the used API.

4.8.1.2 int iQ::LED::Version::getMinor ( ) [static]

iQ::LED::Version::getMinor returns the minor version number.

E.g. API version 3.1.2 means:

• major 3

• minor 1

• patch 2

Returns

The minor version number of the used API.

4.8.1.3 int iQ::LED::Version::getPatch ( ) [static]

iQ::LED::Version::getPatch returns the patch version number.

E.g. API version 3.0.1 means:

• major 3

• minor 0

• patch 1

Returns

The patch version number of the used API.

4.8.1.4 std::string iQ::LED::Version::getVersion ( ) [static]

iQ::LED::Version::getMajor returns the API version number.

The string is built of major, minor and patch version numbers seperated by a period.

iQ-LED C++ API V 3.0.3

Page 103: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

4.8 iQ::LED::Version Class Reference 95

Returns

The API version number.

iQ-LED C++ API V 3.0.3

Page 104: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

Index

addModuleiQ::LED::ModuleGroup, 64

calculateColorRenderingIndexiQ::LED::SpectrometerController, 70

calculateCorrelatedColorTemperatureiQ::LED::SpectrometerController, 71

calculateIlluminanceiQ::LED::SpectrometerController, 71

calculateIntegraliQ::LED::Spectrum, 88

calculateIrradiancePoweriQ::LED::SpectrometerController, 71

calculateLuminanceiQ::LED::SpectrometerController, 72

calibrateiQ::LED::LedController, 27

canIDiQ::LED::DeviceErrorMemory, 11

containsiQ::LED::ModuleGroup, 64

createObjectsiQ::LED::LedController, 28iQ::LED::SpectrometerController, 72

current_consumption_erroriQ::LED::DeviceErrorMemory, 11

deleteSequenceOnDeviceiQ::LED::LedController, 28

DeviceIlluminantInfoiQ::LED::DeviceIlluminantInfo, 13

fan_erroriQ::LED::DeviceErrorMemory, 12

getActiveStoredIlluminantiQ::LED::LedController, 28

getActualValueMinMaxiQ::LED::Spectrum, 88

getAllSerialNumbersiQ::LED::LedController, 29iQ::LED::SpectrometerController, 73

getBinningiQ::LED::SpectrometerController, 74

getCalibrationChannelDataiQ::LED::ModuleGroup, 65

getCalibrationDateiQ::LED::LedController, 29iQ::LED::ModuleGroup, 65

getCalibrationMaxValues

iQ::LED::ModuleGroup, 65getCalibrationPeakWavelength

iQ::LED::ModuleGroup, 66getChannelIntensity

iQ::LED::LedController, 29getChannelIntensityRel

iQ::LED::LedController, 30getChannelValues

iQ::LED::DeviceIlluminantInfo, 14iQ::LED::Illuminant, 18

getChannelWaveLengthiQ::LED::LedController, 30

getColorRenderingIndexiQ::LED::Illuminant, 18

getConnectedModuleIDsiQ::LED::LedController, 30

getCoolingOffsetiQ::LED::LedController, 31

getCorrelatedColorTemperatureiQ::LED::Illuminant, 19

getCurrentSpectrumiQ::LED::Illuminant, 19

getDarkCurrentMeasurementiQ::LED::SpectrometerController, 74

getDateiQ::LED::Illuminant, 19

getDefaultIlluminantSlotNumberiQ::LED::LedController, 32

getDensityFilterCompensationiQ::LED::SpectrometerController, 75

getDeviceErrorMemoryiQ::LED::LedController, 32

getElectricityValuesiQ::LED::LedController, 32

getErrorMessageiQ::LED::DeviceIlluminantInfo, 14iQ::LED::Illuminant, 20iQ::LED::LedController, 33iQ::LED::SpectrometerController, 75iQ::LED::Spectrum, 88

getFWVersioniQ::LED::LedController, 34

getFanOnOffTemperaturesiQ::LED::LedController, 33

getHardwareVersioniQ::LED::LedController, 34

getHeatingOnOffTemperaturesiQ::LED::LedController, 34

getID

Page 105: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

INDEX 97

iQ::LED::Illuminant, 20getIlluminance

iQ::LED::Illuminant, 20iQ::LED::LedController, 35

getIlluminanceCompensationiQ::LED::SpectrometerController, 75

getIlluminanceLimitiQ::LED::LedController, 35

getIlluminantiQ::LED::LedController, 36

getIntegrationTimeiQ::LED::SpectrometerController, 76

getIntensityiQ::LED::DeviceIlluminantInfo, 15iQ::LED::LedController, 36

getIntensityLimitiQ::LED::LedController, 37

getIrradianceiQ::LED::Illuminant, 21iQ::LED::LedController, 37

getIrradianceCompensationiQ::LED::SpectrometerController, 77

getIrradianceLimitiQ::LED::LedController, 38

getIrradianceValuesiQ::LED::Spectrum, 89

getLuminanceiQ::LED::Illuminant, 21iQ::LED::LedController, 38

getLuminanceCompensationiQ::LED::SpectrometerController, 77

getLuminanceLimitiQ::LED::LedController, 39

getMajoriQ::LED::Version, 94

getMaxTemperatureiQ::LED::LedController, 39

getMinTemperatureiQ::LED::LedController, 40

getMinoriQ::LED::Version, 94

getModuleGroupiQ::LED::LedController, 42

getModuleListiQ::LED::ModuleGroup, 66

getModuleOperatingTimeiQ::LED::LedController, 43

getModuleTemperaturesiQ::LED::LedController, 43, 44

getModuleTemperaturesContinuousiQ::LED::LedController, 45

getNameiQ::LED::DeviceIlluminantInfo, 16iQ::LED::Illuminant, 21iQ::LED::ModuleGroup, 66iQ::LED::Spectrum, 89

getNumberOfIlluminantMemorySlotsiQ::LED::LedController, 45

getPWMClockiQ::LED::LedController, 47

getPatchiQ::LED::Version, 94

getPeakWavelengthiQ::LED::Spectrum, 89

getProductIDiQ::LED::LedController, 46

getProductNameiQ::LED::LedController, 47

getScansToAverageiQ::LED::SpectrometerController, 77

getSerialNumberiQ::LED::Illuminant, 22iQ::LED::LedController, 47iQ::LED::SpectrometerController, 78

getSlotNumberiQ::LED::DeviceIlluminantInfo, 16

getStoredIlluminantDescriptoriQ::LED::LedController, 48

getTargetSpectrumiQ::LED::Illuminant, 22iQ::LED::LedController, 48

getTypeOfModuleIdiQ::LED::LedController, 49

getVersioniQ::LED::Version, 94

getWarmingOffsetiQ::LED::LedController, 50

getWavelengthValuesiQ::LED::Spectrum, 90

heating_erroriQ::LED::DeviceErrorMemory, 12

high_temperature_erroriQ::LED::DeviceErrorMemory, 12

iQ::LED::DeviceErrorMemory, 11canID, 11current_consumption_error, 11fan_error, 12heating_error, 12high_temperature_error, 12idle_current_error, 12led_channel_error, 12light_sensor_error, 12supply_voltage_error, 12thermometer_error, 13

iQ::LED::DeviceIlluminantInfo, 13DeviceIlluminantInfo, 13getChannelValues, 14getErrorMessage, 14getIntensity, 15getName, 16getSlotNumber, 16

iQ::LED::Illuminant, 16getChannelValues, 18getColorRenderingIndex, 18getCorrelatedColorTemperature, 19

iQ-LED C++ API V 3.0.3

Page 106: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

98 INDEX

getCurrentSpectrum, 19getDate, 19getErrorMessage, 20getID, 20getIlluminance, 20getIrradiance, 21getLuminance, 21getName, 21getSerialNumber, 22getTargetSpectrum, 22Illuminant, 17, 18isManual, 22load, 23operator=, 23save, 23setID, 24setName, 25

iQ::LED::LedController, 25calibrate, 27createObjects, 28deleteSequenceOnDevice, 28getActiveStoredIlluminant, 28getAllSerialNumbers, 29getCalibrationDate, 29getChannelIntensity, 29getChannelIntensityRel, 30getChannelWaveLength, 30getConnectedModuleIDs, 30getCoolingOffset, 31getDefaultIlluminantSlotNumber, 32getDeviceErrorMemory, 32getElectricityValues, 32getErrorMessage, 33getFWVersion, 34getFanOnOffTemperatures, 33getHardwareVersion, 34getHeatingOnOffTemperatures, 34getIlluminance, 35getIlluminanceLimit, 35getIlluminant, 36getIntensity, 36getIntensityLimit, 37getIrradiance, 37getIrradianceLimit, 38getLuminance, 38getLuminanceLimit, 39getMaxTemperature, 39getMinTemperature, 40getModuleGroup, 42getModuleOperatingTime, 43getModuleTemperatures, 43, 44getModuleTemperaturesContinuous, 45getNumberOfIlluminantMemorySlots, 45getPWMClock, 47getProductID, 46getProductName, 47getSerialNumber, 47getStoredIlluminantDescriptor, 48

getTargetSpectrum, 48getTypeOfModuleId, 49getWarmingOffset, 50isModuleConnected, 50loadCalibration, 51playSequenceOnDevice, 51removeIlluminantOnDevice, 51removeSpectrometer, 52resetLapTime, 52saveCalibration, 52setActivateStoredIlluminant, 53setCallbackFunction, 53setChannelIntensitiesRel, 53setChannelIntensity, 54setChannelIntensityRel, 54setDefaultIlluminantSlotNumber, 55setFITMinMaxValues, 55setIlluminance, 55setIlluminant, 56setIntensity, 56setIrradiance, 57setLuminance, 58setModuleGroup, 58setPWMClock, 59setSpectrometer, 59setTargetSpectrum, 59startSelfTest, 60storeIlluminantOnDevice, 60storeSequenceOnDevice, 61unsetCalibration, 61updateIlluminant, 61

iQ::LED::ModuleGroup, 62addModule, 64contains, 64getCalibrationChannelData, 65getCalibrationDate, 65getCalibrationMaxValues, 65getCalibrationPeakWavelength, 66getModuleList, 66getName, 66isCalibrated, 67load, 67ModuleGroup, 63removeModule, 67, 68save, 68setName, 68unsetCalibration, 69

iQ::LED::SpectrometerController, 69calculateColorRenderingIndex, 70calculateCorrelatedColorTemperature, 71calculateIlluminance, 71calculateIrradiancePower, 71calculateLuminance, 72createObjects, 72getAllSerialNumbers, 73getBinning, 74getDarkCurrentMeasurement, 74getDensityFilterCompensation, 75

iQ-LED C++ API V 3.0.3

Page 107: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

INDEX 99

getErrorMessage, 75getIlluminanceCompensation, 75getIntegrationTime, 76getIrradianceCompensation, 77getLuminanceCompensation, 77getScansToAverage, 77getSerialNumber, 78loadDarkCurrent, 78loadSettings, 78measureAbsoluteSpectrum, 79measureColorRenderingIndex, 79measureCorrelatedColorTemperature, 80measureCounts, 80measureDarkCurrent, 81measureIlluminance, 81measureIrradiancePower, 82measureLuminance, 82saveDarkCurrent, 82saveSettings, 83setBinning, 83setDensityFilterCompensation, 84setIlluminanceCompensation, 84setIntegrationTime, 84setIrradianceCompensation, 85setLuminanceCompensation, 85setScansToAverage, 85

iQ::LED::Spectrum, 86calculateIntegral, 88getActualValueMinMax, 88getErrorMessage, 88getIrradianceValues, 89getName, 89getPeakWavelength, 89getWavelengthValues, 90load, 90operator∗, 90, 91operator∗=, 91operator+, 91operator+=, 92operator-, 92operator-=, 92operator=, 92save, 92setName, 93setSpectrum, 93Spectrum, 87

iQ::LED::Version, 93getMajor, 94getMinor, 94getPatch, 94getVersion, 94

idle_current_erroriQ::LED::DeviceErrorMemory, 12

IlluminantiQ::LED::Illuminant, 17, 18

isCalibratediQ::LED::ModuleGroup, 67

isManual

iQ::LED::Illuminant, 22isModuleConnected

iQ::LED::LedController, 50

led_channel_erroriQ::LED::DeviceErrorMemory, 12

light_sensor_erroriQ::LED::DeviceErrorMemory, 12

loadiQ::LED::Illuminant, 23iQ::LED::ModuleGroup, 67iQ::LED::Spectrum, 90

loadCalibrationiQ::LED::LedController, 51

loadDarkCurrentiQ::LED::SpectrometerController, 78

loadSettingsiQ::LED::SpectrometerController, 78

measureAbsoluteSpectrumiQ::LED::SpectrometerController, 79

measureColorRenderingIndexiQ::LED::SpectrometerController, 79

measureCorrelatedColorTemperatureiQ::LED::SpectrometerController, 80

measureCountsiQ::LED::SpectrometerController, 80

measureDarkCurrentiQ::LED::SpectrometerController, 81

measureIlluminanceiQ::LED::SpectrometerController, 81

measureIrradiancePoweriQ::LED::SpectrometerController, 82

measureLuminanceiQ::LED::SpectrometerController, 82

ModuleGroupiQ::LED::ModuleGroup, 63

operator∗iQ::LED::Spectrum, 90, 91

operator∗=iQ::LED::Spectrum, 91

operator+iQ::LED::Spectrum, 91

operator+=iQ::LED::Spectrum, 92

operator-iQ::LED::Spectrum, 92

operator-=iQ::LED::Spectrum, 92

operator=iQ::LED::Illuminant, 23iQ::LED::Spectrum, 92

playSequenceOnDeviceiQ::LED::LedController, 51

removeIlluminantOnDeviceiQ::LED::LedController, 51

iQ-LED C++ API V 3.0.3

Page 108: iQ-LED API - Image Engineering...1 iQ-LED API The iQ-LED API offers tools for the development of proprietary software to control iQ-LED devices and the EX2 spectrometer. The API consists

100 INDEX

removeModuleiQ::LED::ModuleGroup, 67, 68

removeSpectrometeriQ::LED::LedController, 52

resetLapTimeiQ::LED::LedController, 52

saveiQ::LED::Illuminant, 23iQ::LED::ModuleGroup, 68iQ::LED::Spectrum, 92

saveCalibrationiQ::LED::LedController, 52

saveDarkCurrentiQ::LED::SpectrometerController, 82

saveSettingsiQ::LED::SpectrometerController, 83

setActivateStoredIlluminantiQ::LED::LedController, 53

setBinningiQ::LED::SpectrometerController, 83

setCallbackFunctioniQ::LED::LedController, 53

setChannelIntensitiesReliQ::LED::LedController, 53

setChannelIntensityiQ::LED::LedController, 54

setChannelIntensityReliQ::LED::LedController, 54

setDefaultIlluminantSlotNumberiQ::LED::LedController, 55

setDensityFilterCompensationiQ::LED::SpectrometerController, 84

setFITMinMaxValuesiQ::LED::LedController, 55

setIDiQ::LED::Illuminant, 24

setIlluminanceiQ::LED::LedController, 55

setIlluminanceCompensationiQ::LED::SpectrometerController, 84

setIlluminantiQ::LED::LedController, 56

setIntegrationTimeiQ::LED::SpectrometerController, 84

setIntensityiQ::LED::LedController, 56

setIrradianceiQ::LED::LedController, 57

setIrradianceCompensationiQ::LED::SpectrometerController, 85

setLuminanceiQ::LED::LedController, 58

setLuminanceCompensationiQ::LED::SpectrometerController, 85

setModuleGroupiQ::LED::LedController, 58

setNameiQ::LED::Illuminant, 25

iQ::LED::ModuleGroup, 68iQ::LED::Spectrum, 93

setPWMClockiQ::LED::LedController, 59

setScansToAverageiQ::LED::SpectrometerController, 85

setSpectrometeriQ::LED::LedController, 59

setSpectrumiQ::LED::Spectrum, 93

setTargetSpectrumiQ::LED::LedController, 59

SpectrumiQ::LED::Spectrum, 87

startSelfTestiQ::LED::LedController, 60

storeIlluminantOnDeviceiQ::LED::LedController, 60

storeSequenceOnDeviceiQ::LED::LedController, 61

supply_voltage_erroriQ::LED::DeviceErrorMemory, 12

thermometer_erroriQ::LED::DeviceErrorMemory, 13

unsetCalibrationiQ::LED::LedController, 61iQ::LED::ModuleGroup, 69

updateIlluminantiQ::LED::LedController, 61

iQ-LED C++ API V 3.0.3