Limb Range Analyzer
Cross-platform application for human limb range analysis.
SensorComponent Struct Reference

This structure provides data management helper for SensorModule, as well as sensor fusion filtering algorithm. More...

#include <sensorcomponent.hpp>

Inheritance diagram for SensorComponent:

Public Member Functions

 SensorComponent ()
 Default constructor of struct SensorComponent. More...
 
 ~SensorComponent ()
 Default destructor. More...
 
void SensorComponent_SetComponent (const SensorComponent &component)
 Setter function that serves as an object copy constructor. More...
 
void SensorComponent_FilterSensorValues (qreal accX, qreal accY, qreal accZ, qreal gyroX, qreal gyroY, qreal gyroZ)
 Sensor fusion struct member function. More...
 

Public Attributes

qint32 mAccelerometerX
 qint32 value, this member is used for accelerometer X axis value storage.
 
qint32 mAccelerometerY
 qint32 value, this member is used for accelerometer Y axis value storage.
 
qint32 mAccelerometerZ
 qint32 value, this member is used for accelerometer Z axis value storage.
 
qint32 mGyroscopeX
 qint32 value, this member is used for gyroscope X axis value storage.
 
qint32 mGyroscopeY
 qint32 value, this member is used for gyroscope Y axis value storage.
 
qint32 mGyroscopeZ
 qint32 value, this member is used for gyroscope Z axis value storage.
 
qint16 mRoll
 qint16 member that holds current ROLL value.
 
qint16 mRollPrevOne
 qint16 member that holds first previous ROLL value. More...
 
qint16 mRollPrevTwo
 qint16 member that holds second previous ROLL value. More...
 
qint16 mRollMin
 qint16 member that holds measured MINIMUM of ROLL value.
 
qint16 mRollMax
 qint16 member that holds measured MAXIMUM of ROLL value.
 
qint16 mPitch
 qint16 member that holds current PITCH value.
 
qint16 mPitchPrevOne
 qint16 member that holds first previous PITCH value. More...
 
qint16 mPitchPrevTwo
 qint16 member that holds second previous PITCH value. More...
 
qint16 mPitchMin
 qint16 member that holds measured MINIMUM of PITCH value.
 
qint16 mPitchMax
 qint16 member that holds measured MAXIMUM of PITCH value.
 
qint16 mYaw
 qint16 member that holds current YAW value.
 
qint16 mMin
 qint16 that keeps the currently reported MINIMUM value.
 
qint16 mMax
 qint16 that keeps the currently reported MAXIMUM value.
 
qint16 mRange
 qint16 that keeps the currently reported RANGE value.
 
qint16 mCurrentAngle
 qint16 that keeps the currently reported ANGLE value.
 
qreal mFilterQ0
 qreal value that depicts first quaternion filter value (real number).
 
qreal mFilterQ1
 qreal value that depicts second quaternion filter value (real number).
 
qreal mFilterQ2
 qreal value that depicts third quaternion filter value (real number).
 
qreal mFilterQ3
 qreal value that depicts fourth quaternion filter value (real number).
 
bool mStartUpsideDown
 bool that in case of TRUE state means that a BlueCoin device starts measurement while upside down, FALSE otherwise.
 
AxisSelection mAxisSelected
 AxisSelection enumeration member value that helps to recognise vertically processed measurement (by estimating its axis). More...
 
ProcessingSelection mProcessingSelected
 ProcessingSelection enum member variable that specifies whether vertical or horizontal measurement is processed. More...
 

Detailed Description

This structure provides data management helper for SensorModule, as well as sensor fusion filtering algorithm.

SensorComponent handles needed member variables that are bound to sensor fusion algorithm used for filtering. That way, device rotation angles and exercise ranges are kept. These results are then, through SensorModule, provided for visualization and numerical output for user to see.

See also
SensorModule

Constructor & Destructor Documentation

◆ SensorComponent()

SensorComponent::SensorComponent ( )

Default constructor of struct SensorComponent.

Through this function, member variables are initially set.

◆ ~SensorComponent()

SensorComponent::~SensorComponent ( )

Default destructor.

Destructor function for struct SensorComponent.

Member Function Documentation

◆ SensorComponent_FilterSensorValues()

void SensorComponent::SensorComponent_FilterSensorValues ( qreal  accX,
qreal  accY,
qreal  accZ,
qreal  gyroX,
qreal  gyroY,
qreal  gyroZ 
)

Sensor fusion struct member function.

This function updates member variables depicting quaternions and output filter values that are used for drift-reduced sensing possibility for human limb range analysis. The algorithm principle is based on Madgwick's filter, which is in turn based on Kalman filtering properties.

Parameters
accX- modified accelerometer X real number input parameter
accY- modified accelerometer Y real number input parameter
accZ- modified accelerometer Z real number input parameter
gyroX- modified gyroscope X real number input parameter
gyroY- modified gyroscope Y real number input parameter
gyroZ- modified gyroscope Z real number input parameter

◆ SensorComponent_SetComponent()

void SensorComponent::SensorComponent_SetComponent ( const SensorComponent component)

Setter function that serves as an object copy constructor.

With the usage of this member function, member variables are set through a copy of a struct object.

Parameters
component- struct instance used for member values copying

Member Data Documentation

◆ mAxisSelected

AxisSelection SensorComponent::mAxisSelected

AxisSelection enumeration member value that helps to recognise vertically processed measurement (by estimating its axis).

See also
AxisSelection

◆ mPitchPrevOne

qint16 SensorComponent::mPitchPrevOne

qint16 member that holds first previous PITCH value.

Member is used for PITCH precision enhancement.

◆ mPitchPrevTwo

qint16 SensorComponent::mPitchPrevTwo

qint16 member that holds second previous PITCH value.

Member is used for PITCH precision enhancement.

◆ mProcessingSelected

ProcessingSelection SensorComponent::mProcessingSelected

ProcessingSelection enum member variable that specifies whether vertical or horizontal measurement is processed.

See also
AxisSelection

◆ mRollPrevOne

qint16 SensorComponent::mRollPrevOne

qint16 member that holds first previous ROLL value.

Member is used for ROLL precision enhancement.

◆ mRollPrevTwo

qint16 SensorComponent::mRollPrevTwo

qint16 member that holds second previous ROLL value.

Member is used for ROLL precision enhancement.


The documentation for this struct was generated from the following files: