A sensor channel is associated with properties such as channel availability status, data transmission rate, data format and so on. Also, each field in the data type supplied by a sensor channel can have its own properties. The channel properties can be retrieved using the CSensrvChannel::GetPropertyL() and CSensrvChannel::GetAllPropertiesL() functions.
Before retrieving channel properties, you must open the sensor channel.
A channel property is referenced by its property id and an index. The parameters of the CSensrvChannel::GetPropertyL() are listed with their meanings in the following table.
Parameter | Meaning |
---|---|
First parameter | specifies the id of the property to retrieve. |
Second parameter | is an index that specifies the property to be retrieved, if there are several properties associated with a particular property id. |
Third parameter | is a TSensrvProperty that is passed by reference and populated by CSensrvChannel::GetPropertyL(). |
The following list shows the different possible values of the index :
When the property id is for a simple property, that is, there is only one property item for the id (for example, KSensrvPropIdChannelAccuracy), the second parameter must be specified as ESensrvSingleProperty.
When the given property id has an array of TSensrvProperty items, the index parameter indicates which item in the array to retrieve. One such case is when you want to retrieve a property of a particular data field that is supplied by the channel. For example, if you want to find out if the X axis of the accelerometer is enabled, you must specify KSensrvPropIdAxisActive as the property id, and TSensrvAccelerometerAxisData::iAxisX as the index. For details, see Array Properties.
When the given property id has an array of TSensrvProperty items, information about the array can be retrieved by specifying ESensrvArrayPropertyInfo as the index parameter. For example, when a channel can provide data at discrete data rates, the information for each data rate is stored in a TSensrvProperty item. You can use KSensrvPropIdDataRate as the property id and ESensrvArrayPropertyInfo as the index to retrieve the property item that contains this information.