CCAux  2.17.0.0
CCAux API reference
Functions
Lightsensor functions

Functions

EXTERN_C CCAUXDLL_API LIGHTSENSORHANDLE CCAUXDLL_CALLING_CONV GetLightsensor (void)
 
EXTERN_C CCAUXDLL_API void CCAUXDLL_CALLING_CONV Lightsensor_release (LIGHTSENSORHANDLE)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_getIlluminance (LIGHTSENSORHANDLE, uint16_t *value)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_getIlluminance2 (LIGHTSENSORHANDLE, uint16_t *value, uint8_t *ch0, uint8_t *ch1)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_getAverageIlluminance (LIGHTSENSORHANDLE, uint16_t *value)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_startAverageCalc (LIGHTSENSORHANDLE, uint32_t averageWndSize, uint32_t rejectWndSize, uint32_t rejectDeltaInLux, LightSensorSamplingMode mode)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_stopAverageCalc (LIGHTSENSORHANDLE)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_getOperatingRange (LIGHTSENSORHANDLE, LightSensorOperationRange *range)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV Lightsensor_setOperatingRange (LIGHTSENSORHANDLE, LightSensorOperationRange range)
 

Detailed Description

Functions in the Lightsensor class

Function Documentation

◆ GetLightsensor()

EXTERN_C CCAUXDLL_API LIGHTSENSORHANDLE CCAUXDLL_CALLING_CONV CrossControl::GetLightsensor ( void  )

Factory function that creates instances of the Lightsensor object.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Returns
LIGHTSENSORHANDLE to an allocated Lightsensor object. The returned handle needs to be deallocated using the Lightsensor_release(LIGHTSENSORHANDLE) method when it's no longer needed. Returns NULL if it fails to allocate memory.

Example Usage:

assert(pLightSensor);
ls_example(pLightSensor);
Lightsensor_release(pLightSensor);

◆ Lightsensor_getAverageIlluminance()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_getAverageIlluminance ( LIGHTSENSORHANDLE  ,
uint16_t value 
)

Get average illuminance (light) value from light sensor.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
valueIlluminance value (Lux).
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

err = Lightsensor_getAverageIlluminance(pLightSensor, &value);
if (err != ERR_SUCCESS)
{
cout << "Error(" << err << ") in function getAverageIlluminance: " << GetErrorStringA(err) << endl;
}

◆ Lightsensor_getIlluminance()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_getIlluminance ( LIGHTSENSORHANDLE  ,
uint16_t value 
)

Get illuminance (light) value from light sensor.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
valueIlluminace value (Lux).
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

err = Lightsensor_getIlluminance(pLightSensor, &value);
if (err != ERR_SUCCESS)
{
cout << "Error(" << err << ") in function getIlluminance: " << GetErrorStringA(err) << endl;
}

◆ Lightsensor_getIlluminance2()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_getIlluminance2 ( LIGHTSENSORHANDLE  ,
uint16_t value,
uint8_t ch0,
uint8_t ch1 
)

Get illuminance (light) value from light sensor. The parameters cho and ch1 are raw ADC values read from a TAOS TSL2550 lightsensor.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
valueIlluminance value (Lux).
ch0Channel0 value. (Not applicable on VC platform - always 0)
ch1Channel1 value. (Not applicable on VC platform - always 0)
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

◆ Lightsensor_getOperatingRange()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_getOperatingRange ( LIGHTSENSORHANDLE  ,
LightSensorOperationRange range 
)

Get operating range. The light sensor can operate in two ranges. Standard and extended range. In standard range, the range is smaller but resolution higher. See the TSL2550 data sheet for more information. On the VC platform, the ranges correspond to 1000 and 4000 lux maximum value.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
rangeOperating range. RangeStandard or RangeExtended.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code.

◆ Lightsensor_release()

EXTERN_C CCAUXDLL_API void CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_release ( LIGHTSENSORHANDLE  )

Delete the Lightsensor object.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Returns
-

Example Usage:

assert(pLightSensor);
ls_example(pLightSensor);
Lightsensor_release(pLightSensor);

◆ Lightsensor_setOperatingRange()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_setOperatingRange ( LIGHTSENSORHANDLE  ,
LightSensorOperationRange  range 
)

Set operating range. The light sensor can operate in two ranges. Standard and extended range. In standard range, the range is smaller but resolution higher. See the TSL2550 data sheet for more information. On the VC platform, the ranges correspond to 1000 and 4000 lux maximum value.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
rangeOperating range to set. RangeStandard or RangeExtended.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

◆ Lightsensor_startAverageCalc()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_startAverageCalc ( LIGHTSENSORHANDLE  ,
uint32_t  averageWndSize,
uint32_t  rejectWndSize,
uint32_t  rejectDeltaInLux,
LightSensorSamplingMode  mode 
)

Start average calculation. The average calculation works by calculating the average from a number of consecutive samples, the average window size. The reject window is used to discard sudden changes or single extreme values of the measurement. If the difference of the maximum value and the minimum value in the number of samples in the reject delta window is larger than the reject delta, those samples are discarded.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Parameters
averageWndSizeThe average window size in nr of samples.
rejectWndSizeThe reject window size in nr of samples.
rejectDeltaInLuxThe reject delta in lux.
modeThe configured sampling mode.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

// Start the average calculation background function
// This cannot be used if the automatic backlihgt function is running.
err = Lightsensor_startAverageCalc(pLightSensor, 5, 5, 50, SamplingModeAuto);
{
cout << "Error(" << err << ") in function startAverageCalc: " << GetErrorStringA(err) << endl;
cout << endl << "Please turn off Automatic backlight! (CCsettings - Display tab)" << endl;
return;
}
else if (err != ERR_SUCCESS)
{
cout << "Error(" << err << ") in function startAverageCalc: " << GetErrorStringA(err) << endl;
}

◆ Lightsensor_stopAverageCalc()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::Lightsensor_stopAverageCalc ( LIGHTSENSORHANDLE  )

Stop average calculation.

Supported Platform(s): XL, XM, XM9, XS, XA, VC, VA, VS

Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

err = Lightsensor_stopAverageCalc(pLightSensor);
if (err != ERR_SUCCESS)
{
cout << "Error(" << err << ") in function stopAverageCalc: " << GetErrorStringA(err) << endl;
}