Hospital Analyser  1.0
Classes | Functions
Fusion.h File Reference
#include "main.h"
#include "math.h"
#include "TargetFeatures.h"
#include "motion_gc.h"
Include dependency graph for Fusion.h:

Go to the source code of this file.

Classes

union  Vector3
 Union data structure for holding vector of 3 elements. More...
 
struct  Quaternion
 Structure for holding Quaternion [w, x, y, z]. More...
 
struct  Orientation
 Structure for holding Euler angles [Roll, Pitch, Yaw]. More...
 
struct  Fusion
 Structure holding input and output data from sensor fusion. More...
 
struct  SensorDataNormalised
 Structure holding normalised accelerometer and gyroscope readings. More...
 

Functions

Vector3 SubstractVector3 (const Vector3 *vectorA, const Vector3 *vectorB)
 SubstractVector3 Substracts two Vector3 vectors. More...
 
void CalculateOrientation (Fusion *fusion)
 CalculateOrientation Calculates object's orientation from Quaternion and stores this information in Fusion data structure. More...
 
void CalculateLinearAcceleration (Fusion *fusion, const Vector3 *acceleration)
 CalculateLinearAcceleration Calculates object's linear acceleration using Quaternion and accelerometer readings and stores this information in Fusion data structure. More...
 
Vector3 GetLinearAcceleration (const Fusion *fusion)
 GetLinearAcceleration Getter for linear accelearation. More...
 
Orientation GetOrientation (const Fusion *fusion)
 GetOrientation Getter for orientation. More...
 
void GetReadings (const SensorHandles *handle, SensorDataNormalised *dataOut)
 GetReadings Reads new data from accelerometer and gyroscope and saves them in SensorDataNormalised data structure. More...
 
float deg2rad (float degrees)
 deg2rad Converts degrees to radians More...
 
void MotionGC_Init (float freq)
 MotionGC_Init Initializes dynamic gyroscope calibration library. More...
 
void MotionGC_updateBias (SensorDataNormalised *imuData, uint8_t *isStable)
 MotionGC_updateBias Calculates gyroscope offset and compensates gyroscope readings. More...
 

Function Documentation

void CalculateLinearAcceleration ( Fusion fusion,
const Vector3 acceleration 
)

CalculateLinearAcceleration Calculates object's linear acceleration using Quaternion and accelerometer readings and stores this information in Fusion data structure.

Parameters
fusionPointer to Fusion data structure
accelerationPointer to current acceleration reading
void CalculateOrientation ( Fusion fusion)

CalculateOrientation Calculates object's orientation from Quaternion and stores this information in Fusion data structure.

Parameters
fusionPointer to Fusion data structure
float deg2rad ( float  degrees)

deg2rad Converts degrees to radians

Parameters
degreesValue to convert
Returns
Converted value in radians
Vector3 GetLinearAcceleration ( const Fusion fusion)

GetLinearAcceleration Getter for linear accelearation.

Parameters
fusionPointer to Fusion data structure holiding linear acceleration
Returns
Vector3 structure containing linear acceleration values
Orientation GetOrientation ( const Fusion fusion)

GetOrientation Getter for orientation.

Parameters
fusionPointer to Fusion data structure holiding orientation
Returns
Orientation structure containing object orieantation values in Euler angles
void GetReadings ( const SensorHandles *  handle,
SensorDataNormalised dataOut 
)

GetReadings Reads new data from accelerometer and gyroscope and saves them in SensorDataNormalised data structure.

Parameters
handlePointer to SensorHandles
dataOutPointer to SensorDataNormalised, where new readings should be saved
void MotionGC_Init ( float  freq)

MotionGC_Init Initializes dynamic gyroscope calibration library.

Parameters
freqUpdate frequency
void MotionGC_updateBias ( SensorDataNormalised imuData,
uint8_t *  isStable 
)

MotionGC_updateBias Calculates gyroscope offset and compensates gyroscope readings.

Parameters
imuDataPointer to SensorDataNormalised structure where input and output data are stored
isStablePointer to flag variable indicating if object is stable
Vector3 SubstractVector3 ( const Vector3 vectorA,
const Vector3 vectorB 
)

SubstractVector3 Substracts two Vector3 vectors.

Parameters
vectorAPointer to first vector
vectorBPointer to second vector
Returns
Vector = vectorA - vectorB