M5Unified
m5::IMU_Base Class Referenceabstract

#include <IMU_Base.hpp>

Inheritance diagram for m5::IMU_Base:
Collaboration diagram for m5::IMU_Base:

Classes

struct  imu_convert_param_t
 
struct  imu_raw_data_t
 
struct  point3d_i16_t
 

Public Types

enum  imu_spec_t { imu_spec_none = 0 , imu_spec_accel = 0b0001 , imu_spec_gyro = 0b0010 , imu_spec_mag = 0b0100 }
 

Public Member Functions

virtual ~IMU_Base ()
 
 IMU_Base (std::uint8_t i2c_addr, std::uint32_t freq=400000, I2C_Class *i2c=&In_I2C)
 
virtual imu_spec_t begin (I2C_Class *i2c=nullptr)=0
 
virtual imu_spec_t getImuRawData (imu_raw_data_t *data) const =0
 
virtual void getConvertParam (imu_convert_param_t *param) const =0
 
virtual bool getTempAdc (int16_t *adc) const
 
virtual bool setINTPinActiveLogic (bool level)
 
- Public Member Functions inherited from m5::I2C_Device
 I2C_Device (std::uint8_t i2c_addr, std::uint32_t freq, I2C_Class *i2c=&In_I2C)
 
void setPort (I2C_Class *i2c)
 
bool writeRegister8 (std::uint8_t reg, std::uint8_t data) const
 
std::uint8_t readRegister8 (std::uint8_t reg) const
 
bool writeRegister8Array (const std::uint8_t *reg_data_array, std::size_t length) const
 
bool writeRegister (std::uint8_t reg, const std::uint8_t *data, std::size_t length) const
 
bool readRegister (std::uint8_t reg, std::uint8_t *result, std::size_t length) const
 
bool bitOn (std::uint8_t reg, std::uint8_t bit) const
 
bool bitOff (std::uint8_t reg, std::uint8_t bit) const
 
bool isEnabled (void) const
 

Additional Inherited Members

- Protected Attributes inherited from m5::I2C_Device
I2C_Class_i2c
 
std::uint32_t _freq
 
std::uint8_t _addr
 
bool _init
 

Detailed Description

Definition at line 11 of file IMU_Base.hpp.

Member Enumeration Documentation

◆ imu_spec_t

Enumerator
imu_spec_none 
imu_spec_accel 
imu_spec_gyro 
imu_spec_mag 

Definition at line 14 of file IMU_Base.hpp.

Constructor & Destructor Documentation

◆ ~IMU_Base()

m5::IMU_Base::~IMU_Base ( )
virtual

Definition at line 8 of file IMU_Base.cpp.

◆ IMU_Base()

m5::IMU_Base::IMU_Base ( std::uint8_t  i2c_addr,
std::uint32_t  freq = 400000,
I2C_Class i2c = &In_I2C 
)

Definition at line 9 of file IMU_Base.cpp.

Member Function Documentation

◆ begin()

virtual imu_spec_t m5::IMU_Base::begin ( I2C_Class i2c = nullptr)
pure virtual

◆ getConvertParam()

virtual void m5::IMU_Base::getConvertParam ( imu_convert_param_t param) const
pure virtual

◆ getImuRawData()

virtual imu_spec_t m5::IMU_Base::getImuRawData ( imu_raw_data_t data) const
pure virtual

◆ getTempAdc()

virtual bool m5::IMU_Base::getTempAdc ( int16_t *  adc) const
inlinevirtual

Reimplemented in m5::SH200Q_Class, m5::MPU6886_Class, and m5::BMI270_Class.

Definition at line 73 of file IMU_Base.hpp.

◆ setINTPinActiveLogic()

virtual bool m5::IMU_Base::setINTPinActiveLogic ( bool  level)
inlinevirtual

Reimplemented in m5::MPU6886_Class.

Definition at line 83 of file IMU_Base.hpp.


The documentation for this class was generated from the following files: