Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
BMI088 driver common interface (I2C and SPI). More...
Go to the source code of this file.
Data Structures | |
struct | Bmi088Config |
Macros | |
#define | BMI088_DEFAULT_GYRO_RANGE BMI088_GYRO_RANGE_1000 |
Default gyro full scale range +- 1000°/s. More... | |
#define | BMI088_DEFAULT_GYRO_ODR BMI088_GYRO_ODR_1000_BW_116 |
Default gyro output rate. More... | |
#define | BMI088_DEFAULT_ACCEL_RANGE BMI088_ACCEL_RANGE_12G |
Default accel full scale range +- 6g. More... | |
#define | BMI088_DEFAULT_ACCEL_ODR BMI088_ACCEL_ODR_1600 |
Default accel output rate. More... | |
#define | BMI088_DEFAULT_ACCEL_BW BMI088_ACCEL_BW_OSR4 |
Default accel bandwidth. More... | |
#define | BMI088_GYRO_SENS_125 0.272442 |
default gyro sensitivy from the datasheet sens = 1/ [LSB/(deg/s)] * pi/180 * 2^INT32_RATE_FRAC ex: BMI with 1000 deg/s has 32.8 LSB/(deg/s) sens = 1/32.8 * pi/180 * 4096 = 2.17953 More... | |
#define | BMI088_GYRO_SENS_125_NUM 19327 |
#define | BMI088_GYRO_SENS_125_DEN 17735 |
#define | BMI088_GYRO_SENS_250 0.544883 |
#define | BMI088_GYRO_SENS_250_NUM 19327 |
#define | BMI088_GYRO_SENS_250_DEN 35470 |
#define | BMI088_GYRO_SENS_500 1.08977 |
#define | BMI088_GYRO_SENS_500_NUM 57663 |
#define | BMI088_GYRO_SENS_500_DEN 52913 |
#define | BMI088_GYRO_SENS_1000 2.17953 |
#define | BMI088_GYRO_SENS_1000_NUM 18271 |
#define | BMI088_GYRO_SENS_1000_DEN 8383 |
#define | BMI088_GYRO_SENS_2000 4.35906 |
#define | BMI088_GYRO_SENS_2000_NUM 36542 |
#define | BMI088_GYRO_SENS_2000_DEN 8383 |
#define | BMI088_ACCEL_SENS_3G 0.919912 |
default accel sensitivy from the datasheet sens = 9.81 [m/s^2] / [LSB/g] * 2^INT32_ACCEL_FRAC ex: BMI with 6g has 5460 LSB/g sens = 9.81 [m/s^2] / 5460 [LSB/g] * 2^INT32_ACCEL_FRAC = 1.83982 More... | |
#define | BMI088_ACCEL_SENS_3G_NUM 9199 |
#define | BMI088_ACCEL_SENS_3G_DEN 10000 |
#define | BMI088_ACCEL_SENS_6G 1.83982 |
#define | BMI088_ACCEL_SENS_6G_NUM 18398 |
#define | BMI088_ACCEL_SENS_6G_DEN 10000 |
#define | BMI088_ACCEL_SENS_12G 3.67965 |
#define | BMI088_ACCEL_SENS_12G_NUM 36797 |
#define | BMI088_ACCEL_SENS_12G_DEN 10000 |
#define | BMI088_ACCEL_SENS_24G 7.3593 |
#define | BMI088_ACCEL_SENS_24G_NUM 7359 |
#define | BMI088_ACCEL_SENS_24G_DEN 1000 |
#define | BMI088_CONFIG_ACCEL 0 |
#define | BMI088_CONFIG_GYRO 1 |
Typedefs | |
typedef void(* | Bmi088ConfigSet) (void *bmi, uint8_t _reg, uint8_t _val, uint8_t _type) |
Configuration function prototype. More... | |
Functions | |
void | bmi088_set_default_config (struct Bmi088Config *c) |
void | bmi088_send_config (Bmi088ConfigSet bmi_set, void *bmi, struct Bmi088Config *config) |
Configuration sequence called once before normal use. More... | |
Variables | |
const float | BMI088_GYRO_SENS [5] |
const struct Int32Rates | BMI088_GYRO_SENS_FRAC [5][2] |
const float | BMI088_ACCEL_SENS [4] |
const struct Int32Vect3 | BMI088_ACCEL_SENS_FRAC [4][2] |
BMI088 driver common interface (I2C and SPI).
Definition in file bmi088.h.
struct Bmi088Config |
Data Fields | ||
---|---|---|
enum Bmi088AccelBW | accel_bw | bandwidth |
enum Bmi088AccelODR | accel_odr | output data rate |
enum Bmi088AccelRanges | accel_range | g Range |
float | accel_samplerate | samplerate in Hz from accel_odr |
enum Bmi088GyroODR | gyro_odr | output data rate |
enum Bmi088GyroRanges | gyro_range | deg/s Range |
float | gyro_samplerate | samplerate in Hz from gyro_odr |
enum Bmi088ConfStatus | init_status | init status |
bool | initialized | config done flag |
#define BMI088_ACCEL_SENS_3G 0.919912 |
#define BMI088_DEFAULT_ACCEL_BW BMI088_ACCEL_BW_OSR4 |
#define BMI088_DEFAULT_ACCEL_ODR BMI088_ACCEL_ODR_1600 |
#define BMI088_DEFAULT_ACCEL_RANGE BMI088_ACCEL_RANGE_12G |
#define BMI088_DEFAULT_GYRO_ODR BMI088_GYRO_ODR_1000_BW_116 |
#define BMI088_DEFAULT_GYRO_RANGE BMI088_GYRO_RANGE_1000 |
#define BMI088_GYRO_SENS_125 0.272442 |
enum Bmi088ConfStatus |
void bmi088_send_config | ( | Bmi088ConfigSet | bmi_set, |
void * | bmi, | ||
struct Bmi088Config * | config | ||
) |
Configuration sequence called once before normal use.
Definition at line 79 of file bmi088.c.
References BMI088_ACCEL_ACTIVE, BMI088_ACCEL_CONF, BMI088_ACCEL_ODR_100, BMI088_ACCEL_ODR_12, BMI088_ACCEL_ODR_1600, BMI088_ACCEL_ODR_200, BMI088_ACCEL_ODR_25, BMI088_ACCEL_ODR_400, BMI088_ACCEL_ODR_50, BMI088_ACCEL_ODR_800, BMI088_ACCEL_POWER_ON, BMI088_ACCEL_PWR_CONF, BMI088_ACCEL_PWR_CTRl, BMI088_ACCEL_RANGE, BMI088_CONF_ACCEL_ODR, BMI088_CONF_ACCEL_PWR_CONF, BMI088_CONF_ACCEL_PWR_CTRL, BMI088_CONF_ACCEL_RANGE, BMI088_CONF_DONE, BMI088_CONF_GYRO_ODR, BMI088_CONF_GYRO_PWR, BMI088_CONF_GYRO_RANGE, BMI088_CONFIG_ACCEL, BMI088_CONFIG_GYRO, BMI088_GYRO_BAND_WIDTH, BMI088_GYRO_LPM_1, BMI088_GYRO_NORMAL, BMI088_GYRO_ODR_1000_BW_116, BMI088_GYRO_ODR_100_BW_12, BMI088_GYRO_ODR_100_BW_32, BMI088_GYRO_ODR_2000_BW_230, BMI088_GYRO_ODR_2000_BW_532, BMI088_GYRO_ODR_200_BW_23, BMI088_GYRO_ODR_200_BW_64, BMI088_GYRO_ODR_400_BW_47, BMI088_GYRO_RANGE, and config.
Referenced by bmi088_i2c_event(), and bmi088_i2c_start_configure().
void bmi088_set_default_config | ( | struct Bmi088Config * | c | ) |
Definition at line 70 of file bmi088.c.
References Bmi088Config::accel_bw, Bmi088Config::accel_odr, Bmi088Config::accel_range, BMI088_DEFAULT_ACCEL_BW, BMI088_DEFAULT_ACCEL_ODR, BMI088_DEFAULT_ACCEL_RANGE, BMI088_DEFAULT_GYRO_ODR, BMI088_DEFAULT_GYRO_RANGE, Bmi088Config::gyro_odr, and Bmi088Config::gyro_range.
Referenced by bmi088_i2c_init().
|
extern |
Definition at line 52 of file bmi088.c.
Referenced by imu_bmi088_init().
|
extern |
Definition at line 31 of file bmi088.c.
Referenced by imu_bmi088_init().