FreeIMU Library Open Hardware Framework for Motion Sensing

- Main Page
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Macros
Data Structures | Macros | Functions
FreeIMU.h File Reference
`#include <Wire.h>`
`#include "Arduino.h"`
`#include <ADXL345.h>`
`#include <MS561101BA.h>`
`#include <ITG3200.h>`
`#include <HMC58X3.h>`

Go to the source code of this file.

## Data Structures
class | FreeIMU

## Macros
#define | FREEIMU_v04
#define | HAS_ITG3200() (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(SEN_10121) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))
#define | HAS_ADXL345() (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(SEN_10121) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))
#define | HAS_BMA180() (defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP))
#define | HAS_MPU6050() (defined(FREEIMU_v04))
#define | HAS_MS5611() (defined(FREEIMU_v035_MS) || defined(FREEIMU_v04))
#define | HAS_HMC5883L() (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))
#define | IS_6DOM() (defined(SEN_10121))
#define | IS_9DOM() (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))
#define | HAS_AXIS_ALIGNED() (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10121) || defined(SEN_10736))
#define | FIMU_ACC_ADDR ADXL345_ADDR_ALT_LOW
#define | FIMU_BARO_ADDR MS561101BA_ADDR_CSB_LOW
#define | FIMU_BMA180_DEF_ADDR BMA180_ADDRESS_SDO_LOW
#define | FIMU_ITG3200_DEF_ADDR ITG3200_ADDR_AD0_LOW
#define | twoKpDef (2.0f * 0.5f)
#define | twoKiDef (2.0f * 0.1f)
#define | cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))

## Functions
float | invSqrt (float number)
void | arr3_rad_to_deg (float *arr)

## Macro Definition Documentation

#define cbi | ( |  | sfr,
|  |  | bit
| ) |  | (_SFR_BYTE(sfr) &= ~_BV(bit))

#define FIMU_ACC_ADDR ADXL345_ADDR_ALT_LOW

#define FIMU_BARO_ADDR MS561101BA_ADDR_CSB_LOW

#define FIMU_BMA180_DEF_ADDR BMA180_ADDRESS_SDO_LOW

#define FIMU_ITG3200_DEF_ADDR ITG3200_ADDR_AD0_LOW

#define FREEIMU_v04

#define HAS_ADXL345 | ( |  | ) | (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(SEN_10121) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))

#define HAS_AXIS_ALIGNED | ( |  | ) | (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10121) || defined(SEN_10736))

#define HAS_BMA180 | ( |  | ) | (defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP))

#define HAS_HMC5883L | ( |  | ) | (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))

#define HAS_ITG3200 | ( |  | ) | (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(SEN_10121) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))

#define HAS_MPU6050 | ( |  | ) | (defined(FREEIMU_v04))

#define HAS_MS5611 | ( |  | ) | (defined(FREEIMU_v035_MS) || defined(FREEIMU_v04))

#define IS_6DOM | ( |  | ) | (defined(SEN_10121))

#define IS_9DOM | ( |  | ) | (defined(FREEIMU_v01) || defined(FREEIMU_v02) || defined(FREEIMU_v03) || defined(FREEIMU_v035) || defined(FREEIMU_v035_MS) || defined(FREEIMU_v035_BMP) || defined(FREEIMU_v04) || defined(SEN_10736) || defined(SEN_10724) || defined(SEN_10183))

#define twoKiDef (2.0f * 0.1f)

#define twoKpDef (2.0f * 0.5f)

## Function Documentation

void arr3_rad_to_deg | ( | float * | arr | ) |

Converts a 3 elements array arr of angles expressed in radians into degrees

float invSqrt | ( | float | number | ) |

Fast inverse square root implementation

See Also
  http://en.wikipedia.org/wiki/Fast_inverse_square_root