williamr@2: /* williamr@2: * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Channel data types definitions williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef SENSRVMAGNETOMETERSENSOR_H williamr@2: #define SENSRVMAGNETOMETERSENSOR_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: #include williamr@2: williamr@2: // MAGNETOMETER RELATED CHANNELS williamr@2: williamr@2: /** williamr@2: * - Name: Magnetometer XYZ-axis data channel type williamr@2: * - Type: Rawdata williamr@2: * - Datatype: TSensrvMagnetometerAxisData williamr@2: * - Description: Magnetometer x-, y-, z-axis data williamr@2: */ williamr@2: const TSensrvChannelTypeId KSensrvChannelTypeIdMagnetometerXYZAxisData = 0x2000BEE0; williamr@2: williamr@2: williamr@2: // MAGNETOMETER RELATED PROPERTIES williamr@2: williamr@2: /** williamr@2: * - Name: Name of the property williamr@2: * - Type: Defines type of the property (TInt/TReal/TBuf) williamr@2: * - Scope: Defines a property scope. Property can be defined for a channel, williamr@2: * for a specific item in a channel or for a server related to williamr@2: * channel. williamr@2: * - Mandatory: Defines is property mandatory williamr@2: * - Capability: Capabilities needed to set this property williamr@2: * - Description: Description of the property williamr@2: * williamr@2: */ williamr@2: williamr@2: /** williamr@2: * - Name: Auto calibration active williamr@2: * - Type: TInt williamr@2: * - Scope: Channel item property williamr@2: * - Mandatory: No williamr@2: * - Capability: None williamr@2: * - Description: Indicates is auto calibration active. williamr@2: * Value is one if calibration is activated, zero otherwise. williamr@2: */ williamr@2: const TSensrvPropertyId KSensrvPropAutoCalibrationActive = 0x00001006; williamr@2: williamr@2: /** williamr@2: * - Name: Calibration status williamr@2: * - Type: TInt williamr@2: * - Scope: Channel item property williamr@2: * - Mandatory: No williamr@2: * - Capability: None williamr@2: * - Description: Indicates the calibration level. williamr@2: * Calibration level scales between minimum and maximum value. williamr@2: * Maximum indicates that calibration level is at its best williamr@2: * level. Minimum indicates that calibration is undefined. williamr@2: * Possible values: 0=Not calibrated, 1=Low, 2=Moderate, 3=High accuracy. williamr@2: */ williamr@2: const TSensrvPropertyId KSensrvPropCalibrationLevel = 0x00001007; williamr@2: williamr@2: /** williamr@2: * - Name: Auto calibration supported williamr@2: * - Type: TInt williamr@2: * - Scope: Channel item property williamr@2: * - Mandatory: No williamr@2: * - Capability: None williamr@2: * - Description: Scalar – Support for Calibration(1-Calibration Supported, williamr@2: * 0-Calibration not supported) williamr@2: */ williamr@2: williamr@2: const TSensrvPropertyId KSensrvPropIdAutoCalibrationSupported = 0x00001008; williamr@2: williamr@2: // MAGNETOMETER RELATED DATATYPES williamr@2: williamr@2: /** williamr@2: * Magnetometer axis data type williamr@2: */ williamr@2: class TSensrvMagnetometerAxisData williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Channel data type Id number williamr@2: */ williamr@2: static const TSensrvChannelDataTypeId KDataTypeId = 0x2000BEE0; williamr@2: williamr@2: /** williamr@2: * Channel data type index numbers williamr@2: */ williamr@2: enum TSensrvMagnetometerAxisDataIndexes williamr@2: { williamr@2: ETimeStamp = 0, williamr@2: EAxisX, williamr@2: EAxisY, williamr@2: EAxisZ, williamr@2: EAxisXCalibrated, williamr@2: EAxisYCalibrated, williamr@2: EAxisZCalibrated williamr@2: }; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * - Item name: Sampling time. williamr@2: * - Item Index: 0 williamr@2: * - Conditions: None williamr@2: * - Description: Timestamp for a sample. williamr@2: */ williamr@2: TTime iTimeStamp; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer x-axis williamr@2: * - Item Index: 1 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from x-axis williamr@2: */ williamr@2: TInt iAxisXRaw; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer y-axis williamr@2: * - Item Index: 2 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from y-axis williamr@2: */ williamr@2: TInt iAxisYRaw; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer z-axis williamr@2: * - Item Index: 3 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from z-axis williamr@2: */ williamr@2: TInt iAxisZRaw; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer x-axis williamr@2: * - Item Index: 1 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from x-axis williamr@2: */ williamr@2: TInt iAxisXCalibrated; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer y-axis williamr@2: * - Item Index: 2 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from y-axis williamr@2: */ williamr@2: TInt iAxisYCalibrated; williamr@2: williamr@2: /** williamr@2: * - Item name: Magnetometer z-axis williamr@2: * - Item Index: 3 williamr@2: * - Conditions: Single limit and range williamr@2: * - Description: Magnetometer values from z-axis williamr@2: */ williamr@2: TInt iAxisZCalibrated; williamr@2: }; williamr@2: williamr@2: #endif //SENSRVMAGNETOMETERSENSOR_H williamr@2: williamr@2: // End of File