ISF  2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
fusion.c File Reference
#include "math.h"
#include "basic_types.h"
#include "math_constants.h"
#include "approximations.h"
#include "fusion_config.h"
#include "fusion.h"
#include "orientation.h"
#include "drivers.h"
Include dependency graph for fusion.c:

Go to the source code of this file.

Functions

void fInit_1DOF_P_BASIC (struct SV_1DOF_P_BASIC *pthisSV, struct PressureSensor *pthisPressure, float flpftimesecs)
 
void fInit_3DOF_G_BASIC (struct SV_3DOF_G_BASIC *pthisSV, struct AccelSensor *pthisAccel, float flpftimesecs)
 
void fInit_3DOF_B_BASIC (struct SV_3DOF_B_BASIC *pthisSV, struct MagSensor *pthisMag, float flpftimesecs)
 
void fInit_3DOF_Y_BASIC (struct SV_3DOF_Y_BASIC *pthisSV)
 
void fInit_6DOF_GB_BASIC (struct SV_6DOF_GB_BASIC *pthisSV, struct AccelSensor *pthisAccel, struct MagSensor *pthisMag, float flpftimesecs)
 
void fInit_6DOF_GY_KALMAN (struct SV_6DOF_GY_KALMAN *pthisSV, struct AccelSensor *pthisAccel)
 
void fInit_9DOF_GBY_KALMAN (struct SV_9DOF_GBY_KALMAN *pthisSV, struct AccelSensor *pthisAccel, struct MagSensor *pthisMag, struct MagCalibration *pthisMagCal)
 
void fRun_1DOF_P_BASIC (struct SV_1DOF_P_BASIC *pthisSV, struct PressureSensor *pthisPressure)
 
void fRun_3DOF_G_BASIC (struct SV_3DOF_G_BASIC *pthisSV, struct AccelSensor *pthisAccel)
 
void fRun_3DOF_B_BASIC (struct SV_3DOF_B_BASIC *pthisSV, struct MagSensor *pthisMag)
 
void fRun_3DOF_Y_BASIC (struct SV_3DOF_Y_BASIC *pthisSV, struct GyroSensor *pthisGyro)
 
void fRun_6DOF_GB_BASIC (struct SV_6DOF_GB_BASIC *pthisSV, struct MagSensor *pthisMag, struct AccelSensor *pthisAccel)
 
void fRun_6DOF_GY_KALMAN (struct SV_6DOF_GY_KALMAN *pthisSV, struct AccelSensor *pthisAccel, struct GyroSensor *pthisGyro)
 
void fRun_9DOF_GBY_KALMAN (struct SV_9DOF_GBY_KALMAN *pthisSV, struct AccelSensor *pthisAccel, struct MagSensor *pthisMag, struct GyroSensor *pthisGyro, struct MagCalibration *pthisMagCal)
 

Variables

struct ProjectGlobals globals
 

Function Documentation

void fInit_1DOF_P_BASIC ( struct SV_1DOF_P_BASIC pthisSV,
struct PressureSensor pthisPressure,
float  flpftimesecs 
)
void fInit_3DOF_B_BASIC ( struct SV_3DOF_B_BASIC pthisSV,
struct MagSensor pthisMag,
float  flpftimesecs 
)
void fInit_3DOF_G_BASIC ( struct SV_3DOF_G_BASIC pthisSV,
struct AccelSensor pthisAccel,
float  flpftimesecs 
)
void fInit_3DOF_Y_BASIC ( struct SV_3DOF_Y_BASIC pthisSV)

Definition at line 180 of file fusion.c.

References f3x3matrixAeqI(), SV_3DOF_Y_BASIC::fdeltat, SV_3DOF_Y_BASIC::fGyrodeltat, SV_3DOF_Y_BASIC::fq, fqAeq1(), SV_3DOF_Y_BASIC::fR, globals, OVERSAMPLE_RATIO, Q3G, SV_3DOF_Y_BASIC::resetflag, and SENSORFS.

Referenced by fRun_3DOF_Y_BASIC().

Here is the call graph for this function:

Here is the caller graph for this function:

void fInit_6DOF_GB_BASIC ( struct SV_6DOF_GB_BASIC pthisSV,
struct AccelSensor pthisAccel,
struct MagSensor pthisMag,
float  flpftimesecs 
)
void fRun_1DOF_P_BASIC ( struct SV_1DOF_P_BASIC pthisSV,
struct PressureSensor pthisPressure 
)

Definition at line 361 of file fusion.c.

