|
TR-mbed 1.0
|
Interface class for ISM330DHCX IMU using SPI. More...
#include <ISM330.h>
Classes | |
| struct | ISM330_DATA_TypeDef |
| struct | ISM330_RAW_DATA_TypeDef |
| struct | ISM330_VECTOR_TypeDef |
Public Member Functions | |
| ISM330 (I2C &i2c, uint8_t address) noexcept | |
| bool | begin (float prop_gain=0.1f, float int_gain=0.0f) noexcept |
| Initialize communication with the device. | |
| uint8_t | whoAmI () noexcept |
| Read the WHO_AM_I register value. | |
| void | reset () noexcept |
| Issue a software reset to the device. | |
| void | calibrate () noexcept |
| IMU::EulerAngles | getImuAngles () override |
| IMU::EulerAngles | read () override |
| ISM330_RAW_DATA_TypeDef | readAGraw () noexcept |
| ISM330_DATA_TypeDef | readAG () noexcept |
| float | readTemperature () noexcept |
| float | accelTempScale (float temp) |
| float | accelTempOffset (float temp) |
| float | gyroTempScale (float temp) |
| float | gyroTempOffset (float temp) |
| void | getAGVectors (ISM330_VECTOR_TypeDef &accel, ISM330_VECTOR_TypeDef &gyro) |
| void | computeAnglesMah (IMU::EulerAngles &angles) |
| void | computeAnglesMadgwick (IMU::EulerAngles &angles) |
| void | mahonyStart (float prop_gain, float int_gain) |
| void | initQuaternionFromAccel () |
| void | mahonyUpdate (float mx, float my, float mz, float dt) |
| void | mahonyUpdateIMU (float dt) |
| void | madgwickStart (float gain) |
| void | madgwickUpdate (float mx, float my, float mz, float dt) |
| void | madgwickUpdateIMU (float dt) |
| ISM330_VECTOR_TypeDef | readAccel () noexcept |
| ISM330_VECTOR_TypeDef | readGyro () noexcept |
Public Member Functions inherited from IMU | |
| void | init () |
| void | reset () |
Interface class for ISM330DHCX IMU using SPI.
|
noexcept |
| float ISM330::accelTempOffset | ( | float | temp | ) |
| float ISM330::accelTempScale | ( | float | temp | ) |
|
noexcept |
Initialize communication with the device.
Performs basic SPI setup and verifies device presence using the WHO_AM_I register.
|
noexcept |
| void ISM330::computeAnglesMadgwick | ( | IMU::EulerAngles & | angles | ) |
| void ISM330::computeAnglesMah | ( | IMU::EulerAngles & | angles | ) |
| void ISM330::getAGVectors | ( | ISM330_VECTOR_TypeDef & | accel, |
| ISM330_VECTOR_TypeDef & | gyro | ||
| ) |
|
overridevirtual |
Reimplemented from IMU.
| float ISM330::gyroTempOffset | ( | float | temp | ) |
| float ISM330::gyroTempScale | ( | float | temp | ) |
| void ISM330::initQuaternionFromAccel | ( | ) |
| void ISM330::madgwickStart | ( | float | gain | ) |
| void ISM330::madgwickUpdate | ( | float | mx, |
| float | my, | ||
| float | mz, | ||
| float | dt | ||
| ) |
| void ISM330::madgwickUpdateIMU | ( | float | dt | ) |
| void ISM330::mahonyStart | ( | float | prop_gain, |
| float | int_gain | ||
| ) |
| void ISM330::mahonyUpdate | ( | float | mx, |
| float | my, | ||
| float | mz, | ||
| float | dt | ||
| ) |
| void ISM330::mahonyUpdateIMU | ( | float | dt | ) |
|
inlineoverridevirtual |
Reimplemented from IMU.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Issue a software reset to the device.
Triggers a soft reset and blocks briefly to allow the device to restart.
|
noexcept |
Read the WHO_AM_I register value.
This value should match the documented device ID. Mainly useful for diagnostics or verifying hardware connectivity.