ISSDK  1.8
IoT Sensing Software Development Kit
SensorFusionGlobals Struct Reference

The top level fusion structure. More...

#include <sensor_fusion.h>

Collaboration diagram for SensorFusionGlobals:
Collaboration graph

Data Fields

SubsystemPointers

The Status and Control subsystems can be used as-is, or completely replaced with alternate implementations, as long as those implementations provide the same interfaces defined in control.h and status.h.

struct ControlSubsystempControlSubsystem
 
struct StatusSubsystempStatusSubsystem
 
MiscFields
uint32_t iFlags
 a bit-field of sensors and algorithms used More...
 
struct PhysicalSensorpSensors
 a linked list of physical sensors More...
 
volatile uint8_t iPerturbation
 test perturbation to be applied More...
 
int32_t loopcounter
 counter incrementing each iteration of sensor fusion (typically 25Hz) More...
 
int32_t systick_I2C
 systick counter to benchmark I2C reads More...
 
int32_t systick_Spare
 systick counter for counts spare waiting for timing interrupt More...
 
SensorRelatedStructures

These structures provide homes for sensor readings, as well as various calibration functions. Only those needed for a specific build are included.

struct MagSensor Mag
 magnetometer storage More...
 
struct MagCalibration MagCal
 mag cal storage More...
 
struct MagBuffer MagBuffer
 mag cal constellation points More...
 
FunctionPointers

Function pointers (the SF library external interface)

installSensor_tinstallSensor
 function for installing a new sensor into t More...
 
initializeFusionEngine_tinitializeFusionEngine
 set sensor fusion structures to initial values More...
 
applyPerturbation_tapplyPerturbation
 apply step function for testing purposes More...
 
readSensors_treadSensors
 read all physical sensors More...
 
runFusion_trunFusion
 run the fusion routines More...
 
conditionSensorReadings_tconditionSensorReadings
 preprocessing step for sensor fusion More...
 
clearFIFOs_tclearFIFOs
 clear sensor FIFOs More...
 
setStatus_tsetStatus
 change status indicator immediately More...
 
setStatus_tqueueStatus
 queue status change for next regular interval More...
 
updateStatus_tupdateStatus
 status=next status More...
 
updateStatus_ttestStatus
 increment to next enumerated status value (test only) More...
 

Detailed Description

The top level fusion structure.

The top level fusion structure grows/shrinks based upon flag definitions contained in build.h. These same flags will populate the .iFlags field for run-time access.

Definition at line 454 of file sensor_fusion.h.

Field Documentation

◆ applyPerturbation

applyPerturbation_t* applyPerturbation

apply step function for testing purposes

Definition at line 526 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ clearFIFOs

clearFIFOs_t* clearFIFOs

clear sensor FIFOs

Definition at line 530 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals().

◆ conditionSensorReadings

conditionSensorReadings_t* conditionSensorReadings

preprocessing step for sensor fusion

Definition at line 529 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ iFlags

uint32_t iFlags

a bit-field of sensors and algorithms used

Definition at line 467 of file sensor_fusion.h.

Referenced by CreateAndSendPackets(), initializeFusionEngine(), and initSensorFusionGlobals().

◆ initializeFusionEngine

initializeFusionEngine_t* initializeFusionEngine

set sensor fusion structures to initial values

Definition at line 525 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ installSensor

installSensor_t* installSensor

function for installing a new sensor into t

Definition at line 524 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ iPerturbation

volatile uint8_t iPerturbation

test perturbation to be applied

Definition at line 469 of file sensor_fusion.h.

Referenced by ApplyPerturbation(), DecodeCommandBytes(), and initSensorFusionGlobals().

◆ loopcounter

int32_t loopcounter

counter incrementing each iteration of sensor fusion (typically 25Hz)

Definition at line 471 of file sensor_fusion.h.

Referenced by fInitializeFusion(), initializeFusionEngine(), initSensorFusionGlobals(), main(), and processMagData().

◆ Mag

struct MagSensor Mag

◆ MagBuffer

mag cal constellation points

Definition at line 491 of file sensor_fusion.h.

Referenced by CreateAndSendPackets(), DecodeCommandBytes(), initializeFusionEngine(), and processMagData().

◆ MagCal

struct MagCalibration MagCal

◆ pControlSubsystem

struct ControlSubsystem* pControlSubsystem

◆ pSensors

struct PhysicalSensor* pSensors

a linked list of physical sensors

Definition at line 468 of file sensor_fusion.h.

Referenced by initializeSensors(), initSensorFusionGlobals(), installSensor(), and readSensors().

◆ pStatusSubsystem

struct StatusSubsystem* pStatusSubsystem

◆ queueStatus

setStatus_t* queueStatus

queue status change for next regular interval

Definition at line 532 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), main(), and vApplicationTickHook().

◆ readSensors

readSensors_t* readSensors

read all physical sensors

Definition at line 527 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ runFusion

runFusion_t* runFusion

run the fusion routines

Definition at line 528 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().

◆ setStatus

setStatus_t* setStatus

◆ systick_I2C

int32_t systick_I2C

systick counter to benchmark I2C reads

Definition at line 472 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals().

◆ systick_Spare

int32_t systick_Spare

systick counter for counts spare waiting for timing interrupt

Definition at line 473 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals().

◆ testStatus

updateStatus_t* testStatus

increment to next enumerated status value (test only)

Definition at line 534 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals().

◆ updateStatus

updateStatus_t* updateStatus

status=next status

Definition at line 533 of file sensor_fusion.h.

Referenced by initSensorFusionGlobals(), and main().


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