cosmicpi-arduino/Adafruit_10DOF.h

54 lines
1.6 KiB
C
Raw Permalink Normal View History

2016-04-23 13:46:24 +00:00
/***************************************************************************
This is a library for the Adafruit 10DOF Breakout
Designed specifically to work with the Adafruit 10DOF Breakout
These displays use I2C to communicate, 2 pins are required to interface.
Adafruit invests time and resources providing this open source code,
please support Adafruit andopen-source hardware by purchasing products
from Adafruit!
Written by Kevin Townsend for Adafruit Industries.
BSD license, all text above must be included in any redistribution
***************************************************************************/
#ifndef __ADAFRUIT_10DOF_H__
#define __ADAFRUIT_10DOF_H__
#if (ARDUINO >= 100)
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include "Adafruit_Sensor.h"
#include "Adafruit_LSM303_U.h"
#include "Adafruit_BMP085_U.h"
#include "Adafruit_L3GD20_U.h"
#include <Wire.h>
/** Sensor axis */
typedef enum
{
SENSOR_AXIS_X = (1),
SENSOR_AXIS_Y = (2),
SENSOR_AXIS_Z = (3)
} sensors_axis_t;
/* Driver for the the 10DOF breakout sensors */
class Adafruit_10DOF
{
public:
Adafruit_10DOF(void);
bool begin(void);
bool accelGetOrientation ( sensors_event_t *event, sensors_vec_t *orientation );
bool magTiltCompensation ( sensors_axis_t axis, sensors_event_t *mag_event, sensors_event_t *accel_event );
bool magGetOrientation ( sensors_axis_t axis, sensors_event_t *event, sensors_vec_t *mag_orientation );
bool fusionGetOrientation ( sensors_event_t *accel_event, sensors_event_t *mag_event, sensors_vec_t *orientation );
private:
};
#endif