ISSDK  1.7
IoT Sensing Software Development Kit
Data Fields
MagCalibration Struct Reference

Magnetic Calibration Structure. More...

#include <magnetic.h>

Collaboration diagram for MagCalibration:
Collaboration graph

Data Fields

float fV [3]
 current hard iron offset x, y, z, (uT) More...
 
float finvW [3][3]
 current inverse soft iron matrix More...
 
float fB
 current geomagnetic field magnitude (uT) More...
 
float fBSq
 square of fB (uT^2) More...
 
float fFitErrorpc
 current fit error % More...
 
int32_t iValidMagCal
 solver used: 0 (no calibration) or 4, 7, 10 element More...
 
float ftrV [3]
 trial value of hard iron offset z, y, z (uT) More...
 
float ftrinvW [3][3]
 trial inverse soft iron matrix size More...
 
float ftrB
 trial value of geomagnetic field magnitude in uT More...
 
float ftrFitErrorpc
 trial value of fit error % More...
 
float fA [3][3]
 ellipsoid matrix A More...
 
float finvA [3][3]
 inverse of ellipsoid matrix A More...
 
float fmatA [10][10]
 scratch 10x10 float matrix used by calibration algorithms More...
 
float fmatB [10][10]
 scratch 10x10 float matrix used by calibration algorithms More...
 
float fvecA [10]
 scratch 10x1 vector used by calibration algorithms More...
 
float fvecB [4]
 scratch 4x1 vector used by calibration algorithms More...
 
float fYTY
 Y^T.Y for 4 element calibration = (iB^2)^2. More...
 
int32_t iSumBs [3]
 sum of measurements in buffer (counts) More...
 
int32_t iMeanBs [3]
 average magnetic measurement (counts) More...
 
int32_t itimeslice
 counter for tine slicing magnetic calibration calculations More...
 
int8_t iCalInProgress
 flag denoting that a calibration is in progress More...
 
int8_t iNewCalibrationAvailable
 flag denoting that a new calibration has been computed More...
 
int8_t iInitiateMagCal
 flag to start a new magnetic calibration More...
 
int8_t iMagBufferReadOnly
 flag to denote that the magnetic measurement buffer is temporarily read only More...
 
int8_t i4ElementSolverTried
 flag to denote at least one attempt made with 4 element calibration More...
 
int8_t i7ElementSolverTried
 flag to denote at least one attempt made with 4 element calibration More...
 
int8_t i10ElementSolverTried
 flag to denote at least one attempt made with 4 element calibration More...
 

Detailed Description

Magnetic Calibration Structure.

Definition at line 81 of file magnetic.h.

Field Documentation

◆ fA

float fA[3][3]

◆ fB

float fB

current geomagnetic field magnitude (uT)

Definition at line 86 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().

◆ fBSq

float fBSq

square of fB (uT^2)

Definition at line 87 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().

◆ fFitErrorpc

float fFitErrorpc

current fit error %

Definition at line 88 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), and fRunMagCalibration().

◆ finvA

float finvA[3][3]

inverse of ellipsoid matrix A

Definition at line 97 of file magnetic.h.

Referenced by fComputeMagCalibration10(), and fUpdateMagCalibration10Slice().

◆ finvW

float finvW[3][3]

current inverse soft iron matrix

Definition at line 85 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fInvertMagCal(), and fRunMagCalibration().

◆ fmatA

float fmatA[10][10]

scratch 10x10 float matrix used by calibration algorithms

Definition at line 98 of file magnetic.h.

Referenced by fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ fmatB

float fmatB[10][10]

scratch 10x10 float matrix used by calibration algorithms

Definition at line 99 of file magnetic.h.

Referenced by fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ ftrB

float ftrB

◆ ftrFitErrorpc

float ftrFitErrorpc

◆ ftrinvW

float ftrinvW[3][3]

◆ ftrV

float ftrV[3]

◆ fV

float fV[3]

current hard iron offset x, y, z, (uT)

Definition at line 84 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fInvertMagCal(), and fRunMagCalibration().

◆ fvecA

float fvecA[10]

◆ fvecB

float fvecB[4]

scratch 4x1 vector used by calibration algorithms

Definition at line 101 of file magnetic.h.

Referenced by fComputeMagCalibration4(), and fUpdateMagCalibration4Slice().

◆ fYTY

float fYTY

Y^T.Y for 4 element calibration = (iB^2)^2.

Definition at line 102 of file magnetic.h.

Referenced by fUpdateMagCalibration4Slice().

◆ i10ElementSolverTried

int8_t i10ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 112 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

◆ i4ElementSolverTried

int8_t i4ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 110 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

◆ i7ElementSolverTried

int8_t i7ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 111 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

◆ iCalInProgress

int8_t iCalInProgress

flag denoting that a calibration is in progress

Definition at line 106 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ iInitiateMagCal

int8_t iInitiateMagCal

flag to start a new magnetic calibration

Definition at line 108 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ iMagBufferReadOnly

int8_t iMagBufferReadOnly

flag to denote that the magnetic measurement buffer is temporarily read only

Definition at line 109 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), fUpdateMagCalibration7Slice(), and processMagData().

◆ iMeanBs

int32_t iMeanBs[3]

average magnetic measurement (counts)

Definition at line 104 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ iNewCalibrationAvailable

int8_t iNewCalibrationAvailable

flag denoting that a new calibration has been computed

Definition at line 107 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ iSumBs

int32_t iSumBs[3]

sum of measurements in buffer (counts)

Definition at line 103 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ itimeslice

int32_t itimeslice

counter for tine slicing magnetic calibration calculations

Definition at line 105 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

◆ iValidMagCal

int32_t iValidMagCal

solver used: 0 (no calibration) or 4, 7, 10 element

Definition at line 89 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().


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