#pragma once #define LSM303_ACC_ADDR 0x19 #define LSM303_ACC_CTRL1 0x20 #define LSM303_ACC_CTRL2 0x21 #define LSM303_ACC_CTRL3 0x22 #define LSM303_ACC_CTRL4 0x23 #define LSM303_ACC_CTRL5 0x24 #define LSM303_ACC_CTRL6 0x25 #define LSM303_ACC_STATUS 0x27 #define LSM303_ACC_OUT_X 0x28 #define LSM303_ACC_OUT_Y 0x2A #define LSM303_ACC_OUT_Z 0x2C #define LSM303_MAG_ADDR 0x1E #define LSM303_MAG_CTRLA 0x00 #define LSM303_MAG_CTRLB 0x01 #define LSM303_MAG_MODE 0x02 #define LSM303_MAG_OUT_X 0x03 #define LSM303_MAG_OUT_Z 0x05 #define LSM303_MAG_OUT_Y 0x07 #define LSM303_MAG_STATUS 0x09 #define LSM303_TIMEOUT MS2ST(10) #include void lsm303_acc_write(uint8_t reg, uint8_t value); uint8_t lsm303_acc_read8(uint8_t reg); bool lsm303_acc_read_results(int *x, int *y, int *z); void lsm303_mag_write(uint8_t reg, uint8_t value); uint8_t lsm303_mag_read8(uint8_t reg); bool lsm303_mag_read_results(int *x, int *y, int *z);