References PressureSensor::fH, fInit_1DOF_P_BASIC(), SV_1DOF_P_BASIC::flpf, SV_1DOF_P_BASIC::fLPH, SV_1DOF_P_BASIC::fLPT, PressureSensor::fT, and SV_1DOF_P_BASIC::resetflag.

Referenced by Fusion_Run().

Here is the call graph for this function:

Here is the caller graph for this function:

void fRun_6DOF_GY_KALMAN ( struct SV_6DOF_GY_KALMAN pthisSV,
struct AccelSensor pthisAccel,
struct GyroSensor pthisGyro 
)
void fRun_9DOF_GBY_KALMAN ( struct SV_9DOF_GBY_KALMAN pthisSV,
struct AccelSensor pthisAccel,
struct MagSensor pthisMag,
struct GyroSensor pthisGyro,
struct MagCalibration pthisMagCal 
)

Definition at line 940 of file fusion.c.

References ANDROID, CHX, CHY, CHZ, F180OVERPISQ, f3x3matrixAeqB(), SV_9DOF_GBY_KALMAN::fAccGl, SV_9DOF_GBY_KALMAN::fAlphaOver2, SV_9DOF_GBY_KALMAN::fAlphaOver2Qwb, SV_9DOF_GBY_KALMAN::fAlphaOver2Sq, SV_9DOF_GBY_KALMAN::fAlphaOver2SqQvYQwb, fAndroidAnglesDegFromRotationMatrix(), MagCalibration::fB, MagSensor::fBcAvg, SV_9DOF_GBY_KALMAN::fbErrPl, SV_9DOF_GBY_KALMAN::fbPl, SV_9DOF_GBY_KALMAN::fChiPl, SV_9DOF_GBY_KALMAN::fcosDeltaPl, GyroSensor::fDegPerSecPerCount, SV_9DOF_GBY_KALMAN::fDeltaErrPl, SV_9DOF_GBY_KALMAN::fDeltaPl, SV_9DOF_GBY_KALMAN::fDisGl, SV_9DOF_GBY_KALMAN::fgKalmandeltat, AccelSensor::fGsAvg, FGYRO_OFFSET_MAX_9DOF_GBY_KALMAN, FGYRO_OFFSET_MIN_9DOF_GBY_KALMAN, SV_9DOF_GBY_KALMAN::fGyrodeltat, fInit_9DOF_GBY_KALMAN(), SV_9DOF_GBY_KALMAN::fK10x7, SV_9DOF_GBY_KALMAN::fKalmandeltat, fLeastSquareseCompassAndroid(), fLeastSquareseCompassNED(), fLeastSquareseCompassWin8(), fmatrixAeqInvA(), fNEDAnglesDegFromRotationMatrix(), SV_9DOF_GBY_KALMAN::fOmega, SV_9DOF_GBY_KALMAN::fPhiPl, FPIOVER180, SV_9DOF_GBY_KALMAN::fPsiPl, fqAeqNormqA(), SV_9DOF_GBY_KALMAN::fqgErrPl, SV_9DOF_GBY_KALMAN::fqmErrPl, SV_9DOF_GBY_KALMAN::fqPl, fQuaternionFromRotationVectorDeg(), SV_9DOF_GBY_KALMAN::fQv7x1, FQVBQD_MIN_9DOF_GBY_KALMAN, SV_9DOF_GBY_KALMAN::fQw10x10, FQWB_9DOF_GBY_KALMAN, SV_9DOF_GBY_KALMAN::fQwCT10x7, FQWDLT_9DOF_GBY_KALMAN, SV_9DOF_GBY_KALMAN::fRhoPl, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), SV_9DOF_GBY_KALMAN::fRPl, SV_9DOF_GBY_KALMAN::fRVecPl, SV_9DOF_GBY_KALMAN::fsinDeltaPl, SV_9DOF_GBY_KALMAN::fThePl, SV_9DOF_GBY_KALMAN::fVelGl, fveqconjgquq(), fWin8AnglesDegFromRotationMatrix(), SV_9DOF_GBY_KALMAN::fZErr, SV_9DOF_GBY_KALMAN::iFirstAccelMagLock, MagCalibration::iValidMagCal, GyroSensor::iYsBuffer, NED, ONEOVERSQRT2, OVERSAMPLE_RATIO, fquaternion::q0, fquaternion::q1, fquaternion::q2, fquaternion::q3, qAeqAxB(), qAeqBxC(), SV_9DOF_GBY_KALMAN::resetflag, THISCOORDSYSTEM, and WIN8.

Referenced by Fusion_Run().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation