Hello!! my project is a wireless sensor network that wake-up every 10 minutes. At every wake-up, I read IMU data from bmx160 where all the sensors (acc, gyro and mag) are in normal power mode. During the sleep state, I would like to switch these power modes to suspend mode. Reading the datasheet, page 16 tab 8, I cannot perform a diagonal transition but only vertical or horizontal ones between accelerometer power modes and gyroscope power modes. So, I act as follow: /* switch to normal mode (pwr) */
/* Select the power mode */
sensor.accel_cfg.power = BMX160_ACCEL_NORMAL_MODE;
/* Set the Power mode */
rslt = bmx160_set_power_mode(&sensor);
sensor.gyro_cfg.power = BMX160_GYRO_NORMAL_MODE;
/* Set the Power mode */
rslt = bmx160_set_power_mode(&sensor);
sensor.mag_cfg.power = BMX160_MAG_NORMAL_MODE;
/* Set the Power mode */
rslt = bmx160_set_power_mode(&sensor); and, after the acquisition, the opposite from normal to suspend mode. In this way, I get incorrect data or even all zeros. I also tried to do this change all in one: sensor.accel_cfg.power = BMX160_ACCEL_NORMAL_MODE;
sensor.gyro_cfg.power = BMX160_GYRO_NORMAL_MODE;
sensor.mag_cfg.power = BMX160_MAG_NORMAL_MODE;
rslt = bmx160_set_power_mode(&sensor); but I have the same problems as above. How can I perform this? best regards, Vincenzo
... View more