ISSDK  1.7
IoT Sensing Software Development Kit
Macros
standard_build.h File Reference

A "standard" build configuration file. More...

Go to the source code of this file.

Macros

#define THISBUILD   700
 define build number sent in debug packet for display purposes only More...
 
CoordinateSystemBitFields

These defines determine the frame of reference (x, y, z axes and Euler angles) standard to be used for a particular build. Change THISCOORDSYSTEM to whichever of NED, ANDROID or WIN8 you prefer.

#define NED   0
 identifier for NED (Aerospace) axes and angles More...
 
#define ANDROID   1
 identifier for Android axes and angles More...
 
#define WIN8   2
 identifier for Windows 8 axes and angles More...
 
#define THISCOORDSYSTEM   NED
 the coordinate system to be used More...
 
SensorBitFields

These bit-field values are used to declare which sensor types are used in the application. Change bit-field values to 0x0000 for any features NOT USED

#define F_USING_ACCEL   0x0001
 nominally 0x0001 if an accelerometer is to be used, 0x0000 otherwise More...
 
#define F_USING_MAG   0x0002
 nominally 0x0002 if an magnetometer is to be used, 0x0000 otherwise More...
 
#define F_USING_GYRO   0x0004
 nominally 0x0004 if a gyro is to be used, 0x0000 otherwise More...
 
#define F_USING_PRESSURE   0x0008
 nominally 0x0008 if altimeter is to be used, 0x0000 otherwise More...
 
#define F_USING_TEMPERATURE   0x0010
 nominally 0x0010 if temp sensor is to be used, 0x0000 otherwise More...
 
#define F_ALL_SENSORS   0x001F
 refers to all applicable sensor types for the given physical unit More...
 
FusionSelectionBitFields

These bit-field values are used to declare which sensor fusion algorithms are used in the application. You can use more than one, altough they all run from the same data. Change individual bit-field values to 0x0000 for any features NOT USED.

#define F_1DOF_P_BASIC   0x0100
 1DOF pressure (altitude) and temperature algorithm selector - 0x0100 to include, 0x0000 otherwise More...
 
#define F_3DOF_G_BASIC   0x0200
 3DOF accel tilt (accel) algorithm selector - 0x0200 to include, 0x0000 otherwise More...
 
#define F_3DOF_B_BASIC   0x0400
 3DOF mag eCompass (vehicle/mag) algorithm selector - 0x0400 to include, 0x0000 otherwise More...
 
#define F_3DOF_Y_BASIC   0x0800
 3DOF gyro integration algorithm selector - 0x0800 to include, 0x0000 otherwise More...
 
#define F_6DOF_GB_BASIC   0x1000
 6DOF accel and mag eCompass algorithm selector - 0x1000 to include, 0x0000 otherwise More...
 
#define F_6DOF_GY_KALMAN   0x2000
 6DOF accel and gyro (Kalman) algorithm selector - 0x2000 to include, 0x0000 otherwise More...
 
#define F_9DOF_GBY_KALMAN   0x4000
 9DOF accel, mag and gyro algorithm selector - 0x4000 to include, 0x0000 otherwise More...
 
SensorParameters

FIFO sizes effect the size of the sensor data structures. ODR refers to "Output Data Rate"

#define ACCEL_FIFO_SIZE   32
 FXOS8700 (accel), MMA8652, FXLS8952 all have 32 element FIFO. More...
 
#define MAG_FIFO_SIZE   16
 FXOS8700 (mag), MAG3110 have no FIFO so equivalent to 1 element FIFO. More...
 
#define GYRO_FIFO_SIZE   32
 FXAX21000, FXAS21002 have 32 element FIFO. More...
 
#define ACCEL_ODR_HZ   200
 (int) requested accelerometer ODR Hz (over-rides MAG_ODR_HZ for FXOS8700) More...
 
#define MAG_ODR_HZ   200
 (int) requested magnetometer ODR Hz (over-ridden by ACCEL_ODR_HZ for FXOS8700) More...
 
#define GYRO_ODR_HZ   400
 (int) requested gyroscope ODR Hz More...
 
#define FUSION_HZ   40
 (int) actual rate of fusion algorithm execution and sensor FIFO reads More...
 
#define FAST_LOOP_HZ   80
 Over Sample Ratio * FUSION_HZ when using no FIFO. More...
 
#define OVERSAMPLE_RATE   FAST_LOOP_HZ/FUSION_HZ
 

Detailed Description

A "standard" build configuration file.

This file contains only those parameters that directly relate to fusion implementation choices. Board dependencies are in hal_<shield_board>.h. Consult the Sensor Fusion User Guide for guidance and details.

Definition in file standard_build.h.

Macro Definition Documentation

◆ ACCEL_FIFO_SIZE

#define ACCEL_FIFO_SIZE   32

FXOS8700 (accel), MMA8652, FXLS8952 all have 32 element FIFO.

Definition at line 88 of file standard_build.h.

Referenced by FXLS8471Q_Read(), and FXOS8700_Init().

◆ ACCEL_ODR_HZ

#define ACCEL_ODR_HZ   200

(int) requested accelerometer ODR Hz (over-rides MAG_ODR_HZ for FXOS8700)

Definition at line 91 of file standard_build.h.

◆ ANDROID

#define ANDROID   1

identifier for Android axes and angles

Definition at line 55 of file standard_build.h.

◆ F_1DOF_P_BASIC

#define F_1DOF_P_BASIC   0x0100

1DOF pressure (altitude) and temperature algorithm selector - 0x0100 to include, 0x0000 otherwise

Definition at line 76 of file standard_build.h.

Referenced by CreateAndSendPackets(), and initSensorFusionGlobals().

◆ F_3DOF_B_BASIC

#define F_3DOF_B_BASIC   0x0400

3DOF mag eCompass (vehicle/mag) algorithm selector - 0x0400 to include, 0x0000 otherwise

Definition at line 78 of file standard_build.h.

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

◆ F_3DOF_G_BASIC

#define F_3DOF_G_BASIC   0x0200

3DOF accel tilt (accel) algorithm selector - 0x0200 to include, 0x0000 otherwise

Definition at line 77 of file standard_build.h.

Referenced by CreateAndSendPackets(), and initSensorFusionGlobals().

◆ F_3DOF_Y_BASIC

#define F_3DOF_Y_BASIC   0x0800

3DOF gyro integration algorithm selector - 0x0800 to include, 0x0000 otherwise

Definition at line 79 of file standard_build.h.

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

◆ F_6DOF_GB_BASIC

#define F_6DOF_GB_BASIC   0x1000

6DOF accel and mag eCompass algorithm selector - 0x1000 to include, 0x0000 otherwise

Definition at line 80 of file standard_build.h.

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

◆ F_6DOF_GY_KALMAN

#define F_6DOF_GY_KALMAN   0x2000

6DOF accel and gyro (Kalman) algorithm selector - 0x2000 to include, 0x0000 otherwise

Definition at line 81 of file standard_build.h.

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

◆ F_9DOF_GBY_KALMAN

#define F_9DOF_GBY_KALMAN   0x4000

9DOF accel, mag and gyro algorithm selector - 0x4000 to include, 0x0000 otherwise

Definition at line 82 of file standard_build.h.

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

◆ F_ALL_SENSORS

#define F_ALL_SENSORS   0x001F

refers to all applicable sensor types for the given physical unit

Definition at line 69 of file standard_build.h.

Referenced by initSensorFusionGlobals().

◆ F_USING_ACCEL

#define F_USING_ACCEL   0x0001

nominally 0x0001 if an accelerometer is to be used, 0x0000 otherwise

Definition at line 64 of file standard_build.h.

Referenced by CreateAndSendPackets(), FXLS8471Q_Idle(), FXLS8471Q_Init(), FXLS8471Q_Read(), FXOS8700_Idle(), FXOS8700_Init(), and initSensorFusionGlobals().

◆ F_USING_GYRO

#define F_USING_GYRO   0x0004

nominally 0x0004 if a gyro is to be used, 0x0000 otherwise

Definition at line 66 of file standard_build.h.

Referenced by CreateAndSendPackets(), and initSensorFusionGlobals().

◆ F_USING_MAG

#define F_USING_MAG   0x0002

nominally 0x0002 if an magnetometer is to be used, 0x0000 otherwise

Definition at line 65 of file standard_build.h.

◆ F_USING_PRESSURE

#define F_USING_PRESSURE   0x0008

nominally 0x0008 if altimeter is to be used, 0x0000 otherwise

Definition at line 67 of file standard_build.h.

Referenced by initSensorFusionGlobals().

◆ F_USING_TEMPERATURE

#define F_USING_TEMPERATURE   0x0010

nominally 0x0010 if temp sensor is to be used, 0x0000 otherwise

Definition at line 68 of file standard_build.h.

Referenced by initSensorFusionGlobals().

◆ FAST_LOOP_HZ

#define FAST_LOOP_HZ   80

Over Sample Ratio * FUSION_HZ when using no FIFO.

Definition at line 95 of file standard_build.h.

◆ FUSION_HZ

#define FUSION_HZ   40

◆ GYRO_FIFO_SIZE

#define GYRO_FIFO_SIZE   32

FXAX21000, FXAS21002 have 32 element FIFO.

Definition at line 90 of file standard_build.h.

◆ GYRO_ODR_HZ

#define GYRO_ODR_HZ   400

(int) requested gyroscope ODR Hz

Definition at line 93 of file standard_build.h.

◆ MAG_FIFO_SIZE

#define MAG_FIFO_SIZE   16

FXOS8700 (mag), MAG3110 have no FIFO so equivalent to 1 element FIFO.

Definition at line 89 of file standard_build.h.

Referenced by FXOS8700_ReadMagData(), and MAG3110_Read().

◆ MAG_ODR_HZ

#define MAG_ODR_HZ   200

(int) requested magnetometer ODR Hz (over-ridden by ACCEL_ODR_HZ for FXOS8700)

Definition at line 92 of file standard_build.h.

◆ NED

#define NED   0

identifier for NED (Aerospace) axes and angles

Definition at line 54 of file standard_build.h.

◆ OVERSAMPLE_RATE

#define OVERSAMPLE_RATE   FAST_LOOP_HZ/FUSION_HZ

Definition at line 96 of file standard_build.h.

◆ THISBUILD

#define THISBUILD   700

define build number sent in debug packet for display purposes only

Definition at line 47 of file standard_build.h.

Referenced by CreateAndSendPackets().

◆ THISCOORDSYSTEM

#define THISCOORDSYSTEM   NED

the coordinate system to be used

Definition at line 57 of file standard_build.h.

◆ WIN8

#define WIN8   2

identifier for Windows 8 axes and angles

Definition at line 56 of file standard_build.h.