LSM303DLHC library with magneometer calibration support

Dependents:   IMU-9DOF-KALMAN

Fork of LSM303DLHC by brian claus

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LSM303DLHC.h Source File

LSM303DLHC.h

00001 
00002 #ifndef __LSM303DLHC_H
00003 #define __LSM303DLHC_H
00004 #include "mbed.h"
00005 
00006 
00007 
00008 class LSM303DLHC {
00009     public:
00010         /** Create a new interface for an LSM303DLHC
00011          *
00012          * @param sda is the pin for the I2C SDA line
00013          * @param scl is the pin for the I2C SCL line
00014          */
00015         LSM303DLHC(PinName sda, PinName scl);
00016 
00017   
00018         /** read the raw accelerometer and compass values
00019          *
00020          * @param ax,ay,az is the accelerometer 3d vector, written by the function
00021          * @param mx,my,mz is the magnetometer 3d vector, written by the function
00022          */
00023          bool read(float *ax, float *ay, float *az, float *mx, float *my, float *mz);
00024 
00025 
00026     private:
00027         I2C _LSM303;
00028 
00029          
00030         float ax, ay, az;
00031         float mx, my, mz;         
00032          
00033         bool write_reg(int addr_i2c,int addr_reg, char v);
00034         bool read_reg(int addr_i2c,int addr_reg, char *v);
00035         bool recv(char sad, char sub, char *buf, int length);
00036 };
00037 
00038 #endif