Rev 159 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#ifndef GYRO_L3G_H#define GYRO_L3G_H// Device Types#define L3G4200D_DEVICE 0#define L3GD20_DEVICE 1// SA0 States#define L3G_SA0_LOW 0#define L3G_SA0_HIGH 1// Slave Addresses#define L3G4200D_ADDRESS_SA0_LOW (0xD0 >> 1)#define L3G4200D_ADDRESS_SA0_HIGH (0xD2 >> 1)#define L3GD20_ADDRESS_SA0_LOW (0xD4 >> 1)#define L3GD20_ADDRESS_SA0_HIGH (0xD6 >> 1)// Register Addresses#define L3G_WHO_AM_I 0x0F#define L3G_CTRL_REG1 0x20#define L3G_CTRL_REG2 0x21#define L3G_CTRL_REG3 0x22#define L3G_CTRL_REG4 0x23#define L3G_CTRL_REG5 0x24#define L3G_REFERENCE 0x25#define L3G_OUT_TEMP 0x26#define L3G_STATUS_REG 0x27#define L3G_OUT_X_L 0x28#define L3G_OUT_X_H 0x29#define L3G_OUT_Y_L 0x2A#define L3G_OUT_Y_H 0x2B#define L3G_OUT_Z_L 0x2C#define L3G_OUT_Z_H 0x2D#define L3G_FIFO_CTRL_REG 0x2E#define L3G_FIFO_SRC_REG 0x2F#define L3G_INT1_CFG 0x30#define L3G_INT1_SRC 0x31#define L3G_INT1_THS_XH 0x32#define L3G_INT1_THS_XL 0x33#define L3G_INT1_THS_YH 0x34#define L3G_INT1_THS_YL 0x35#define L3G_INT1_THS_ZH 0x36#define L3G_INT1_THS_ZL 0x37#define L3G_INT1_DURATION 0x38typedef struct {char address;} L3G_DATA;void L3G_Init(L3G_DATA *data, char device, char sa0);void L3G_Begin(void);void L3G_Read(int *x, int *y, int *z);#endif