mpud::dmp::MPUdmp Class Reference

MPU with DMP interface. More...

#include <MPUdmp.hpp>

Inheritance diagram for mpud::dmp::MPUdmp:
mpud::MPU

Additional Inherited Members

- Public Member Functions inherited from mpud::MPU
 MPU ()
 Default Constructor. More...
 
 MPU (mpu_bus_t &bus)
 Contruct a MPU in the given communication bus. More...
 
 MPU (mpu_bus_t &bus, mpu_addr_handle_t addr)
 Construct a MPU in the given communication bus and address. More...
 
 ~MPU ()
 Default Destructor, does nothing. More...
 
MPUsetBus (mpu_bus_t &bus)
 Set communication bus. More...
 
MPUsetAddr (mpu_addr_handle_t addr)
 Set I2C address or SPI device handle. More...
 
mpu_bus_t & getBus ()
 Return communication bus object. More...
 
mpu_addr_handle_t getAddr ()
 Return I2C address or SPI device handle. More...
 
esp_err_t lastError ()
 Return last error code. More...
 
esp_err_t initialize ()
 Initialize MPU device and set basic configurations. More...
 
esp_err_t reset ()
 Reset internal registers and restore to default start-up state. More...
 
esp_err_t setSleep (bool enable)
 Enable / disable sleep mode. More...
 
esp_err_t testConnection ()
 Test connection with MPU. More...
 
esp_err_t selfTest (selftest_t *result)
 Trigger gyro and accel hardware self-test. More...
 
esp_err_t resetSignalPath ()
 Reset sensors signal path. More...
 
uint8_t whoAmI ()
 Returns the value from WHO_AM_I register. More...
 
bool getSleep ()
 Get current sleep state. More...
 
esp_err_t setSampleRate (uint16_t rate)
 Set sample rate of data output. More...
 
esp_err_t setClockSource (clock_src_t clockSrc)
 Select clock source. More...
 
esp_err_t setDigitalLowPassFilter (dlpf_t dlpf)
 Configures Digital Low Pass Filter (DLPF) setting for both the gyroscope and accelerometer. More...
 
uint16_t getSampleRate ()
 Retrieve sample rate divider and calculate the actual rate. More...
 
clock_src_t getClockSource ()
 Return clock source. More...
 
dlpf_t getDigitalLowPassFilter ()
 Return Digital Low Pass Filter configuration. More...
 
esp_err_t setLowPowerAccelMode (bool enable)
 Enter Low Power Accelerometer mode. More...
 
esp_err_t setLowPowerAccelRate (lp_accel_rate_t rate)
 Set Low Power Accelerometer frequency of wake-up. More...
 
lp_accel_rate_t getLowPowerAccelRate ()
 Get Low Power Accelerometer frequency of wake-up. More...
 
bool getLowPowerAccelMode ()
 Return Low Power Accelerometer state. More...
 
esp_err_t setStandbyMode (stby_en_t mask)
 Configure sensors' standby mode. More...
 
stby_en_t getStandbyMode ()
 Return Standby configuration. More...
 
esp_err_t setGyroFullScale (gyro_fs_t fsr)
 Select Gyroscope Full-scale range. More...
 
esp_err_t setAccelFullScale (accel_fs_t fsr)
 Select Accelerometer Full-scale range. More...
 
gyro_fs_t getGyroFullScale ()
 Return Gyroscope Full-scale range. More...
 
accel_fs_t getAccelFullScale ()
 Return Accelerometer Full-scale range. More...
 
esp_err_t setGyroOffset (raw_axes_t bias)
 Push biases to the gyro offset registers. More...
 
esp_err_t setAccelOffset (raw_axes_t bias)
 Push biases to the accel offset registers. More...
 
raw_axes_t getGyroOffset ()
 Return biases from the gyro offset registers. More...
 
raw_axes_t getAccelOffset ()
 Return biases from accel offset registers. More...
 
esp_err_t computeOffsets (raw_axes_t *accel, raw_axes_t *gyro)
 Compute Accelerometer and Gyroscope offsets. More...
 
esp_err_t setInterruptConfig (int_config_t config)
 Configure the Interrupt pin (INT). More...
 
esp_err_t setInterruptEnabled (int_en_t mask)
 Enable features to generate signal at Interrupt pin. More...
 
int_stat_t getInterruptStatus ()
 Return the Interrupt status from INT_STATUS register. More...
 
int_config_t getInterruptConfig ()
 Return Interrupt pin (INT) configuration. More...
 
int_en_t getInterruptEnabled ()
 Return enabled features configured to generate signal at Interrupt pin. More...
 
esp_err_t setFIFOMode (fifo_mode_t mode)
 Change FIFO mode. More...
 
esp_err_t setFIFOConfig (fifo_config_t config)
 Configure the sensors that will be written to the FIFO. More...
 
esp_err_t setFIFOEnabled (bool enable)
 Enabled / disable FIFO module. More...
 
esp_err_t resetFIFO ()
 Reset FIFO module. More...
 
uint16_t getFIFOCount ()
 Return number of written bytes in the FIFO. More...
 
esp_err_t readFIFO (size_t length, uint8_t *data)
 Read data contained in FIFO buffer. More...
 
esp_err_t writeFIFO (size_t length, const uint8_t *data)
 Write data to FIFO buffer. More...
 
fifo_mode_t getFIFOMode ()
 Return FIFO mode. More...
 
fifo_config_t getFIFOConfig ()
 Return FIFO configuration. More...
 
bool getFIFOEnabled ()
 Return FIFO module state. More...
 
esp_err_t setAuxI2CConfig (const auxi2c_config_t &config)
 Configure the Auxiliary I2C Master. More...
 
esp_err_t setAuxI2CEnabled (bool enable)
 Enable / disable Auxiliary I2C Master module. More...
 
esp_err_t setAuxI2CSlaveConfig (const auxi2c_slv_config_t &config)
 Configure communication with a Slave connected to Auxiliary I2C bus. More...
 
esp_err_t setAuxI2CSlaveEnabled (auxi2c_slv_t slave, bool enable)
 Enable the Auxiliary I2C module to transfer data with a slave at sample rate. More...
 
esp_err_t setAuxI2CBypass (bool enable)
 Enable / disable Auxiliary I2C bypass mode. More...
 
esp_err_t readAuxI2CRxData (size_t length, uint8_t *data, size_t skip=0)
 Read data from slaves connected to Auxiliar I2C bus. More...
 
esp_err_t restartAuxI2C ()
 Restart Auxiliary I2C Master module, reset is asynchronous. More...
 
auxi2c_stat_t getAuxI2CStatus ()
 Return Auxiliary I2C Master status from register I2C_MST_STATUS. More...
 
auxi2c_config_t getAuxI2CConfig ()
 Get Auxiliary I2C Master configuration. More...
 
auxi2c_slv_config_t getAuxI2CSlaveConfig (auxi2c_slv_t slave)
 Return configuration of a Aux I2C Slave. More...
 
bool getAuxI2CEnabled ()
 Return Auxiliary I2C Master state. More...
 
bool getAuxI2CSlaveEnabled (auxi2c_slv_t slave)
 Return enable state of a Aux I2C's Slave. More...
 
bool getAuxI2CBypass ()
 Return Auxiliary I2C Master bypass mode state. More...
 
esp_err_t auxI2CWriteByte (uint8_t devAddr, uint8_t regAddr, uint8_t data)
 Write to a slave a single byte just once (use for configuring a slave at initialization). More...
 
esp_err_t auxI2CReadByte (uint8_t devAddr, uint8_t regAddr, uint8_t *data)
 Read a single byte frome slave just once (use for configuring a slave at initialization). More...
 
esp_err_t setMotionDetectConfig (mot_config_t &config)
 Configure Motion-Detect or Wake-on-motion feature. More...
 
mot_config_t getMotionDetectConfig ()
 Return Motion Detection Configuration. More...
 
esp_err_t setMotionFeatureEnabled (bool enable)
 Enable/disable Motion modules (Motion detect, Zero-motion, Free-Fall). More...
 
bool getMotionFeatureEnabled ()
 Return true if a Motion Dectection module is enabled. More...
 
esp_err_t setZeroMotionConfig (zrmot_config_t &config)
 Configure Zero-Motion. More...
 
zrmot_config_t getZeroMotionConfig ()
 Return Zero-Motion configuration. More...
 
esp_err_t setFreeFallConfig (ff_config_t &config)
 Configure Free-Fall. More...
 
ff_config_t getFreeFallConfig ()
 Return Free-Fall Configuration. More...
 
mot_stat_t getMotionDetectStatus ()
 Return Motion Detection Status. More...
 
esp_err_t compassInit ()
 Initialize Magnetometer sensor. More...
 
esp_err_t compassTestConnection ()
 Test connection with Magnetometer by checking WHO_I_AM register. More...
 
esp_err_t compassSetMode (mag_mode_t mode)
 Change magnetometer's measurement mode. More...
 
esp_err_t compassGetAdjustment (uint8_t *x, uint8_t *y, uint8_t *z)
 Return Magnetometer's sensitivity adjustment data for each axis. More...
 
mag_mode_t compassGetMode ()
 Return magnetometer's measurement mode. More...
 
uint8_t compassWhoAmI ()
 Return value from WHO_I_AM register. More...
 
uint8_t compassGetInfo ()
 Return value from magnetometer's INFO register. More...
 
esp_err_t compassReadByte (uint8_t regAddr, uint8_t *data)
 Read a single byte from magnetometer. More...
 
esp_err_t compassWriteByte (uint8_t regAddr, uint8_t data)
 Write a single byte to magnetometer. More...
 
