epoc32/include/sensrvmagnetometersensor.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  Channel data types definitions
    15 *
    16 */
    17 
    18 
    19 
    20 #ifndef SENSRVMAGNETOMETERSENSOR_H
    21 #define SENSRVMAGNETOMETERSENSOR_H
    22 
    23 //  INCLUDES
    24 #include <e32base.h>
    25 #include <sensrvtypes.h> 
    26 
    27 // MAGNETOMETER RELATED CHANNELS 
    28 
    29 /**
    30 * - Name:          Magnetometer XYZ-axis data channel type
    31 * - Type:          Rawdata
    32 * - Datatype:      TSensrvMagnetometerAxisData
    33 * - Description:   Magnetometer x-, y-, z-axis data  
    34 */
    35 const TSensrvChannelTypeId KSensrvChannelTypeIdMagnetometerXYZAxisData = 0x2000BEE0;
    36 
    37 
    38 // MAGNETOMETER RELATED PROPERTIES
    39 
    40 /**
    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 
    45 *                channel.
    46 * - Mandatory:   Defines is property mandatory
    47 * - Capability:  Capabilities needed to set this property
    48 * - Description: Description of the property
    49 *
    50 */
    51 
    52 /**
    53 * - Name:         Auto calibration active
    54 * - Type:         TInt 
    55 * - Scope:        Channel item property
    56 * - Mandatory:    No
    57 * - Capability:   None
    58 * - Description:  Indicates is auto calibration active.
    59 *                 Value is one if calibration is activated, zero otherwise.
    60 */
    61 const TSensrvPropertyId KSensrvPropAutoCalibrationActive = 0x00001006;
    62 
    63 /**
    64 * - Name:         Calibration status
    65 * - Type:         TInt 
    66 * - Scope:        Channel item property
    67 * - Mandatory:    No
    68 * - Capability:   None
    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.
    74 */
    75 const TSensrvPropertyId KSensrvPropCalibrationLevel = 0x00001007;
    76 
    77 /**
    78 * - Name:         Auto calibration supported
    79 * - Type:         TInt 
    80 * - Scope:        Channel item property
    81 * - Mandatory:    No
    82 * - Capability:   None
    83 * - Description:  Scalar – Support for Calibration(1-Calibration Supported,
    84 *									0-Calibration not supported)
    85 */
    86 
    87 const TSensrvPropertyId KSensrvPropIdAutoCalibrationSupported = 0x00001008;
    88 
    89 // MAGNETOMETER RELATED DATATYPES
    90 
    91 /**
    92 * Magnetometer axis data type
    93 */
    94 class TSensrvMagnetometerAxisData 
    95     {
    96 public:
    97     /**
    98     * Channel data type Id number
    99     */      
   100     static const TSensrvChannelDataTypeId KDataTypeId = 0x2000BEE0;
   101 
   102     /**
   103     * Channel data type index numbers
   104     */  
   105     enum TSensrvMagnetometerAxisDataIndexes
   106         {
   107         ETimeStamp = 0,
   108         EAxisX,
   109         EAxisY,
   110         EAxisZ,
   111         EAxisXCalibrated,
   112         EAxisYCalibrated,
   113         EAxisZCalibrated
   114         };
   115 
   116 public:
   117 
   118     /**
   119     * - Item name:   Sampling time.
   120     * - Item Index:  0
   121     * - Conditions:  None
   122     * - Description: Timestamp for a sample.
   123     */   
   124     TTime iTimeStamp;    
   125 
   126     /**
   127     * - Item name:   Magnetometer x-axis 
   128     * - Item Index:  1
   129     * - Conditions:  Single limit and range 
   130     * - Description: Magnetometer values from x-axis 
   131     */
   132     TInt iAxisXRaw;
   133 
   134     /**
   135     * - Item name:   Magnetometer y-axis 
   136     * - Item Index:  2
   137     * - Conditions:  Single limit and range 
   138     * - Description: Magnetometer values from y-axis 
   139     */ 
   140     TInt iAxisYRaw;
   141 
   142     /**
   143     * - Item name:   Magnetometer z-axis 
   144     * - Item Index:  3
   145     * - Conditions:  Single limit and range 
   146     * - Description: Magnetometer values from z-axis 
   147     */
   148     TInt iAxisZRaw;
   149     
   150     /**
   151     * - Item name:   Magnetometer x-axis 
   152     * - Item Index:  1
   153     * - Conditions:  Single limit and range 
   154     * - Description: Magnetometer values from x-axis 
   155     */
   156     TInt iAxisXCalibrated;
   157 
   158     /**
   159     * - Item name:   Magnetometer y-axis 
   160     * - Item Index:  2
   161     * - Conditions:  Single limit and range 
   162     * - Description: Magnetometer values from y-axis 
   163     */ 
   164     TInt iAxisYCalibrated;
   165 
   166     /**
   167     * - Item name:   Magnetometer z-axis 
   168     * - Item Index:  3
   169     * - Conditions:  Single limit and range 
   170     * - Description: Magnetometer values from z-axis 
   171     */
   172     TInt iAxisZCalibrated;
   173     };
   174 
   175 #endif //SENSRVMAGNETOMETERSENSOR_H
   176 
   177 // End of File