X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_bmx160.c;fp=src%2Fdrivers%2Fao_bmx160.c;h=0c503d28bc62f7d4abd42d8d2c719f5b75d29e3d;hb=df14f64185df1e03db3b2a0bfda9955e8a22799d;hp=0cb663845fce1d53cfea2437a9b5cc7b1ecaf00b;hpb=46058eac93287f6ddfb71aa32c7abc27c189a5f6;p=fw%2Faltos diff --git a/src/drivers/ao_bmx160.c b/src/drivers/ao_bmx160.c index 0cb66384..0c503d28 100644 --- a/src/drivers/ao_bmx160.c +++ b/src/drivers/ao_bmx160.c @@ -183,6 +183,8 @@ _ao_bmx160_wait_alive(void) static void _ao_bmx160_setup(void) { + int r; + if (ao_bmx160_configured) return; @@ -216,6 +218,9 @@ _ao_bmx160_setup(void) (BMX160_ACC_CONF_ACC_ODR_200 << BMX160_ACC_CONF_ACC_ODR)); _ao_bmx160_reg_write(BMX160_ACC_RANGE, BMX160_ACC_RANGE_16G); + for (r = 0x4; r <= 0x17; r++) + (void) _ao_bmx160_reg_read(r); + /* Configure gyro: * @@ -319,11 +324,16 @@ ao_bmx160_show(void) uint8_t gyr_conf = _ao_bmx160_reg_read(BMX160_GYR_CONF); uint8_t gyr_range = _ao_bmx160_reg_read(BMX160_GYR_RANGE); uint8_t mag_conf = _ao_bmx160_reg_read(BMX160_MAG_CONF); + uint8_t status = _ao_bmx160_reg_read(BMX160_MAG_CONF); + uint8_t acc_x_lo = _ao_bmx160_reg_read(BMX160_ACCEL_X_0_7); + uint8_t acc_x_hi = _ao_bmx160_reg_read(BMX160_ACCEL_X_8_15); ao_bmx160_spi_put(); printf("ACC_CONF %02x ACC_RANGE %02x GYR_CONF %02x GYR_RANGE %02x MAG_CONF %02x\n", acc_conf, acc_range, gyr_conf, gyr_range, mag_conf); + printf("STATUS %02x ACCEL_X_0_7 %02x ACCEL_X_8_15 %02x\n", status, acc_x_lo, acc_x_hi); + printf ("Accel: %7d %7d %7d Gyro: %7d %7d %7d Mag: %7d %7d %7d\n", ao_bmx160_current.acc_x, ao_bmx160_current.acc_y,