| class CSensorDataCompensator : public CBase |
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;
sensordatacompensator.lib S60 5.1
| Public Member Functions | |
|---|---|
| TInt | Compensate(TDes8 &) |
| TSensrvChannelDataTypeId | GetChannelDataType() |
| TSensorCompensationType | GetCompensationType() |
| IMPORT_C CSensorDataCompensator * | NewL(TSensrvChannelDataTypeId, TSensorCompensationType) |
| TInt | Compensate | ( | TDes8 & | aData | ) | [pure virtual] |
Compensates sensor data.
S60 5.1
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.
| TDes8 & 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 |
| TSensrvChannelDataTypeId | GetChannelDataType | ( | ) | const [pure virtual] |
Used to get the compensated channel data type.
S60 5.1
TSensrvChannelDataTypeId The compensated data type.
| TSensorCompensationType | GetCompensationType | ( | ) | const [pure virtual] |
Used to get the compensation type.
S60 5.1
TSensorCompensationType The used compensation type.
| IMPORT_C CSensorDataCompensator * | NewL | ( | TSensrvChannelDataTypeId | aDataType, |
| TSensorCompensationType | aType | |||
| ) | [static] | |||
Two-phase constructor
S60 5.1
CSensorDataCompensator* Pointer to created object
| TSensrvChannelDataTypeId aDataType | Specifies the data type to be compensated. |
| TSensorCompensationType aType | Specifies the type of compensation. See TSensorCompensationType. |