iq-led api - image engineering...1 iq-led api the iq-led api offers tools for the development of...
TRANSCRIPT
iQ-LED APIC++
Version 3.0.3
Documentation
Created on Thu Jan 24 2019
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
10 Class Index
iQ-LED C++ API V 3.0.3
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.
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
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 ©)
• 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
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
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
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 ©)
• 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
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
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
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
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
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² 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² 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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²].
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
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
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
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²].
iQ-LED C++ API V 3.0.3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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²]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
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
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²]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
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
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
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
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 ©)
• 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
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
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
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
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
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
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
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
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
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² 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
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² 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
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
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
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
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
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
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
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
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
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
82 Class Documentation
Returns
The illuminance value in [lm/m² 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² 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
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
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
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
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 ©)
• 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
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
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
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
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
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
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
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
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
4.8 iQ::LED::Version Class Reference 95
Returns
The API version number.
iQ-LED C++ API V 3.0.3
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
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
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
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
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