2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Channel data types definitions
20 #ifndef SENSRVMAGNETOMETERSENSOR_H
21 #define SENSRVMAGNETOMETERSENSOR_H
25 #include <sensrvtypes.h>
27 // MAGNETOMETER RELATED CHANNELS
30 * - Name: Magnetometer XYZ-axis data channel type
32 * - Datatype: TSensrvMagnetometerAxisData
33 * - Description: Magnetometer x-, y-, z-axis data
35 const TSensrvChannelTypeId KSensrvChannelTypeIdMagnetometerXYZAxisData = 0x2000BEE0;
38 // MAGNETOMETER RELATED PROPERTIES
41 * - Name: Name of the property
42 * - Type: Defines type of the property (TInt/TReal/TBuf)
43 * - Scope: Defines a property scope. Property can be defined for a channel,
44 * for a specific item in a channel or for a server related to
46 * - Mandatory: Defines is property mandatory
47 * - Capability: Capabilities needed to set this property
48 * - Description: Description of the property
53 * - Name: Auto calibration active
55 * - Scope: Channel item property
58 * - Description: Indicates is auto calibration active.
59 * Value is one if calibration is activated, zero otherwise.
61 const TSensrvPropertyId KSensrvPropAutoCalibrationActive = 0x00001006;
64 * - Name: Calibration status
66 * - Scope: Channel item property
69 * - Description: Indicates the calibration level.
70 * Calibration level scales between minimum and maximum value.
71 * Maximum indicates that calibration level is at its best
72 * level. Minimum indicates that calibration is undefined.
73 * Possible values: 0=Not calibrated, 1=Low, 2=Moderate, 3=High accuracy.
75 const TSensrvPropertyId KSensrvPropCalibrationLevel = 0x00001007;
78 * - Name: Auto calibration supported
80 * - Scope: Channel item property
83 * - Description: Scalar – Support for Calibration(1-Calibration Supported,
84 * 0-Calibration not supported)
87 const TSensrvPropertyId KSensrvPropIdAutoCalibrationSupported = 0x00001008;
89 // MAGNETOMETER RELATED DATATYPES
92 * Magnetometer axis data type
94 class TSensrvMagnetometerAxisData
98 * Channel data type Id number
100 static const TSensrvChannelDataTypeId KDataTypeId = 0x2000BEE0;
103 * Channel data type index numbers
105 enum TSensrvMagnetometerAxisDataIndexes
119 * - Item name: Sampling time.
122 * - Description: Timestamp for a sample.
127 * - Item name: Magnetometer x-axis
129 * - Conditions: Single limit and range
130 * - Description: Magnetometer values from x-axis
135 * - Item name: Magnetometer y-axis
137 * - Conditions: Single limit and range
138 * - Description: Magnetometer values from y-axis
143 * - Item name: Magnetometer z-axis
145 * - Conditions: Single limit and range
146 * - Description: Magnetometer values from z-axis
151 * - Item name: Magnetometer x-axis
153 * - Conditions: Single limit and range
154 * - Description: Magnetometer values from x-axis
156 TInt iAxisXCalibrated;
159 * - Item name: Magnetometer y-axis
161 * - Conditions: Single limit and range
162 * - Description: Magnetometer values from y-axis
164 TInt iAxisYCalibrated;
167 * - Item name: Magnetometer z-axis
169 * - Conditions: Single limit and range
170 * - Description: Magnetometer values from z-axis
172 TInt iAxisZCalibrated;
175 #endif //SENSRVMAGNETOMETERSENSOR_H