#include <sensordatacompensator.h>
| class CSensorDataCompensator : public CBase |
| Public Member Functions | |
|---|---|
| pure virtual TInt | Compensate(TDes8 &) |
| pure virtual TSensrvChannelDataTypeId | GetChannelDataType() |
| pure virtual TSensorCompensationType | GetCompensationType() |
| IMPORT_C CSensorDataCompensator * | NewL(TSensrvChannelDataTypeId, TSensorCompensationType) |
Class provides operations to compensate sensor data.
Usage:
#include <sensordatacompensator.h>
#include <sensrvaccelerometersensor.h>
// Client creates the compensator instance as a member.
// This compensates the axis data received from accelerometer.
// The data is compensated according to both device and UI rotation.
// See sensrvtypes.h and sensordatacompensationtypes.h for more information.
iDataCompensator = CSensorDataCompensator::NewL(
KSensrvChannelTypeIdAccelerometerXYZAxisData,
ESensorCompensateDeviceAndUIOrientation );
// Data compensation is done in client's MSensrvDataListener::DataReceived() implementation
// where 'iSensorChannel' contains the accelerometer channel instance.
TPckgBuf<TSensrvAccelerometerAxisData> dataPckgBuf;
// Get data from accelerometer ( iSensorChannel->GetData( dataPckgBuf ) )
TInt err( iDataCompensator->Compensate( dataPckgBuf ) );
// Client deletes the compensator instance in destructor.
delete iDataCompensator;
Compensates sensor data.
| Parameter | Description |
|---|---|
| aData | Reference to descriptor where sensor data locates. On return contains compensated data if compensation successful. The following packages can be used in compensating; TSensrvAccelerometerAxisData TSensrvMagnetometerAxisData TSensrvMagneticNorthData TSensrvTappingData |
Returns: TInt KErrNone - Compensation successful. KErrArgument - Input aData does not match data type. KErrNotSupported - Compensation not supported for data type. KErrNotReady - Not ready for compensation. KErrCorrupt - Configured compensation values are invalid.
| TSensrvChannelDataTypeId | GetChannelDataType | ( | ) | const [pure virtual] |
Used to get the compensated channel data type.
Returns: TSensrvChannelDataTypeId The compensated data type.
| TSensorCompensationType | GetCompensationType | ( | ) | const [pure virtual] |
Used to get the compensation type.
Returns: TSensorCompensationType The used compensation type.
| IMPORT_C CSensorDataCompensator * | NewL | ( | TSensrvChannelDataTypeId | aDataType, |
| TSensorCompensationType | aType | |||
| ) | [static] | |||
Two-phase constructor
| Parameter | Description |
|---|---|
| aDataType | Specifies the data type to be compensated. |
| aType | Specifies the type of compensation. See TSensorCompensationType. |
Returns: CSensorDataCompensator* Pointer to created object