![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
Lower level sensor fusion interface. More...
#include "sensor_fusion.h"
Go to the source code of this file.
Macros | |
COMPUTE_1DOF_P_BASIC constants | |
#define | FLPFSECS_1DOF_P_BASIC 1.5F |
pressure low pass filter time constant (s) More... | |
COMPUTE_3DOF_G_BASIC constants | |
#define | FLPFSECS_3DOF_G_BASIC 1.0F |
tilt orientation low pass filter time constant (s) More... | |
COMPUTE_3DOF_B_BASIC constants | |
#define | FLPFSECS_3DOF_B_BASIC 7.0F |
2D eCompass orientation low pass filter time constant (s) More... | |
COMPUTE_6DOF_GB_BASIC constants | |
#define | FLPFSECS_6DOF_GB_BASIC 7.0F |
COMPUTE_6DOF_GY_KALMAN constants | |
#define | FQVY_6DOF_GY_KALMAN 2E2 |
gyro sensor noise variance units (deg/s)^2 More... | |
#define | FQVG_6DOF_GY_KALMAN 1.2E-3 |
accelerometer sensor noise variance units g^2 More... | |
#define | FQWB_6DOF_GY_KALMAN 2E-2F |
gyro offset random walk units (deg/s)^2 More... | |
#define | FMIN_6DOF_GY_BPL -7.0F |
minimum permissible power on gyro offsets (deg/s) More... | |
#define | FMAX_6DOF_GY_BPL 7.0F |
maximum permissible power on gyro offsets (deg/s) More... | |
COMPUTE_9DOF_GBY_KALMAN constants | |
gyro sensor noise covariance units deg^2 increasing this parameter improves convergence to the geomagnetic field | |
#define | FQVY_9DOF_GBY_KALMAN 2E2 |
gyro sensor noise variance units (deg/s)^2 More... | |
#define | FQVG_9DOF_GBY_KALMAN 1.2E-3 |
accelerometer sensor noise variance units g^2 defining minimum deviation from 1g sphere More... | |
#define | FQVB_9DOF_GBY_KALMAN 5E0 |
magnetometer sensor noise variance units uT^2 defining minimum deviation from geomagnetic sphere. More... | |
#define | FQWB_9DOF_GBY_KALMAN 2E-2F |
gyro offset random walk units (deg/s)^2 More... | |
#define | FMIN_9DOF_GBY_BPL -7.0F |
minimum permissible power on gyro offsets (deg/s) More... | |
#define | FMAX_9DOF_GBY_BPL 7.0F |
maximum permissible power on gyro offsets (deg/s) More... | |
Functions | |
Fusion Function Prototypes | |
These functions comprise the core of the basic sensor fusion functions excluding magnetic and acceleration calibration. Parameter descriptions are not included here, as details are provided in sensor_fusion.h. | |
void | fInitializeFusion (SensorFusionGlobals *sfg) |
void | fFuseSensors (struct SV_1DOF_P_BASIC *pthisSV_1DOF_P_BASIC, struct SV_3DOF_G_BASIC *pthisSV_3DOF_G_BASIC, struct SV_3DOF_B_BASIC *pthisSV_3DOF_B_BASIC, struct SV_3DOF_Y_BASIC *pthisSV_3DOF_Y_BASIC, struct SV_6DOF_GB_BASIC *pthisSV_6DOF_GB_BASIC, struct SV_6DOF_GY_KALMAN *pthisSV_6DOF_GY_KALMAN, struct SV_9DOF_GBY_KALMAN *pthisSV_9DOF_GBY_KALMAN, struct AccelSensor *pthisAccel, struct MagSensor *pthisMag, struct GyroSensor *pthisGyro, struct PressureSensor *pthisPressure, struct MagCalibration *pthisMagCal) |
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, struct GyroSensor *pthisGyro) |
void | fInit_9DOF_GBY_KALMAN (struct SV_9DOF_GBY_KALMAN *pthisSV, struct AccelSensor *pthisAccel, struct MagSensor *pthisMag, struct GyroSensor *pthisGyro, 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) |
Lower level sensor fusion interface.
This file can be used to "tune" the performance of specific algorithms within the sensor fusion library. It also defines the lower level function definitions for specific algorithms. Normally, the higher level hooks in sensor_fusion.h will be used, and those shown here will be left alone.
Definition in file fusion.h.
#define FLPFSECS_1DOF_P_BASIC 1.5F |
pressure low pass filter time constant (s)
Definition at line 52 of file fusion.h.
Referenced by fRun_1DOF_P_BASIC().
#define FLPFSECS_3DOF_B_BASIC 7.0F |
2D eCompass orientation low pass filter time constant (s)
Definition at line 62 of file fusion.h.
Referenced by fRun_3DOF_B_BASIC().
#define FLPFSECS_3DOF_G_BASIC 1.0F |
tilt orientation low pass filter time constant (s)
Definition at line 57 of file fusion.h.
Referenced by fRun_3DOF_G_BASIC().
#define FLPFSECS_6DOF_GB_BASIC 7.0F |
Definition at line 67 of file fusion.h.
Referenced by fRun_6DOF_GB_BASIC().
#define FMAX_6DOF_GY_BPL 7.0F |
maximum permissible power on gyro offsets (deg/s)
Definition at line 76 of file fusion.h.
Referenced by fInit_6DOF_GY_KALMAN().
#define FMAX_9DOF_GBY_BPL 7.0F |
maximum permissible power on gyro offsets (deg/s)
Definition at line 88 of file fusion.h.
Referenced by fInit_9DOF_GBY_KALMAN(), and fRun_6DOF_GY_KALMAN().
#define FMIN_6DOF_GY_BPL -7.0F |
minimum permissible power on gyro offsets (deg/s)
Definition at line 75 of file fusion.h.
Referenced by fInit_6DOF_GY_KALMAN().
#define FMIN_9DOF_GBY_BPL -7.0F |
minimum permissible power on gyro offsets (deg/s)
Definition at line 87 of file fusion.h.
Referenced by fInit_9DOF_GBY_KALMAN(), and fRun_6DOF_GY_KALMAN().
#define FQVB_9DOF_GBY_KALMAN 5E0 |
magnetometer sensor noise variance units uT^2 defining minimum deviation from geomagnetic sphere.
Definition at line 85 of file fusion.h.
Referenced by fRun_6DOF_GY_KALMAN().
#define FQVG_6DOF_GY_KALMAN 1.2E-3 |
accelerometer sensor noise variance units g^2
Definition at line 73 of file fusion.h.
Referenced by fRun_6DOF_GY_KALMAN().
#define FQVG_9DOF_GBY_KALMAN 1.2E-3 |
accelerometer sensor noise variance units g^2 defining minimum deviation from 1g sphere
Definition at line 84 of file fusion.h.
Referenced by fRun_6DOF_GY_KALMAN().
#define FQVY_6DOF_GY_KALMAN 2E2 |
gyro sensor noise variance units (deg/s)^2
Definition at line 72 of file fusion.h.
Referenced by fInit_6DOF_GY_KALMAN().
#define FQVY_9DOF_GBY_KALMAN 2E2 |
gyro sensor noise variance units (deg/s)^2
Definition at line 83 of file fusion.h.
Referenced by fInit_9DOF_GBY_KALMAN().
#define FQWB_6DOF_GY_KALMAN 2E-2F |
gyro offset random walk units (deg/s)^2
Definition at line 74 of file fusion.h.
Referenced by fInit_6DOF_GY_KALMAN().
#define FQWB_9DOF_GBY_KALMAN 2E-2F |
gyro offset random walk units (deg/s)^2
Definition at line 86 of file fusion.h.
Referenced by fInit_9DOF_GBY_KALMAN().
void fFuseSensors | ( | struct SV_1DOF_P_BASIC * | pthisSV_1DOF_P_BASIC, |
struct SV_3DOF_G_BASIC * | pthisSV_3DOF_G_BASIC, | ||
struct SV_3DOF_B_BASIC * | pthisSV_3DOF_B_BASIC, | ||
struct SV_3DOF_Y_BASIC * | pthisSV_3DOF_Y_BASIC, | ||
struct SV_6DOF_GB_BASIC * | pthisSV_6DOF_GB_BASIC, | ||
struct SV_6DOF_GY_KALMAN * | pthisSV_6DOF_GY_KALMAN, | ||
struct SV_9DOF_GBY_KALMAN * | pthisSV_9DOF_GBY_KALMAN, | ||
struct AccelSensor * | pthisAccel, | ||
struct MagSensor * | pthisMag, | ||
struct GyroSensor * | pthisGyro, | ||
struct PressureSensor * | pthisPressure, | ||
struct MagCalibration * | pthisMagCal | ||
) |
Definition at line 94 of file fusion.c.
References ARM_systick_elapsed_ticks(), ARM_systick_start_ticks(), fRun_1DOF_P_BASIC(), fRun_3DOF_B_BASIC(), fRun_3DOF_G_BASIC(), fRun_3DOF_Y_BASIC(), fRun_6DOF_GB_BASIC(), fRun_6DOF_GY_KALMAN(), fRun_9DOF_GBY_KALMAN(), SV_1DOF_P_BASIC::systick, SV_3DOF_G_BASIC::systick, SV_3DOF_B_BASIC::systick, SV_3DOF_Y_BASIC::systick, SV_6DOF_GB_BASIC::systick, SV_6DOF_GY_KALMAN::systick, and SV_9DOF_GBY_KALMAN::systick.
Referenced by runFusion().
void fInit_1DOF_P_BASIC | ( | struct SV_1DOF_P_BASIC * | pthisSV, |
struct PressureSensor * | pthisPressure, | ||
float | flpftimesecs | ||
) |
Definition at line 180 of file fusion.c.
References SV_1DOF_P_BASIC::fdeltat, PressureSensor::fH, SV_1DOF_P_BASIC::flpf, SV_1DOF_P_BASIC::fLPH, SV_1DOF_P_BASIC::fLPT, PressureSensor::fT, FUSION_HZ, and SV_1DOF_P_BASIC::resetflag.
Referenced by fRun_1DOF_P_BASIC().
void fInit_3DOF_B_BASIC | ( | struct SV_3DOF_B_BASIC * | pthisSV, |
struct MagSensor * | pthisMag, | ||
float | flpftimesecs | ||
) |
Definition at line 233 of file fusion.c.
References f3DOFMagnetometerMatrixAndroid(), f3DOFMagnetometerMatrixNED(), f3DOFMagnetometerMatrixWin8(), MagSensor::fBc, SV_3DOF_B_BASIC::fdeltat, SV_3DOF_B_BASIC::flpf, SV_3DOF_B_BASIC::fLPq, SV_3DOF_B_BASIC::fLPR, fQuaternionFromRotationMatrix(), FUSION_HZ, and SV_3DOF_B_BASIC::resetflag.
Referenced by fRun_3DOF_B_BASIC().
void fInit_3DOF_G_BASIC | ( | struct SV_3DOF_G_BASIC * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
float | flpftimesecs | ||
) |
Definition at line 205 of file fusion.c.
References f3DOFTiltAndroid(), f3DOFTiltNED(), f3DOFTiltWin8(), SV_3DOF_G_BASIC::fdeltat, AccelSensor::fGc, SV_3DOF_G_BASIC::flpf, SV_3DOF_G_BASIC::fLPq, SV_3DOF_G_BASIC::fLPR, fQuaternionFromRotationMatrix(), FUSION_HZ, and SV_3DOF_G_BASIC::resetflag.
Referenced by fRun_3DOF_G_BASIC().
void fInit_3DOF_Y_BASIC | ( | struct SV_3DOF_Y_BASIC * | pthisSV | ) |
Definition at line 261 of file fusion.c.
References f3x3matrixAeqI(), SV_3DOF_Y_BASIC::fdeltat, SV_3DOF_Y_BASIC::fq, fqAeq1(), SV_3DOF_Y_BASIC::fR, FUSION_HZ, and SV_3DOF_Y_BASIC::resetflag.
Referenced by fRun_3DOF_Y_BASIC().
void fInit_6DOF_GB_BASIC | ( | struct SV_6DOF_GB_BASIC * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
struct MagSensor * | pthisMag, | ||
float | flpftimesecs | ||
) |
Definition at line 276 of file fusion.c.
References MagSensor::fBc, SV_6DOF_GB_BASIC::fdeltat, feCompassAndroid(), feCompassNED(), feCompassWin8(), AccelSensor::fGc, SV_6DOF_GB_BASIC::fLPDelta, SV_6DOF_GB_BASIC::flpf, SV_6DOF_GB_BASIC::fLPq, SV_6DOF_GB_BASIC::fLPR, fQuaternionFromRotationMatrix(), FUSION_HZ, and SV_6DOF_GB_BASIC::resetflag.
Referenced by fRun_6DOF_GB_BASIC().
void fInit_6DOF_GY_KALMAN | ( | struct SV_6DOF_GY_KALMAN * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
struct GyroSensor * | pthisGyro | ||
) |
Definition at line 308 of file fusion.c.
References CALIBRATION_NVM_ADDR, CHX, CHZ, f3DOFTiltAndroid(), f3DOFTiltNED(), f3DOFTiltWin8(), SV_6DOF_GY_KALMAN::fAlphaOver2, SV_6DOF_GY_KALMAN::fAlphaQwbOver6, SV_6DOF_GY_KALMAN::fAlphaSqOver4, SV_6DOF_GY_KALMAN::fAlphaSqQvYQwbOver12, SV_6DOF_GY_KALMAN::fbErrPl, SV_6DOF_GY_KALMAN::fbPl, SV_6DOF_GY_KALMAN::fdeltat, AccelSensor::fGc, FMAX_6DOF_GY_BPL, SV_6DOF_GY_KALMAN::fMaxGyroOffsetChange, FMIN_6DOF_GY_BPL, FPIOVER180, SV_6DOF_GY_KALMAN::fqgErrPl, SV_6DOF_GY_KALMAN::fqPl, fQuaternionFromRotationMatrix(), FQVY_6DOF_GY_KALMAN, FQWB_6DOF_GY_KALMAN, SV_6DOF_GY_KALMAN::fQwbOver3, SV_6DOF_GY_KALMAN::fRPl, FUSION_HZ, GyroSensor::fYs, GYRO_NVM_OFFSET, and SV_6DOF_GY_KALMAN::resetflag.
Referenced by fRun_6DOF_GY_KALMAN().
void fInit_9DOF_GBY_KALMAN | ( | struct SV_9DOF_GBY_KALMAN * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
struct MagSensor * | pthisMag, | ||
struct GyroSensor * | pthisGyro, | ||
struct MagCalibration * | pthisMagCal | ||
) |
Definition at line 372 of file fusion.c.
References CALIBRATION_NVM_ADDR, CHX, CHZ, SV_9DOF_GBY_KALMAN::fAlphaOver2, SV_9DOF_GBY_KALMAN::fAlphaQwbOver6, SV_9DOF_GBY_KALMAN::fAlphaSqOver4, SV_9DOF_GBY_KALMAN::fAlphaSqQvYQwbOver12, MagSensor::fBc, SV_9DOF_GBY_KALMAN::fbErrPl, SV_9DOF_GBY_KALMAN::fbPl, SV_9DOF_GBY_KALMAN::fcosDeltaPl, SV_9DOF_GBY_KALMAN::fDeltaPl, SV_9DOF_GBY_KALMAN::fdeltat, SV_9DOF_GBY_KALMAN::fDisGl, feCompassAndroid(), feCompassNED(), feCompassWin8(), AccelSensor::fGc, SV_9DOF_GBY_KALMAN::fgdeltat, FMAX_9DOF_GBY_BPL, SV_9DOF_GBY_KALMAN::fMaxGyroOffsetChange, FMIN_9DOF_GBY_BPL, FPIOVER180, SV_9DOF_GBY_KALMAN::fqgErrPl, SV_9DOF_GBY_KALMAN::fqmErrPl, SV_9DOF_GBY_KALMAN::fqPl, fQuaternionFromRotationMatrix(), FQVY_9DOF_GBY_KALMAN, FQWB_9DOF_GBY_KALMAN, SV_9DOF_GBY_KALMAN::fQwbOver3, SV_9DOF_GBY_KALMAN::fRPl, SV_9DOF_GBY_KALMAN::fsinDeltaPl, FUSION_HZ, SV_9DOF_GBY_KALMAN::fVelGl, GyroSensor::fYs, GTOMSEC2, GYRO_NVM_OFFSET, SV_9DOF_GBY_KALMAN::iFirstAccelMagLock, and SV_9DOF_GBY_KALMAN::resetflag.
Referenced by fRun_6DOF_GY_KALMAN().
void fInitializeFusion | ( | SensorFusionGlobals * | sfg | ) |
Definition at line 59 of file fusion.c.
References SensorFusionGlobals::loopcounter.
Referenced by DecodeCommandBytes(), and initializeFusionEngine().
void fRun_1DOF_P_BASIC | ( | struct SV_1DOF_P_BASIC * | pthisSV, |
struct PressureSensor * | pthisPressure | ||
) |
Definition at line 445 of file fusion.c.
References PressureSensor::fH, fInit_1DOF_P_BASIC(), SV_1DOF_P_BASIC::flpf, FLPFSECS_1DOF_P_BASIC, SV_1DOF_P_BASIC::fLPH, SV_1DOF_P_BASIC::fLPT, PressureSensor::fT, and SV_1DOF_P_BASIC::resetflag.
Referenced by fFuseSensors().
void fRun_3DOF_B_BASIC | ( | struct SV_3DOF_B_BASIC * | pthisSV, |
struct MagSensor * | pthisMag | ||
) |
Definition at line 515 of file fusion.c.
References f3DOFMagnetometerMatrixAndroid(), f3DOFMagnetometerMatrixNED(), f3DOFMagnetometerMatrixWin8(), fAndroidAnglesDegFromRotationMatrix(), MagSensor::fBc, SV_3DOF_B_BASIC::fdeltat, fInit_3DOF_B_BASIC(), SV_3DOF_B_BASIC::fLPChi, SV_3DOF_B_BASIC::flpf, fLPFOrientationQuaternion(), FLPFSECS_3DOF_B_BASIC, SV_3DOF_B_BASIC::fLPPhi, SV_3DOF_B_BASIC::fLPPsi, SV_3DOF_B_BASIC::fLPq, SV_3DOF_B_BASIC::fLPR, SV_3DOF_B_BASIC::fLPRho, SV_3DOF_B_BASIC::fLPRVec, SV_3DOF_B_BASIC::fLPThe, fNEDAnglesDegFromRotationMatrix(), SV_3DOF_B_BASIC::fOmega, SV_3DOF_B_BASIC::fq, fQuaternionFromRotationMatrix(), SV_3DOF_B_BASIC::fR, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), fWin8AnglesDegFromRotationMatrix(), and SV_3DOF_B_BASIC::resetflag.
Referenced by fFuseSensors().
void fRun_3DOF_G_BASIC | ( | struct SV_3DOF_G_BASIC * | pthisSV, |
struct AccelSensor * | pthisAccel | ||
) |
Definition at line 465 of file fusion.c.
References f3DOFTiltAndroid(), f3DOFTiltNED(), f3DOFTiltWin8(), fAndroidAnglesDegFromRotationMatrix(), SV_3DOF_G_BASIC::fdeltat, AccelSensor::fGc, fInit_3DOF_G_BASIC(), SV_3DOF_G_BASIC::fLPChi, SV_3DOF_G_BASIC::flpf, fLPFOrientationQuaternion(), FLPFSECS_3DOF_G_BASIC, SV_3DOF_G_BASIC::fLPPhi, SV_3DOF_G_BASIC::fLPPsi, SV_3DOF_G_BASIC::fLPq, SV_3DOF_G_BASIC::fLPR, SV_3DOF_G_BASIC::fLPRho, SV_3DOF_G_BASIC::fLPRVec, SV_3DOF_G_BASIC::fLPThe, fNEDAnglesDegFromRotationMatrix(), SV_3DOF_G_BASIC::fOmega, SV_3DOF_G_BASIC::fq, fQuaternionFromRotationMatrix(), SV_3DOF_G_BASIC::fR, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), fWin8AnglesDegFromRotationMatrix(), and SV_3DOF_G_BASIC::resetflag.
Referenced by fFuseSensors().
void fRun_3DOF_Y_BASIC | ( | struct SV_3DOF_Y_BASIC * | pthisSV, |
struct GyroSensor * | pthisGyro | ||
) |
Definition at line 560 of file fusion.c.
References CHX, CHZ, fAndroidAnglesDegFromRotationMatrix(), SV_3DOF_Y_BASIC::fChi, SV_3DOF_Y_BASIC::fdeltat, fInit_3DOF_Y_BASIC(), fNEDAnglesDegFromRotationMatrix(), SV_3DOF_Y_BASIC::fOmega, SV_3DOF_Y_BASIC::fPhi, SV_3DOF_Y_BASIC::fPsi, SV_3DOF_Y_BASIC::fq, fqAeqNormqA(), fQuaternionFromRotationVectorDeg(), SV_3DOF_Y_BASIC::fR, SV_3DOF_Y_BASIC::fRho, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), SV_3DOF_Y_BASIC::fRVec, SV_3DOF_Y_BASIC::fThe, fWin8AnglesDegFromRotationMatrix(), GyroSensor::fYs, qAeqAxB(), and SV_3DOF_Y_BASIC::resetflag.
Referenced by fFuseSensors().
void fRun_6DOF_GB_BASIC | ( | struct SV_6DOF_GB_BASIC * | pthisSV, |
struct MagSensor * | pthisMag, | ||
struct AccelSensor * | pthisAccel | ||
) |
Definition at line 608 of file fusion.c.
References fAndroidAnglesDegFromRotationMatrix(), MagSensor::fBc, SV_6DOF_GB_BASIC::fDelta, SV_6DOF_GB_BASIC::fdeltat, feCompassAndroid(), feCompassNED(), feCompassWin8(), AccelSensor::fGc, fInit_6DOF_GB_BASIC(), SV_6DOF_GB_BASIC::fLPChi, SV_6DOF_GB_BASIC::fLPDelta, SV_6DOF_GB_BASIC::flpf, fLPFOrientationQuaternion(), FLPFSECS_6DOF_GB_BASIC, SV_6DOF_GB_BASIC::fLPPhi, SV_6DOF_GB_BASIC::fLPPsi, SV_6DOF_GB_BASIC::fLPq, SV_6DOF_GB_BASIC::fLPR, SV_6DOF_GB_BASIC::fLPRho, SV_6DOF_GB_BASIC::fLPRVec, SV_6DOF_GB_BASIC::fLPThe, fNEDAnglesDegFromRotationMatrix(), SV_6DOF_GB_BASIC::fOmega, SV_6DOF_GB_BASIC::fq, fQuaternionFromRotationMatrix(), SV_6DOF_GB_BASIC::fR, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), fWin8AnglesDegFromRotationMatrix(), and SV_6DOF_GB_BASIC::resetflag.
Referenced by fFuseSensors().
void fRun_6DOF_GY_KALMAN | ( | struct SV_6DOF_GY_KALMAN * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
struct GyroSensor * | pthisGyro | ||
) |
Definition at line 661 of file fusion.c.
References CHX, CHY, CHZ, f3x3matrixAeqB(), SV_6DOF_GY_KALMAN::fAccGl, SV_9DOF_GBY_KALMAN::fAccGl, SV_6DOF_GY_KALMAN::fAlphaOver2, SV_9DOF_GBY_KALMAN::fAlphaOver2, SV_6DOF_GY_KALMAN::fAlphaSqOver4, SV_9DOF_GBY_KALMAN::fAlphaSqOver4, SV_6DOF_GY_KALMAN::fAlphaSqQvYQwbOver12, SV_9DOF_GBY_KALMAN::fAlphaSqQvYQwbOver12, fAndroidAnglesDegFromRotationMatrix(), MagCalibration::fB, MagSensor::fBc, SV_6DOF_GY_KALMAN::fbErrPl, SV_9DOF_GBY_KALMAN::fbErrPl, SV_6DOF_GY_KALMAN::fbPl, SV_9DOF_GBY_KALMAN::fbPl, MagCalibration::fBSq, SV_6DOF_GY_KALMAN::fChiPl, SV_9DOF_GBY_KALMAN::fChiPl, SV_9DOF_GBY_KALMAN::fcosDeltaPl, GyroSensor::fDegPerSecPerCount, SV_9DOF_GBY_KALMAN::fDeltaPl, SV_6DOF_GY_KALMAN::fdeltat, SV_9DOF_GBY_KALMAN::fdeltat, SV_9DOF_GBY_KALMAN::fDisGl, feCompassAndroid(), feCompassNED(), feCompassWin8(), AccelSensor::fGc, SV_9DOF_GBY_KALMAN::fgdeltat, fInit_6DOF_GY_KALMAN(), fInit_9DOF_GBY_KALMAN(), SV_6DOF_GY_KALMAN::fK6x3, SV_9DOF_GBY_KALMAN::fK9x6, fmatrixAeqInvA(), FMAX_9DOF_GBY_BPL, SV_6DOF_GY_KALMAN::fMaxGyroOffsetChange, SV_9DOF_GBY_KALMAN::fMaxGyroOffsetChange, FMIN_9DOF_GBY_BPL, fNEDAnglesDegFromRotationMatrix(), SV_6DOF_GY_KALMAN::fOmega, SV_9DOF_GBY_KALMAN::fOmega, SV_6DOF_GY_KALMAN::fPhiPl, SV_9DOF_GBY_KALMAN::fPhiPl, SV_6DOF_GY_KALMAN::fPsiPl, SV_9DOF_GBY_KALMAN::fPsiPl, fqAeqNormqA(), SV_6DOF_GY_KALMAN::fqgErrPl, SV_9DOF_GBY_KALMAN::fqgErrPl, SV_9DOF_GBY_KALMAN::fqmErrPl, SV_6DOF_GY_KALMAN::fqPl, SV_9DOF_GBY_KALMAN::fqPl, fQuaternionFromRotationMatrix(), fQuaternionFromRotationVectorDeg(), SV_6DOF_GY_KALMAN::fQv, SV_9DOF_GBY_KALMAN::fQv6x1, FQVB_9DOF_GBY_KALMAN, FQVG_6DOF_GY_KALMAN, FQVG_9DOF_GBY_KALMAN, SV_6DOF_GY_KALMAN::fQw6x6, SV_9DOF_GBY_KALMAN::fQw9x9, SV_6DOF_GY_KALMAN::fQwbOver3, SV_9DOF_GBY_KALMAN::fQwbOver3, SV_6DOF_GY_KALMAN::fQwCT6x3, SV_9DOF_GBY_KALMAN::fQwCT9x6, SV_6DOF_GY_KALMAN::fRhoPl, SV_9DOF_GBY_KALMAN::fRhoPl, fRotationMatrixFromQuaternion(), fRotationVectorDegFromQuaternion(), SV_6DOF_GY_KALMAN::fRPl, SV_9DOF_GBY_KALMAN::fRPl, fRun_9DOF_GBY_KALMAN(), SV_6DOF_GY_KALMAN::fRVecPl, SV_9DOF_GBY_KALMAN::fRVecPl, SV_9DOF_GBY_KALMAN::fsinDeltaPl, SV_6DOF_GY_KALMAN::fThePl, SV_9DOF_GBY_KALMAN::fThePl, SV_9DOF_GBY_KALMAN::fVelGl, fveqconjgquq(), fveqRu(), fWin8AnglesDegFromRotationMatrix(), SV_6DOF_GY_KALMAN::fZErr, SV_9DOF_GBY_KALMAN::fZErr, GyroSensor::iFIFOCount, SV_9DOF_GBY_KALMAN::iFirstAccelMagLock, MagCalibration::iValidMagCal, GyroSensor::iYs, GyroSensor::iYsFIFO, ONEOVER12, Quaternion::q0, Quaternion::q1, Quaternion::q2, Quaternion::q3, qAeqAxB(), qAeqBxC(), SV_6DOF_GY_KALMAN::resetflag, and SV_9DOF_GBY_KALMAN::resetflag.
Referenced by fFuseSensors().
void fRun_9DOF_GBY_KALMAN | ( | struct SV_9DOF_GBY_KALMAN * | pthisSV, |
struct AccelSensor * | pthisAccel, | ||
struct MagSensor * | pthisMag, | ||
struct GyroSensor * | pthisGyro, | ||
struct MagCalibration * | pthisMagCal | ||
) |
Referenced by fFuseSensors(), and fRun_6DOF_GY_KALMAN().