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. |