# Sensor service

**Detailed Description**

This section contains APIs, data structures and components to access the sensor sub-system.

- *group* Telematics\_sensor\_service

    - Typedefs

- using SensorConfigMask = std::bitset&lt;[SensorConfigParams](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#_CPPv418SensorConfigParams)::[SENSOR\_CONFIG\_NUM\_PARAMS](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#_CPPv4N18SensorConfigParams24SENSOR_CONFIG_NUM_PARAMSE)&gt;

    -

Enums

- enum SensorType

    - Enumeration of different sensors available.

*Values:*

- enumerator ACCELEROMETER

    - ID for the accelerometer sensor

- enumerator GYROSCOPE

    - ID for the gyroscope sensor

- enumerator GYROSCOPE\_UNCALIBRATED

    - ID for the uncalibrated gyroscope sensor

- enumerator ACCELEROMETER\_UNCALIBRATED

    - ID for the uncalibrated accelerometer sensor

- enumerator INVALID

    - Denotes that the sensor type is either unknown or invalid

- enum SensorConfigParams

    - Enumeration listing the different configuration parameters in [SensorConfiguration](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00617.html#a00617)

*Values:*

- enumerator SAMPLING\_RATE

    - Corresponds to [SensorConfiguration::samplingRate](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00617.html#a00617_1adac19055e99afe0aa089fe8c88710dc0)

- enumerator BATCH\_COUNT

    - Corresponds to [SensorConfiguration::batchCount](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00617.html#a00617_1a4cf3bc79337b64794a46796ac901e1a8)

- enumerator ROTATE

    - Corresponds to [SensorConfiguration::isRotated](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00617.html#a00617_1a8b5338d21301fab33f4fb3f4c0d7d7c9)

- enumerator SENSOR\_CONFIG\_NUM\_PARAMS

    -

- enum SelfTestType

    - Types of self test the sensor can perform.

*Values:*

- enumerator POSITIVE

    - To initiate self test with positive values

- enumerator NEGATIVE

    - To initiate self test with negative values

- enumerator ALL

    - To initiate self test of all types in a single shot

- enum SensorResultType

    - Enum to represent the result of sensor self test.

*Values:*

- enumerator HISTORICAL

    - When sensor is busy, self-test is not possible and historical result would be provided.

- enumerator CURRENT

    - When sensor is idle, self test is performed and the current result would be provided.

- struct SensorInfo

    - Information related to sensor.

Public Members

- int id

    - Unique identifier for the sensor.

- [SensorType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga6db3f3a3c719ea15939ce540c0121b01.html#_CPPv4N5telux6sensor10SensorTypeE) type

    - The type of sensor, [telux::sensor::SensorType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga6db3f3a3c719ea15939ce540c0121b01.html#a00027_1ga6db3f3a3c719ea15939ce540c0121b01)

- std::string name

    - The name of the sensor This name is used to get a reference to a sensor with [telux::sensor::ISensorManager::getSensorClient](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00631_1a18ffe85cc52f53543c92ef9dab776554)

- std::string vendor

    - The name of the vendor

- std::vector&lt;float&gt; samplingRates

    - List of supported sampling rates by the sensor hardware, number of samples per second (Hz)

- float maxSamplingRate

    - The maximum sampling rate the sensor can be configured for. This can be set in /etc/sensors.conf for each sensor and should be less than the maximum sampling rate supported by the sensor hardware, number of samples per second (Hz)

This attribute should be considered while using the API [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1)

- uint32\_t maxBatchCountSupported

    - Maximum batch count supported by the sensor, i.e. the maximum number of sensor events that the underlying framework can buffer.

This attribute should be considered while using the API [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1)

- uint32\_t minBatchCountSupported

    - Minimum batch count supported by the sensor. This is set in /etc/sensors.conf for each sensor.

This attribute should be considered while using the API [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1)

- int range

    - The range offered by the sensor. This configuration can be set in /etc/sensors.conf for each sensor.

For accelerometers, this is the number of Gs (force per unit mass due to gravity) in either direction (+/-) on each axis

For gyroscopes, this is the number of degrees per second (dps) in either direction (+/-) along each axis

- int version

    - The version of the sensor considering the hardware part and the driver

- float resolution

    - This is the smallest difference between two values reported by this sensor, in meter per second per second for accelerometer, radians per second for gyroscope

- float maxRange

    - The maximum range this sensor offers, in meter per second per second for accelerometer, radians per second for gyroscope. This attribute depends on the [SensorInfo::range](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1aed7c66dfcb3be87d72964e8c2ee192d5) of the sensor set in the configuration file. For example, a range of 1G results in a maximum range of approximately 9.8 m/s/s and a range of 2G gives a maximum range of about 19.6 m/s/s.

- struct SensorConfiguration

    - Configurable parameters of a sensor.

Public Members

- float samplingRate

    - The sampling rate for the sensor, number of samples per second (Hz)

In case of [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1), the requested sampling rate should be one of the sampling rates provided in the [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5) and should be less than the [telux::sensor::SensorInfo::maxSamplingRate](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1ad7f6cc5df8d690ee6abbcf51c3d284bd).

If the requested sampling rate is less than the minimum value in the [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5), it will be set to the least of the values in [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5)

If the requested sampling rate is not one of the supported sampling rates in [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5), the requested value is floored to the nearest value in [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5)

Consider [telux::sensor::SensorInfo::samplingRates](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a53fa4e9251278fe5de0a5c89e21bebb5) having values 12, 26, 52. If requested sampling rate in configure API is 7, the sampling rate considered by the sensor framework would be 12. If requested sampling rate in configure API is 51, the sampling rate considered by the sensor framework would be 26.

In case of a configuration update received via [telux::sensor::ISensorEventListener::onConfigurationUpdate](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ad1ef972591bb999b46d78a2ebb861909), the current sampling rate configuration is passed to the listener

- uint32\_t batchCount

    - The batch count of the sensor.

Batch count is the count of number of samples the underlying framework would buffer before notifying the client of the data. The intention is to reduce the number of interactions between the hardware, framework and the user application to reduce power consumption, improve compute efficiency and reduce number of interactions between different components. It is important to consider latency while deciding the batch count for a sensor. Higher the batch count, more is the latency for the samples.

In case of [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1), the requested batch count should be lesser than the maximum supported batch count [telux::sensor::SensorInfo::maxBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a235f4271d2e18cd0e1f536b0bbfe5193). Also, the batch count considered is impacted by the [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4).

If the requested batch count is less than [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4), it will be set to [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4)

If the requested batch count is not a multiple of [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4), the requested value is floored to the nearest multiple of [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4)

Consider [telux::sensor::SensorInfo::minBatchCountSupported](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00619.html#a00619_1a3a121de438390aa2e21e8eb9f3ae42c4) having a value of 7. If requested batchCount in configure API is 2, the batchCount considered by the sensor framework would be 7. If requested batchCount in configure API is 23, the batchCount considered by the sensor framework would be 21.

In case of a configuration update [telux::sensor::ISensorEventListener::onConfigurationUpdate](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ad1ef972591bb999b46d78a2ebb861909), this field indicates the current configuration for batch count.

- bool isRotated

    - Configures if the sensor data provided is rotated as per Euler angles set.

In case of [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1), if the flag “isRotated” is set, the data provided via [telux::sensor::ISensorEventListener::onEvent](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ab357afb7ab27fb33b127f3f093bc7c5c) will be rotated based on Euler angle set via [telux::sensor::ISensorManager::setEulerAngleConfig](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00631_1a0f651735f282290ec6b47d47f5c05753).

In case of a configuration update received via [telux::sensor::ISensorEventListener::onConfigurationUpdate](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ad1ef972591bb999b46d78a2ebb861909), the current rotation configuration is provided to the listener.

- [SensorConfigMask](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00027_1ga7e9454e9ae8a4ff2bd5f40dde2290607.html#_CPPv4N5telux6sensor16SensorConfigMaskE) validityMask

    - Bitset indicating the validity of the received sensor configuration via [telux::sensor::ISensorClient::getConfiguration](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1af1b56770a1ad652d46227ca499642427) and [telux::sensor::ISensorEventListener::onConfigurationUpdate](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ad1ef972591bb999b46d78a2ebb861909). The configuration items that were never set would have return false when tested for using std::bitset::test.

Further, this bitset should be set by the user to indicate the valid fields while configuring the sensor using [telux::sensor::ISensorClient::configure](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a5341e4cd8196a8b280f4f5bb092a6eb1). For continuous stream of data from a sensor, the validity of SAMPLING\_RATE, BATCH\_COUNT and ROTATE from [SensorConfigParams](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1gae78bd3a281cb330a8e8b427668e2093a.html#a00027_1gae78bd3a281cb330a8e8b427668e2093a) should be considered. If the sensor had been already configured with sampling rate, batch count and rotation required, it is possible to reconfigure the sensor partially with just one of these attributes and setting the required validity flag.

- [SensorConfigMask](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00027_1ga7e9454e9ae8a4ff2bd5f40dde2290607.html#_CPPv4N5telux6sensor16SensorConfigMaskE) updateMask

    - Bitset indicating the parameters that were updated since last notification via [telux::sensor::ISensorEventListener::onConfigurationUpdate](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00616_1ad1ef972591bb999b46d78a2ebb861909)

- struct EulerAngleConfig

    - Euler angles for a sensor.

Public Members

- float roll

    - 

- float pitch

    - 

- float yaw

    -

- struct MotionSensorData

    - Structure of a single sample from a motion sensor.

Public Members

- float x

    - x-axis data, meter per second per second for accelerometer, radians per second for gyroscope

- float y

    - y-axis data, meter per second per second for accelerometer, radians per second for gyroscope

- float z

    - z-axis data, meter per second per second for accelerometer, radians per second for gyroscope

- struct UncalibratedMotionSensorData

    - Structure of a single sample from uncalibrated motion sensor.

Public Members

- [MotionSensorData](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#_CPPv4N5telux6sensor16MotionSensorDataE) data

    - Uncalibrated motion sensor data [MotionSensorData](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00621.html#a00621)

- [MotionSensorData](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#_CPPv4N5telux6sensor16MotionSensorDataE) bias

    - Bias for the uncalibrated data [MotionSensorData](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00621.html#a00621)

- struct SensorEvent

    - Structure of a single sensor event.

Public Members

- uint64\_t timestamp

    - Timestamp when the event was generated on the hardware, nanosecond since boot-up

- union telux::sensor::[SensorEvent](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#_CPPv4N5telux6sensor11SensorEventE)::[anonymous] [anonymous]

    -

- struct SensorFeature

    - Feature offered by sensor hardware and/or software framework.

Public Members

- std::string name

    - Name of the feature

- struct SensorFeatureEvent

    - Structure of an event that is generated from a sensor feature.

Public Members

- uint64\_t timestamp

    - Best estimate of timestamp indicating the time of occurance of the event, nanosecond since boot-up

- std::string name

    - Name of the feature that generated the event

- int id

    - The ID of the generated event

- struct SelfTestResultParams

    - Represents the result of the sensor self test when [telux::sensor::ISensorClient::selfTest](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00618_1a65f85468f5c4948a6ec97c5d3ba41bd8) is invoked with the telux::sensor::SelfTestAdvancedParamsCallback callback.

Public Members

- [SensorResultType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga31887260a0a22e9c132287144a48abdc.html#_CPPv4N5telux6sensor16SensorResultTypeE) sensorResultType\_

    - Sensor result type as per [SensorResultType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga31887260a0a22e9c132287144a48abdc.html#a00027_1ga31887260a0a22e9c132287144a48abdc).

- uint64\_t timestamp\_

    - Boot timestamp in ns. Represents the timestamp of the self-test.

- struct MotionDetectionConfigLimits

    - Represents the upper and lower bound limits for each configuration required to detect motion. The limits can be retrieved using [telux::sensor::ISensorFeatureManager::getMotionDetectionConfigLimits](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630_1a7b7a475eb76c380b06961be0fa1f3dae) API.

Public Members

- float minThreshold

    - Minimum threshold that can be set for [MotionDetectionConfig::threshold](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1abf25054b794172533cc0e70aaea7730f)

- float maxThreshold

    - Maximum threshold that can be set for [MotionDetectionConfig::threshold](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1abf25054b794172533cc0e70aaea7730f)

- int minDuration

    - Minimum duration that can be set for [MotionDetectionConfig::duration](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1ac1b4dc01625044a90e9b857806cb4fd4)

- int maxDuration

    - Maximum duration that can be set for [MotionDetectionConfig::duration](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1ac1b4dc01625044a90e9b857806cb4fd4)

- float minSamplingRate

    - Minimum frequency that can be set for [MotionDetectionConfig::samplingRate](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1aa171ca830b924341b542ac1c687a4030)

- float maxSamplingRate

    - Maximum frequency that can be set for [MotionDetectionConfig::samplingRate](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00627.html#a00627_1aa171ca830b924341b542ac1c687a4030)

- struct MotionDetectionConfig

    - Represents the parameters that should be used to detect motion for a sensor.

A client can set the motion detection parameters using [telux::sensor::ISensorFeatureManager::enableMotionDetection](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630_1a96cab498d5cb29376f9b65ce31e6a1a4) API and can retrieve the parameters if it was already set using telux::sensor::ISensorFeatureManager::getMotionDetectionConfig API.

Public Members

- float threshold

    - Threshold is the minimum value that must be exceeded to generate an event. Units - In mg.

- int duration

    - Duration is the period for which the sensor data should be above the threshold, to generate the motion detection event. If this is 0, this means, the sensor event would be immediately triggered after the threshold is crossed. Units - In ms.

- float samplingRate

    - Sampling rate is the frequency at which the sensor should generate samples for the purpose of motion detection. Units - In Hz.

- int sensorId

    - When a client enables the motion detection configuration using [telux::sensor::ISensorFeatureManager::enableMotionDetection](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630_1a96cab498d5cb29376f9b65ce31e6a1a4) API, the sensor id points to the id of the sensor for which the configuration is being set.

When a client requests the motion detection configuration using [telux::sensor::ISensorFeatureManager::getMotionDetectionConfigs](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630_1a7cf0b8e97d154ea66ca075db83fd4ed7) API, the sensor id points to the id of the sensor for which the configuration is already set.

- class SensorFactory

    - [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#a00628) is the central factory to create instances of sensor objects.

Public Functions

- virtual std::shared\_ptr&lt;[ISensorManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00631.html#_CPPv4N5telux6sensor14ISensorManagerE)&gt; getSensorManager(telux::common::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00235_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) clientCallback = nullptr) = 0

    - Get an instance of Sensor Manager. The ownership of the returned object is with the caller of this method. The reference to the instance is not held by the [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#a00628). If the returned reference is released, any request for [ISensorManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00631) shall result in creation of a new instance

- Parameters:

    - **clientCallback** – **[in]** Optional callback to get the initialization status of SensorManager [telux::common::InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00235_1ab92f90010203f914a62cec6bd7af0a1a.html#a00235_1ab92f90010203f914a62cec6bd7af0a1a)

- Returns:

    - An instance of [ISensorManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_control.html#a00631) If the initialization of the manager and underlying system fails, nullptr is returned

- virtual std::shared\_ptr&lt;[ISensorFeatureManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00630.html#_CPPv4N5telux6sensor21ISensorFeatureManagerE)&gt; getSensorFeatureManager(telux::common::[InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00235_1ab92f90010203f914a62cec6bd7af0a1a.html#_CPPv4N5telux6common14InitResponseCbE) clientCallback = nullptr) = 0

    - Get an instance of Sensor Feature Manager. The ownership of the returned object is with the caller of this method. The reference to the instance is not held by the [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#a00628). If the returned reference is released, any request for [ISensorFeatureManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630) shall result in creation of a new instance

- Parameters:

    - **clientCallback** – **[in]** Optional callback to get the initialization status of SensorFeatureManager [telux::common::InitResponseCb](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00235_1ab92f90010203f914a62cec6bd7af0a1a.html#a00235_1ab92f90010203f914a62cec6bd7af0a1a)

- Returns:

    - An instance of [ISensorFeatureManager](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_feature_control.html#a00630) If the initialization of the manager and underlying system fails, nullptr is returned

Public Static Functions

- static [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00628.html#_CPPv4N5telux6sensor13SensorFactoryE) &getInstance()

    - Get Sensor Factory instance.

- Returns:

    - The singleton instance of [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/sensor_service.html#a00628) object

Private Functions

- SensorFactory(const [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00628.html#_CPPv4N5telux6sensor13SensorFactory13SensorFactoryERK13SensorFactory)&) = delete

    - 

- [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00628.html#_CPPv4N5telux6sensor13SensorFactoryE) &operator=(const [SensorFactory](https://docs.qualcomm.com/doc/80-PF458-8/topic/class_a00628.html#_CPPv4N5telux6sensor13SensorFactoryE)&) = delete

    -

- telux::sensor::SensorEvent.\_\_unnamed\_\_

    - Sensor data

Public Members

- MotionSensorData calibrated

    - Calibrated data - should be accessed when the [SensorType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga6db3f3a3c719ea15939ce540c0121b01.html#a00027_1ga6db3f3a3c719ea15939ce540c0121b01) that generated the sensor event accounts for calibration - SensorType::ACCELEROMETER or SensorType::GYROSCOPE

- UncalibratedMotionSensorData uncalibrated

    - Uncalibrated data - should be accessed when the [SensorType](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00027_1ga6db3f3a3c719ea15939ce540c0121b01.html#a00027_1ga6db3f3a3c719ea15939ce540c0121b01) that generated the sensor event provides uncalibrated data along with bias information - SensorType::ACCELEROMETER\_UNCALIBRATED or SensorType::GYROSCOPE\_UNCALIBRATED

Last Published: May 20, 2026

[Previous Topic
Sensor](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/sensor.md) [Next Topic
Sensor control](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/sensor_control.md)