×
Namespaces

Variants
Actions
Revision as of 14:10, 10 September 2007 by Forum Nokia KB (Talk | contribs)

Archived:Some user-defined vibra intensity values are not supported on S60 3rd Edition (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search

Template:KBKI

ID KIS000739 Creation date August 31, 2007
Platform S60 3rd Edition Devices  
Category Symbian C++ Subcategory Hardware


Description

The HWRM Vibra API, defined in hwrmvibra.h, provides the ability to control the device vibration feature. The following function:

   void CHWRMVibra::StartVibraL( TInt aDuration, TInt aIntensity );

allows setting a custom intensity for the vibration. aIntensity is defined as percentage of the maximum rotation speed of the vibra motor. Negative values are also allowed, in which case the vibra motor rotates in the opposite direction. According to SDK documentation, the allowed value range for aIntensity is -100..100. Intensity values outside this range will result in KErrArgument error.

In addition, vibra hardware places also a lower limit for the rotation speed. This low limit is in most devices 30; trying to set an intensity lower than +/- 30 will result in KErrGeneral error.


Solution

User-defined intensity values should be in the range (+/-) 30..100. Vibra clients should be prepared to handle following error (leave) codes when using the above function:

KErrNotSupported    Device does not support user-defined vibra intensity               
                    values.
                    
KErrArgument        One of the parameters is out of range.
                    
KErrAccessDenied    Vibration setting in the user profile is not set.
                    
KErrBadHandle       Vibra session has been invalidated.
                    
KErrLocked          Vibra is locked down because too much continuous use
                    or explicitly blocked (e.g. by a vibration-sensitive
                    accessory).
                    
KErrTimedOut        Timeout occurred in controlling vibra. 
                    
KErrInUse           Vibra is reserved by some other client.
                    
KErrNoMemory        Memory allocation failure. 
                    
KErrGeneral         Vibra hardware does not support one of the parameters, 
                    or other hardware error.
80 page views in the last 30 days.