1.1 --- a/epoc32/include/sensrvmagnetometersensor.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/sensrvmagnetometersensor.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,177 @@
1.4 -sensrvmagnetometersensor.h
1.5 +/*
1.6 +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description: Channel data types definitions
1.19 +*
1.20 +*/
1.21 +
1.22 +
1.23 +
1.24 +#ifndef SENSRVMAGNETOMETERSENSOR_H
1.25 +#define SENSRVMAGNETOMETERSENSOR_H
1.26 +
1.27 +// INCLUDES
1.28 +#include <e32base.h>
1.29 +#include <sensrvtypes.h>
1.30 +
1.31 +// MAGNETOMETER RELATED CHANNELS
1.32 +
1.33 +/**
1.34 +* - Name: Magnetometer XYZ-axis data channel type
1.35 +* - Type: Rawdata
1.36 +* - Datatype: TSensrvMagnetometerAxisData
1.37 +* - Description: Magnetometer x-, y-, z-axis data
1.38 +*/
1.39 +const TSensrvChannelTypeId KSensrvChannelTypeIdMagnetometerXYZAxisData = 0x2000BEE0;
1.40 +
1.41 +
1.42 +// MAGNETOMETER RELATED PROPERTIES
1.43 +
1.44 +/**
1.45 +* - Name: Name of the property
1.46 +* - Type: Defines type of the property (TInt/TReal/TBuf)
1.47 +* - Scope: Defines a property scope. Property can be defined for a channel,
1.48 +* for a specific item in a channel or for a server related to
1.49 +* channel.
1.50 +* - Mandatory: Defines is property mandatory
1.51 +* - Capability: Capabilities needed to set this property
1.52 +* - Description: Description of the property
1.53 +*
1.54 +*/
1.55 +
1.56 +/**
1.57 +* - Name: Auto calibration active
1.58 +* - Type: TInt
1.59 +* - Scope: Channel item property
1.60 +* - Mandatory: No
1.61 +* - Capability: None
1.62 +* - Description: Indicates is auto calibration active.
1.63 +* Value is one if calibration is activated, zero otherwise.
1.64 +*/
1.65 +const TSensrvPropertyId KSensrvPropAutoCalibrationActive = 0x00001006;
1.66 +
1.67 +/**
1.68 +* - Name: Calibration status
1.69 +* - Type: TInt
1.70 +* - Scope: Channel item property
1.71 +* - Mandatory: No
1.72 +* - Capability: None
1.73 +* - Description: Indicates the calibration level.
1.74 +* Calibration level scales between minimum and maximum value.
1.75 +* Maximum indicates that calibration level is at its best
1.76 +* level. Minimum indicates that calibration is undefined.
1.77 +* Possible values: 0=Not calibrated, 1=Low, 2=Moderate, 3=High accuracy.
1.78 +*/
1.79 +const TSensrvPropertyId KSensrvPropCalibrationLevel = 0x00001007;
1.80 +
1.81 +/**
1.82 +* - Name: Auto calibration supported
1.83 +* - Type: TInt
1.84 +* - Scope: Channel item property
1.85 +* - Mandatory: No
1.86 +* - Capability: None
1.87 +* - Description: Scalar – Support for Calibration(1-Calibration Supported,
1.88 +* 0-Calibration not supported)
1.89 +*/
1.90 +
1.91 +const TSensrvPropertyId KSensrvPropIdAutoCalibrationSupported = 0x00001008;
1.92 +
1.93 +// MAGNETOMETER RELATED DATATYPES
1.94 +
1.95 +/**
1.96 +* Magnetometer axis data type
1.97 +*/
1.98 +class TSensrvMagnetometerAxisData
1.99 + {
1.100 +public:
1.101 + /**
1.102 + * Channel data type Id number
1.103 + */
1.104 + static const TSensrvChannelDataTypeId KDataTypeId = 0x2000BEE0;
1.105 +
1.106 + /**
1.107 + * Channel data type index numbers
1.108 + */
1.109 + enum TSensrvMagnetometerAxisDataIndexes
1.110 + {
1.111 + ETimeStamp = 0,
1.112 + EAxisX,
1.113 + EAxisY,
1.114 + EAxisZ,
1.115 + EAxisXCalibrated,
1.116 + EAxisYCalibrated,
1.117 + EAxisZCalibrated
1.118 + };
1.119 +
1.120 +public:
1.121 +
1.122 + /**
1.123 + * - Item name: Sampling time.
1.124 + * - Item Index: 0
1.125 + * - Conditions: None
1.126 + * - Description: Timestamp for a sample.
1.127 + */
1.128 + TTime iTimeStamp;
1.129 +
1.130 + /**
1.131 + * - Item name: Magnetometer x-axis
1.132 + * - Item Index: 1
1.133 + * - Conditions: Single limit and range
1.134 + * - Description: Magnetometer values from x-axis
1.135 + */
1.136 + TInt iAxisXRaw;
1.137 +
1.138 + /**
1.139 + * - Item name: Magnetometer y-axis
1.140 + * - Item Index: 2
1.141 + * - Conditions: Single limit and range
1.142 + * - Description: Magnetometer values from y-axis
1.143 + */
1.144 + TInt iAxisYRaw;
1.145 +
1.146 + /**
1.147 + * - Item name: Magnetometer z-axis
1.148 + * - Item Index: 3
1.149 + * - Conditions: Single limit and range
1.150 + * - Description: Magnetometer values from z-axis
1.151 + */
1.152 + TInt iAxisZRaw;
1.153 +
1.154 + /**
1.155 + * - Item name: Magnetometer x-axis
1.156 + * - Item Index: 1
1.157 + * - Conditions: Single limit and range
1.158 + * - Description: Magnetometer values from x-axis
1.159 + */
1.160 + TInt iAxisXCalibrated;
1.161 +
1.162 + /**
1.163 + * - Item name: Magnetometer y-axis
1.164 + * - Item Index: 2
1.165 + * - Conditions: Single limit and range
1.166 + * - Description: Magnetometer values from y-axis
1.167 + */
1.168 + TInt iAxisYCalibrated;
1.169 +
1.170 + /**
1.171 + * - Item name: Magnetometer z-axis
1.172 + * - Item Index: 3
1.173 + * - Conditions: Single limit and range
1.174 + * - Description: Magnetometer values from z-axis
1.175 + */
1.176 + TInt iAxisZCalibrated;
1.177 + };
1.178 +
1.179 +#endif //SENSRVMAGNETOMETERSENSOR_H
1.180 +
1.181 +// End of File