SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AccelerometerUtils Namespace Reference

Utility class for accelerometer-specific calculations. More...

Functions

float gToMps2 (float g_value)
 Convert acceleration from g-force to m/s²
 
float mps2ToG (float mps2_value)
 Convert acceleration from m/s² to g-force.
 
float rangeToG (AccelFullScaleRange range)
 Convert full-scale range enumeration to g-force value.
 
float calculateMagnitude (const AccelerometerData &data)
 Calculate magnitude of acceleration vector.
 
float calculateInclination (const AccelerometerData &data, uint8_t axis)
 Calculate inclination angle of specified axis relative to gravity.
 
float calculateInclinationDegrees (const AccelerometerData &data, uint8_t axis)
 Calculate inclination angle in degrees.
 
SensorDirection getDirection (const AccelerometerData &data)
 Get the direction of the acceleration vector.
 

Detailed Description

Utility class for accelerometer-specific calculations.

Function Documentation

◆ calculateInclination()

float AccelerometerUtils::calculateInclination ( const AccelerometerData data,
uint8_t  axis 
)
inline

Calculate inclination angle of specified axis relative to gravity.

Computes the angle between the specified axis and the total acceleration vector. Useful for tilt sensing and orientation detection.

Parameters
dataAccelerometer data structure
axisAxis to calculate inclination for (0=X, 1=Y, 2=Z)
Returns
float Inclination angle in radians, or NAN if calculation invalid

Definition at line 107 of file AccelerometerUtils.hpp.

References calculateMagnitude(), AccelerometerData::mps2, SensorVector::x, SensorVector::y, and SensorVector::z.

Referenced by calculateInclinationDegrees().

◆ calculateInclinationDegrees()

float AccelerometerUtils::calculateInclinationDegrees ( const AccelerometerData data,
uint8_t  axis 
)
inline

Calculate inclination angle in degrees.

Convenience wrapper that converts radians to degrees.

Parameters
dataAccelerometer data structure
axisAxis to calculate inclination for (0=X, 1=Y, 2=Z)
Returns
float Inclination angle in degrees, or NAN if calculation invalid

Definition at line 135 of file AccelerometerUtils.hpp.

References calculateInclination(), and M_PI.

◆ calculateMagnitude()

float AccelerometerUtils::calculateMagnitude ( const AccelerometerData data)
inline

Calculate magnitude of acceleration vector.

Computes the Euclidean norm: √(x² + y² + z²)

Parameters
dataAccelerometer data structure
Returns
float Magnitude of acceleration in m/s²

Definition at line 91 of file AccelerometerUtils.hpp.

References acc, AccelerometerData::mps2, IMUdata::x, IMUdata::y, and IMUdata::z.

Referenced by calculateInclination().

◆ getDirection()

SensorDirection AccelerometerUtils::getDirection ( const AccelerometerData data)
inline

Get the direction of the acceleration vector.

Note
Determines the primary direction of the acceleration vector based on its components.
Parameters
&dataThe accelerometer data structure containing the acceleration vector.
Return values
Theprimary direction of the acceleration vector.

Definition at line 147 of file AccelerometerUtils.hpp.

References DIRECTION_BOTTOM, DIRECTION_BOTTOM_LEFT, DIRECTION_BOTTOM_RIGHT, DIRECTION_TOP, DIRECTION_TOP_LEFT, DIRECTION_TOP_RIGHT, DIRECTION_UNKNOWN, AccelerometerData::mps2, x, SensorVector::x, y, SensorVector::y, and SensorVector::z.

◆ gToMps2()

float AccelerometerUtils::gToMps2 ( float  g_value)
inline

Convert acceleration from g-force to m/s²

Parameters
g_valueAcceleration in g-force (1g = 9.80665 m/s²)
Returns
float Acceleration in m/s²
Examples
/home/runner/work/SensorLib/SensorLib/src/sensor/accelerometer/bma/SensorBMA4XX.hpp.

Definition at line 47 of file AccelerometerUtils.hpp.

Referenced by SensorQMI8658::readAccel(), SensorBMA4XX::readData(), and SensorQMI8658::readFromFifo().

◆ mps2ToG()

float AccelerometerUtils::mps2ToG ( float  mps2_value)
inline

Convert acceleration from m/s² to g-force.

Parameters
mps2_valueAcceleration in m/s²
Returns
float Acceleration in g-force

Definition at line 58 of file AccelerometerUtils.hpp.

◆ rangeToG()

float AccelerometerUtils::rangeToG ( AccelFullScaleRange  range)
inline

Convert full-scale range enumeration to g-force value.

Parameters
rangeFull-scale range enumeration
Returns
float Corresponding g-force value
Examples
/home/runner/work/SensorLib/SensorLib/src/sensor/accelerometer/bma/SensorBMA4XX.hpp.

Definition at line 69 of file AccelerometerUtils.hpp.

References FS_128G, FS_16G, FS_2G, FS_32G, FS_4G, FS_64G, and FS_8G.

Referenced by SensorBMA4XX::setFullScaleRange().