imu rev1

Dependencies:   IMUfilter mbed

Fork of AIviate by UCLA IEEE

sensor.h

Committer:
teamgoat
Date:
2013-10-30
Revision:
0:0c627ff4c5ed
Child:
2:452dd766d212

File content as of revision 0:0c627ff4c5ed:

#ifndef SENSOR_H
#define SENSOR_H

#include "mbed.h"



#define accel_w 0x3A
#define accel_r 0x3B
#define ACCEL_X 0x32 // x: 0x32,0x33 y: 0x34,0x35 z: 0x36,0x37 Little Endian!!! (x = 0x33<<8|0x22), etc...
#define ACCEL_Z
#define gyro_w 0xD0
#define gyro_r 0xD1
#define compass_w 0x3C
#define compass_r 0x3D
#define barometer_w 0xEE
#define barometer_r 0xEF

struct accel
{
    int ax, ay, az;
    char raw_data[6];
};

struct gyro
{
    int gy, gx, gz;
};

struct config
{
    int frequency;
};


char set_i2c_pointer(char addr, char reg);   

int read(char addr, char reg, char *buf, int n);

int write(char addr, char reg, char *buf, int n);

int read_accelerometer(struct accel* s);

void read_gyro(struct gyro* s);
int read_compass(void);
int read_barometer(void);

void config_accelerometer(void);
void config_gyro(void);
void config_compass(void);
void config_barometer(void);

void config_gy80(struct config *c);

#endif //SENSOR_H