The channel properties can be configured using the CSensrvChannel::SetProperty() function.
Before setting channel properties, you must open the sensor channel.
Create a TSensrvProperty property object for setting the KSensrvPropIdDataRate property using the TSensrvProperty(const
TSensrvPropertyId,const TInt,const TInt) constructor.
... TInt val=2; TSensrvProperty sensrvProperty(KSensrvPropIdDataRate,KSensrvItemIndexNone,val); ...
Set the KSensrvPropIdDataRate property value by passing the property
object that you created to CSensrvChannel::SetProperty().
... CSensrvChannel* channel; ... TInt ret; ret=channel->SetProperty(sensrvProperty); ...
The following example explains how to set the x-axis of accelerometer channel status from activated to deactivated.
The axis active property KSensrvPropIdAxisActive is first retrieved using the CSensrvChannel::GetPropertyL() function. If the axis is active, the new deactivated value
is set in the retrieved property object. Then the channel is updated
with this updated property object by using the CSensrvChannel::SetProperty() function.
TSensrvProperty property;
TInt err( KErrNone );
TInt axisActive( 0 );
iSensorChannel->GetPropertyL( KSensrvPropIdAxisActive,
TSensrvAccelerometerAxisData::Index::iAxisX,
property );
property.GetValue( axisActive );
if( 1 == axisActive )
{
property.SetValue( 0 ); // A value other than 1 means that sensor axis is deactivated.
err = iSensorChannel->SetProperty( property );
if( KErrNone == err )
{
//Accelerometer x-axis was successfully deactivated
}
}
else
{
//Accelerometer x-axis is already inactive
}End the
session with the sensor channel using the CSensrvChannel::CloseChannel() function.