diff -r 0818dd463d41 -r 924385140d98 sensorsupport/testsensor/inc/ssyreferenceaccelerometer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sensorsupport/testsensor/inc/ssyreferenceaccelerometer.h Tue Aug 31 15:24:25 2010 +0300 @@ -0,0 +1,256 @@ +// ssyreferenceaccelerometer.h + +/* +* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + +/** + @file + @internalAll Sensor framework Reference SSY header file + @test +*/ + + +#ifndef SSYREFERENCEACCELEROMETER_H +#define SSYREFERENCEACCELEROMETER_H + +// INCLUDES +#include +#include + + +// ACCELEROMETER RELATED CHANNELS + +/** +* - Name: Accelerometer XYZ-axis data channel type +* - Type: Rawdata +* - Datatype: TSensrvAccelerometerAxisData +* - Description: Accelerometer x-, y-, z-axis data +*/ +const TSensrvChannelTypeId KSensrvChannelTypeIdAccelerometerXYZAxisData = 0x1020507E; + +// ACCELEROMETER RELATED PROPERTIES + +/** +* - Name: Axis active +* - Type: TInt +* - Scope: Channel item property +* - Mandatory: No +* - Capability: None +* - Description: Indicates is sensor axis activated. +* Value is one if the axis is activated, zero otherwise. +*/ +const TSensrvPropertyId KSensrvPropIdAxisActive = 0x00001001; + +/** +* - Name: Axis threshold value +* - Type: TReal +* - Scope: Channel item property +* - Mandatory: No +* - Capability: None +* - Description: Threshold value for a sensor channel +*/ +const TSensrvPropertyId KSensrvPropIdAxisThresholdValue = 0x00001002; + +// ACCELEROMETER RELATED DATATYPES + +/** +* Accelerometer axis data type +*/ +class TSensrvAccelerometerAxisData + { +public: + /** + * Channel data type Id number + */ + static const TSensrvChannelDataTypeId KDataTypeId = 0x1020507E; + + /** + * Channel data type index numbers + */ + enum TSensrvAccelerometerAxisDataIndexes + { + ETimeStamp = 0, + EAxisX, + EAxisY, + EAxisZ + }; + +public: + /** + * - Item name: Sampling time. + * - Item Index: 0 + * - Conditions: None + * - Description: Timestamp for a sample. + */ + TTime iTimeStamp; + + /** + * - Item name: Accelerometer x-axis + * - Item Index: 1 + * - Conditions: Single limit and range + * - Description: Accelerometer values from x-axis + */ + TInt iAxisX; + + /** + * - Item name: Accelerometer y-axis + * - Item Index: 2 + * - Conditions: Single limit and range + * - Description: Accelerometer values from y-axis + */ + TInt iAxisY; + + /** + * - Item name: Accelerometer z-axis + * - Item Index: 3 + * - Conditions: Single limit and range + * - Description: Accelerometer values from z-axis + */ + TInt iAxisZ; + }; + + +// TAPPING RELATED CHANNELS + +/** +* - Name: Wakeup event channel type +* - Type: Event +* - Datatype: TSensrvTappingData +* - Description: Wakeup events +*/ +const TSensrvChannelTypeId KSensrvChannelTypeIdAccelerometerWakeupData = 0x1020507F; + +/** +* - Name: Double tapping event channel type +* - Type: Event +* - Datatype: TSensrvTappingData +* - Description: Double tapping events +*/ +const TSensrvChannelTypeId KSensrvChannelTypeIdAccelerometerDoubleTappingData = 0x10205081; + +// TAPPING RELATED PROPERTIES + +/** +* - Name: Tapping axis active +* - Type: TInt +* - Scope: Channel item property +* - Mandatory: No +* - Capability: None +* - Description: Indicates is sensor axis activated. +* Value is one if the axis is activated, zero otherwise. +*/ +const TSensrvPropertyId KSensrvPropIdTappingAxisActive = 0x00001001; + +/** +* - Name: Tapping axis threshold value +* - Type: TReal +* - Scope: Channel item property +* - Mandatory: No +* - Capability: None +* - Description: Threshold value for a sensor channel +*/ +const TSensrvPropertyId KSensrvPropIdTappingAxisThresholdValue = 0x00001002; + +/** +* - Name: Tap duration in milliseconds +* - Type: TInt +* - Scope: Channel property +* - Mandatory: No +* - Capability: None +* - Description: Tapping duration setting +*/ +const TSensrvPropertyId KSensrvPropIdTapDurationValue = 0x00001003; + +/** +* - Name: Double tap latency +* - Type: TInt +* - Scope: Channel property +* - Mandatory: No +* - Capability: None +* - Description: Double tap latency in milliseconds +*/ +const TSensrvPropertyId KSensrvPropIdDblTapLatency = 0x00001004; + +/** +* - Name: Double tap interval +* - Type: TInt +* - Scope: Channel property +* - Mandatory: No +* - Capability: None +* - Description: Double tap interval in milliseconds +*/ +const TSensrvPropertyId KSensrvPropIdDblTapInterval = 0x00001005; + + + +// TAPPING RELATED DATATYPES + +/** +* Direction of the tapping data. If direction (plus or minus) is not known, +* direction is, for example in x-axis case +* KSensrvAccelerometerDirectionXplus | KSensrvAccelerometerDirectionXminus +*/ +const TUint8 KSensrvAccelerometerDirectionXplus = 0x01; +const TUint8 KSensrvAccelerometerDirectionXminus = 0x02; +const TUint8 KSensrvAccelerometerDirectionYplus = 0x04; +const TUint8 KSensrvAccelerometerDirectionYminus = 0x08; +const TUint8 KSensrvAccelerometerDirectionZplus = 0x10; +const TUint8 KSensrvAccelerometerDirectionZminus = 0x20; + +/** +* Tapping data type +*/ +class TSensrvTappingData + { +public: + /** + * Channel data type Id number + */ + static const TSensrvChannelDataTypeId KDataTypeId = 0x1020507F; + + /** + * Channel data type index numbers + */ + enum TSensrvAccelerometerAxisDataIndexes + { + ETimeStamp = 0, + EDirection + }; + +public: + /** + * - Item name: Sampling time. + * - Item Index: 0 + * - Conditions: None + * - Description: Timestamp for a sample. + */ + TTime iTimeStamp; + + /** + * - Item name: Tapping direction bitmask + * - Item Index: 1 + * - Conditions: Binary + * - Description: Direction bitmask of the tapping event. + * See constant definitions above. + */ + TUint32 iDirection; + }; + +#endif //SSYREFERENCEACCELEROMETER_H