Hummingbird Flight Software
Flight software for the Hummingbird FCU quadcopter flight controller. Designed to run on the Teensy 4.1. Developed with VSCode+PlatformIO.
Classes | Enumerations | Variables
fxos8700_accelmag.h File Reference
#include <Wire.h>
#include <Arduino.h>
#include "hummingbird_config.h"
#include "debugging.h"

Go to the source code of this file.

Classes

class  FXOS8700AccelMag
 NXP Semiconductor FXOS8700 accelerometer/magnetometer sensor class. More...
 

Enumerations

enum  AccelRanges_t { ACCEL_RNG_2G = 0x00 , ACCEL_RNG_4G = 0x01 , ACCEL_RNG_8G = 0x02 }
 Accelerometer measurement ranges. More...
 
enum  MagAccelRegisters_t {
  ACCELMAG_REG_STATUS = 0x00 , ACCELMAG_REG_ID = 0x0D , ACCELMAG_REG_XYZ_CFG = 0x0E , ACCELMAG_REG_AOUT_X_MSB = 0x01 ,
  ACCELMAG_REG_AOUT_X_LSB = 0x02 , ACCELMAG_REG_AOUT_Y_MSB = 0x03 , ACCELMAG_REG_AOUT_Y_LSB = 0x04 , ACCELMAG_REG_AOUT_Z_MSB = 0x05 ,
  ACCELMAG_REG_AOUT_Z_LSB = 0x06 , ACCELMAG_REG_CTRL1 = 0x2A , ACCELMAG_REG_CTRL2 = 0x2B , ACCELMAG_REG_CTRL3 = 0x2C ,
  ACCELMAG_REG_CTRL4 = 0x2D , ACCELMAG_REG_CTRL5 = 0x2E , ACCELMAG_REG_MSTATUS = 0x32 , ACCELMAG_REG_MOUT_X_MSB = 0x33 ,
  ACCELMAG_REG_MOUT_X_LSB = 0x34 , ACCELMAG_REG_MOUT_Y_MSB = 0x35 , ACCELMAG_REG_MOUT_Y_LSB = 0x36 , ACCELMAG_REG_MOUT_Z_MSB = 0x37 ,
  ACCELMAG_REG_MOUT_Z_LSB = 0x38 , ACCELMAG_REG_MCTRL1 = 0x5B , ACCELMAG_REG_MCTRL2 = 0x5C , ACCELMAG_REG_MCTRL3 = 0x5D
}
 Accelerometer & magnetometer registers. More...
 

Variables

constexpr uint8_t FXOS8700_ID = 0xC7
 
constexpr uint8_t FXOS8700_ADDRESS = 0x1F
 
constexpr float ACCELMAG_CVT_GS_2G = 0.000244140625f
 
constexpr float ACCELMAG_CVT_GS_4G = 0.00048828125f
 
constexpr float ACCELMAG_CVT_GS_8G = 0.0009765625f
 
constexpr float ACCELMAG_CVT_UT = 0.1f
 

Enumeration Type Documentation

◆ AccelRanges_t

Accelerometer measurement ranges.

Enumerator
ACCEL_RNG_2G 
ACCEL_RNG_4G 
ACCEL_RNG_8G 

◆ MagAccelRegisters_t

Accelerometer & magnetometer registers.

Enumerator
ACCELMAG_REG_STATUS 
ACCELMAG_REG_ID 
ACCELMAG_REG_XYZ_CFG 
ACCELMAG_REG_AOUT_X_MSB 
ACCELMAG_REG_AOUT_X_LSB 
ACCELMAG_REG_AOUT_Y_MSB 
ACCELMAG_REG_AOUT_Y_LSB 
ACCELMAG_REG_AOUT_Z_MSB 
ACCELMAG_REG_AOUT_Z_LSB 
ACCELMAG_REG_CTRL1 
ACCELMAG_REG_CTRL2 
ACCELMAG_REG_CTRL3 
ACCELMAG_REG_CTRL4 
ACCELMAG_REG_CTRL5 
ACCELMAG_REG_MSTATUS 
ACCELMAG_REG_MOUT_X_MSB 
ACCELMAG_REG_MOUT_X_LSB 
ACCELMAG_REG_MOUT_Y_MSB 
ACCELMAG_REG_MOUT_Y_LSB 
ACCELMAG_REG_MOUT_Z_MSB 
ACCELMAG_REG_MOUT_Z_LSB 
ACCELMAG_REG_MCTRL1 
ACCELMAG_REG_MCTRL2 
ACCELMAG_REG_MCTRL3 

Variable Documentation

◆ ACCELMAG_CVT_GS_2G

constexpr float ACCELMAG_CVT_GS_2G = 0.000244140625f
constexpr

◆ ACCELMAG_CVT_GS_4G

constexpr float ACCELMAG_CVT_GS_4G = 0.00048828125f
constexpr

◆ ACCELMAG_CVT_GS_8G

constexpr float ACCELMAG_CVT_GS_8G = 0.0009765625f
constexpr

◆ ACCELMAG_CVT_UT

constexpr float ACCELMAG_CVT_UT = 0.1f
constexpr

◆ FXOS8700_ADDRESS

constexpr uint8_t FXOS8700_ADDRESS = 0x1F
constexpr

◆ FXOS8700_ID

constexpr uint8_t FXOS8700_ID = 0xC7
constexpr