mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-02 05:04:08 +08:00
bmi088 accel: use IMU_GYRO_RATEMAX to configure sampling rate (with 800 max)
Primarily for logging the fifo topic @400 Hz.
This commit is contained in:
parent
16323256bc
commit
ab060cdab0
@ -43,13 +43,14 @@ namespace Bosch::BMI088::Accelerometer
|
||||
BMI088_Accelerometer::BMI088_Accelerometer(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Rotation rotation,
|
||||
int bus_frequency, spi_mode_e spi_mode, spi_drdy_gpio_t drdy_gpio) :
|
||||
BMI088(DRV_ACC_DEVTYPE_BMI088, "BMI088_Accelerometer", bus_option, bus, device, spi_mode, bus_frequency, drdy_gpio),
|
||||
ModuleParams(nullptr),
|
||||
_px4_accel(get_device_id(), ORB_PRIO_HIGH, rotation)
|
||||
{
|
||||
if (drdy_gpio != 0) {
|
||||
_drdy_interval_perf = perf_alloc(PC_INTERVAL, MODULE_NAME"_accel: DRDY interval");
|
||||
}
|
||||
|
||||
ConfigureSampleRate();
|
||||
ConfigureSampleRate(_param_imu_gyro_rate_max.get());
|
||||
}
|
||||
|
||||
BMI088_Accelerometer::~BMI088_Accelerometer()
|
||||
@ -285,7 +286,7 @@ void BMI088_Accelerometer::ConfigureAccel()
|
||||
|
||||
void BMI088_Accelerometer::ConfigureSampleRate(int sample_rate)
|
||||
{
|
||||
if (sample_rate == 0) {
|
||||
if (sample_rate == 0 || sample_rate > 800) {
|
||||
sample_rate = 800; // default to 800 Hz
|
||||
}
|
||||
|
||||
|
||||
@ -36,13 +36,14 @@
|
||||
#include "BMI088.hpp"
|
||||
|
||||
#include <lib/drivers/accelerometer/PX4Accelerometer.hpp>
|
||||
#include <px4_platform_common/module_params.h>
|
||||
|
||||
#include "Bosch_BMI088_Accelerometer_Registers.hpp"
|
||||
|
||||
namespace Bosch::BMI088::Accelerometer
|
||||
{
|
||||
|
||||
class BMI088_Accelerometer : public BMI088
|
||||
class BMI088_Accelerometer : public BMI088, public ModuleParams
|
||||
{
|
||||
public:
|
||||
BMI088_Accelerometer(I2CSPIBusOption bus_option, int bus, uint32_t device, enum Rotation rotation, int bus_frequency,
|
||||
@ -129,6 +130,10 @@ private:
|
||||
{ Register::INT1_IO_CONF, INT1_IO_CONF_BIT::int1_out, 0 },
|
||||
{ Register::INT1_INT2_MAP_DATA, INT1_INT2_MAP_DATA_BIT::int1_fwm, 0},
|
||||
};
|
||||
|
||||
DEFINE_PARAMETERS(
|
||||
(ParamInt<px4::params::IMU_GYRO_RATEMAX>) _param_imu_gyro_rate_max
|
||||
)
|
||||
};
|
||||
|
||||
} // namespace Bosch::BMI088::Accelerometer
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user