bool compassSelfTest (raw_axes_t *result=nullptr)
 Perform Compass self-test. More...
 
esp_err_t compassReset ()
 Soft reset AK8963. More...
 
esp_err_t compassSetSensitivity (mag_sensy_t sensy)
 Set magnetometer sensitivity. More...
 
mag_sensy_t compassGetSensitivity ()
 Return magnetometer sensitivity. More...
 
esp_err_t setFsyncConfig (int_lvl_t level)
 Configure the active level of FSYNC pin that will cause an interrupt. More...
 
esp_err_t setFsyncEnabled (bool enable)
 Enable / disable FSYNC pin to cause an interrupt. More...
 
int_lvl_t getFsyncConfig ()
 Return FSYNC pin active level configuration. More...
 
bool getFsyncEnabled ()
 Return FSYNC enable state. More...
 
esp_err_t setFchoice (fchoice_t fchoice)
 Select FCHOICE. More...
 
fchoice_t getFchoice ()
 Return FCHOICE. More...
 
esp_err_t setAuxVDDIOLevel (auxvddio_lvl_t level)
 The MPU-6050’s I/O logic levels are set to be either VDD or VLOGIC. More...
 
auxvddio_lvl_t getAuxVDDIOLevel ()
 Return MPU-6050’s I/O logic levels. More...
 
esp_err_t readBit (uint8_t regAddr, uint8_t bitNum, uint8_t *data)
 Read a single bit from a register. More...
 
esp_err_t readBits (uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data)
 Read a range of bits from a register. More...
 
esp_err_t readByte (uint8_t regAddr, uint8_t *data)
 Read a single register. More...
 
esp_err_t readBytes (uint8_t regAddr, size_t length, uint8_t *data)
 Read data from sequence of registers. More...
 
esp_err_t writeBit (uint8_t regAddr, uint8_t bitNum, uint8_t data)
 Write a single bit to a register. More...
 
esp_err_t writeBits (uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data)
 Write a range of bits to a register. More...
 
esp_err_t writeByte (uint8_t regAddr, uint8_t data)
 Write a value to a register. More...
 
esp_err_t writeBytes (uint8_t regAddr, size_t length, const uint8_t *data)
 Write a sequence to data to a sequence of registers. More...
 
esp_err_t registerDump (uint8_t start=0x0, uint8_t end=0x7F)
 Print out register values for debugging purposes. More...
 
esp_err_t acceleration (raw_axes_t *accel)
 Read accelerometer raw data. More...
 
esp_err_t acceleration (int16_t *x, int16_t *y, int16_t *z)
 Read accelerometer raw data. More...
 
esp_err_t rotation (raw_axes_t *gyro)
 Read gyroscope raw data. More...
 
esp_err_t rotation (int16_t *x, int16_t *y, int16_t *z)
 Read gyroscope raw data. More...
 
esp_err_t temperature (int16_t *temp)
 Read temperature raw data. More...
 
esp_err_t motion (raw_axes_t *accel, raw_axes_t *gyro)
 Read accelerometer and gyroscope data at once. More...
 
esp_err_t heading (raw_axes_t *mag)
 Read compass data. More...
 
esp_err_t heading (int16_t *x, int16_t *y, int16_t *z)
 Read compass data. More...
 
esp_err_t motion (raw_axes_t *accel, raw_axes_t *gyro, raw_axes_t *mag)
 Read accelerometer, gyroscope, compass raw data. More...
 
esp_err_t sensors (raw_axes_t *accel, raw_axes_t *gyro, int16_t *temp)
 Read data from all internal sensors. More...
 
esp_err_t sensors (sensors_t *sensors, size_t extsens_len=0)
 Read data from all sensors, including external sensors in Aux I2C. More...
 
- Protected Member Functions inherited from mpud::MPU
esp_err_t accelSelfTest (raw_axes_t &regularBias, raw_axes_t &selfTestBias, uint8_t *result)
 Accel Self-test. More...
 
esp_err_t gyroSelfTest (raw_axes_t &regularBias, raw_axes_t &selfTestBias, uint8_t *result)
 Gyro Self-test. More...
 
esp_err_t getBiases (accel_fs_t accelFS, gyro_fs_t gyroFS, raw_axes_t *accelBias, raw_axes_t *gyroBias, bool selftest)
 Compute the Biases in regular mode and self-test mode. More...
 
- Protected Attributes inherited from mpud::MPU
mpu_bus_t * bus
 Communication bus pointer, I2C / SPI. More...
 
mpu_addr_handle_t addr
 I2C address / SPI device handle. More...
 
uint8_t buffer [16]
 Commom buffer for temporary data. More...
 
esp_err_t err
 Holds last error code. More...
 

Detailed Description

MPU with DMP interface.


The documentation for this class was generated from the following file:
  • /home/travis/build/natanaeljr/esp32-MPU-driver/include/MPUdmp.hpp