Ism330#

group drv_ism330

Driver for the ST ISM330 IMU.

Author

Said Alvarado-Marin said-alexander.alvarado-marin@inria.fr

Copyright

Inria, 2023

Unnamed Group

ISM330_REG_OUTX_L_A#

Accelerometer Registers.

Accelerometer OUTX Low

ISM330_REG_OUTX_H_A#

Accelerometer OUTX High.

ISM330_REG_OUTY_L_A#

Accelerometer OUTY Low.

ISM330_REG_OUTY_H_A#

Accelerometer OUTY High.

ISM330_REG_OUTZ_L_A#

Accelerometer OUTZ Low.

ISM330_REG_OUTZ_H_A#

Accelerometer OUTZ High.

Unnamed Group

ISM330_REG_OUTX_L_G#

Gyroscope Registers.

Gyroscope OUTX Low

ISM330_REG_OUTX_H_G#

Gyroscope OUTX High.

ISM330_REG_OUTY_L_G#

Gyroscope OUTY Low.

ISM330_REG_OUTY_H_G#

Gyroscope OUTY High.

ISM330_REG_OUTZ_L_G#

Gyroscope OUTZ Low.

ISM330_REG_OUTZ_H_G#

Gyroscope OUTZ High.

Unnamed Group

ISM330_REG_CTRL1_XL#

Configuration Registers.

Control Register 1

ISM330_REG_CTRL2_G#

Control Register 2.

ISM330_REG_CTRL3_C#

Control Register 3.

ISM330_REG_CTRL4_C#

Control Register 4.

ISM330_REG_CTRL5_C#

Control Register 5.

ISM330_REG_CTRL6_C#

Control Register 6.

ISM330_REG_CTRL7_G#

Control Register 7.

ISM330_REG_CTRL8_XL#

Control Register 8.

ISM330_REG_CTRL9_XL#

Control Register 9.

ISM330_REG_CTRL10_C#

Control Register 10.

Defines

ISM330_ADDRESS#

IMU address.

Functions

void db_ism330_init(const gpio_t *sda, const gpio_t *scl)#

Initialize the IMU, configures the data rate and range for all the sensors. Also activates the High-Pass filter for the Gyro.

Parameters:
  • sda[in] pointer to gpio serial data pin

  • scl[in] pointer to gpio serial clock pin

void db_ism330_accel_read(ism330_acc_data_t *data)#

Read the X, Y and Z values for the accelerometer. returned as a vector of 3 floats [x, y, z], in cm/s^2.

Parameters:
  • data[out] Output vector of the accelerometer

void db_ism330_gyro_read(ism330_gyro_data_t *data)#

Read the X, Y and Z values for the gyroscope. returned as a vector of 3 floats [x, y, z], in radians/s.

Parameters:
  • data[out] Output vector of the gyroscope

struct ism330_acc_data_t#

Data type to store the accelerometer data in [cm/s^2].

Public Members

float x#

X axis.

float y#

Y axis.

float z#

Z axis.

struct ism330_gyro_data_t#

Data type to store the gyrometer data in [rad/s].

Public Members

float x#

X axis.

float y#

Y axis.

float z#

Z axis.