From 71e87cf2876553b769aea9779389f3a2e45a7e21 Mon Sep 17 00:00:00 2001 From: Nate Weibley Date: Mon, 3 Oct 2016 13:51:18 -0400 Subject: [PATCH] Set maximum publishing rate to match MPU6000 The integrators were set to publish at 800Hz which was overwhelming the CPU with the EKF running. This brings them in line with what we get from the MPU6k device. --- src/drivers/bmi160/bmi160.cpp | 4 ++-- src/drivers/bmi160/bmi160.hpp | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/drivers/bmi160/bmi160.cpp b/src/drivers/bmi160/bmi160.cpp index 43b5d30bd5..06d4b941c0 100644 --- a/src/drivers/bmi160/bmi160.cpp +++ b/src/drivers/bmi160/bmi160.cpp @@ -55,8 +55,8 @@ BMI160::BMI160(int bus, const char *path_accel, const char *path_gyro, spi_dev_e _gyro_filter_x(BMI160_GYRO_DEFAULT_RATE, BMI160_GYRO_DEFAULT_DRIVER_FILTER_FREQ), _gyro_filter_y(BMI160_GYRO_DEFAULT_RATE, BMI160_GYRO_DEFAULT_DRIVER_FILTER_FREQ), _gyro_filter_z(BMI160_GYRO_DEFAULT_RATE, BMI160_GYRO_DEFAULT_DRIVER_FILTER_FREQ), - _accel_int(1000000 / BMI160_ACCEL_MAX_RATE), - _gyro_int(1000000 / BMI160_GYRO_MAX_RATE, true), + _accel_int(1000000 / BMI160_ACCEL_MAX_PUBLISH_RATE), + _gyro_int(1000000 / BMI160_GYRO_MAX_PUBLISH_RATE, true), _rotation(rotation), _checked_next(0), _last_temperature(0), diff --git a/src/drivers/bmi160/bmi160.hpp b/src/drivers/bmi160/bmi160.hpp index 4140f7a936..d18f8a9182 100644 --- a/src/drivers/bmi160/bmi160.hpp +++ b/src/drivers/bmi160/bmi160.hpp @@ -227,8 +227,10 @@ #define BMI160_GYRO_DEFAULT_RANGE_DPS 2000 #define BMI160_ACCEL_DEFAULT_RATE 800 #define BMI160_ACCEL_MAX_RATE 1600 +#define BMI160_ACCEL_MAX_PUBLISH_RATE 280 #define BMI160_GYRO_DEFAULT_RATE 800 #define BMI160_GYRO_MAX_RATE 3200 +#define BMI160_GYRO_MAX_PUBLISH_RATE BMI160_ACCEL_MAX_PUBLISH_RATE #define BMI160_ACCEL_DEFAULT_ONCHIP_FILTER_FREQ 324 #define BMI160_ACCEL_DEFAULT_DRIVER_FILTER_FREQ 50