Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MPU6050 by
MPU6050 Class Reference
#include <MPU6050.h>
Public Member Functions | |
| MPU6050 (PinName sda, PinName scl) | |
| Constructor. | |
| bool | testConnection (void) |
| Tests the I2C connection by reading the WHO_AM_I register. | |
| void | setBW (char BW) |
| Sets the bandwidth of the digital low-pass filter. | |
| void | setI2CBypass (bool state) |
| Sets the auxiliary I2C bus in bypass mode to read the sensors behind the MPU6050 (useful for eval board, otherwise just connect them to primary I2C bus) | |
| void | setAcceleroRange (char range) |
| Sets the Accelero full-scale range. | |
| int | getAcceleroRawX (void) |
| Reads the accelero x-axis. | |
| int | getAcceleroRawY (void) |
| Reads the accelero y-axis. | |
| int | getAcceleroRawZ (void) |
| Reads the accelero z-axis. | |
| void | getAcceleroRaw (int *data) |
| Reads all accelero data. | |
| void | getAccelero (float *data) |
| Reads all accelero data, gives the acceleration in m/s2. | |
| void | setGyroRange (char range) |
| Sets the Gyro full-scale range. | |
| int | getGyroRawX (void) |
| Reads the gyro x-axis. | |
| int | getGyroRawY (void) |
| Reads the gyro y-axis. | |
| int | getGyroRawZ (void) |
| Reads the gyro z-axis. | |
| void | getGyroRaw (int *data) |
| Reads all gyro data. | |
| void | getGyro (float *data) |
| Reads all gyro data, gives the gyro in rad/s. | |
| int | getTempRaw (void) |
| Reads temperature data. | |
| float | getTemp (void) |
| Returns current temperature. | |
| void | setSleepMode (bool state) |
| Sets the sleep mode of the MPU6050. | |
| void | write (char address, char data) |
| Writes data to the device, could be private, but public is handy so you can transmit directly to the MPU. | |
| char | read (char adress) |
| Read data from the device, could be private, but public is handy so you can transmit directly to the MPU. | |
| void | read (char adress, char *data, int length) |
| Read multtiple regigsters from the device, more efficient than using multiple normal reads. | |
Detailed Description
MPU6050 IMU library.
Example:
Later, maybe
Definition at line 84 of file MPU6050.h.
Constructor & Destructor Documentation
| MPU6050 | ( | PinName | sda, |
| PinName | scl | ||
| ) |
Constructor.
Includes.
Sleep mode of MPU6050 is immediatly disabled
- Parameters:
-
sda - mbed pin to use for the SDA I2C line. scl - mbed pin to use for the SCL I2C line.
Definition at line 6 of file MPU6050.cpp.
Member Function Documentation
| void getAccelero | ( | float * | data ) |
Reads all accelero data, gives the acceleration in m/s2.
Function uses the last setup value of the full scale range, if you manually set in another range, this won't work.
- Parameters:
-
data - pointer to float array with length three: data[0] = X, data[1] = Y, data[2] = Z
Definition at line 120 of file MPU6050.cpp.
| void getAcceleroRaw | ( | int * | data ) |
Reads all accelero data.
- Parameters:
-
data - pointer to signed integer array with length three: data[0] = X, data[1] = Y, data[2] = Z
Definition at line 112 of file MPU6050.cpp.
| int getAcceleroRawX | ( | void | ) |
Reads the accelero x-axis.
- Returns:
- 16-bit signed integer x-axis accelero data
Definition at line 88 of file MPU6050.cpp.
| int getAcceleroRawY | ( | void | ) |
Reads the accelero y-axis.
- Returns:
- 16-bit signed integer y-axis accelero data
Definition at line 96 of file MPU6050.cpp.
| int getAcceleroRawZ | ( | void | ) |
Reads the accelero z-axis.
- Returns:
- 16-bit signed integer z-axis accelero data
Definition at line 104 of file MPU6050.cpp.
| void getGyro | ( | float * | data ) |
Reads all gyro data, gives the gyro in rad/s.
Function uses the last setup value of the full scale range, if you manually set in another range, this won't work.
- Parameters:
-
data - pointer to float array with length three: data[0] = X, data[1] = Y, data[2] = Z
Definition at line 196 of file MPU6050.cpp.
| void getGyroRaw | ( | int * | data ) |
Reads all gyro data.
- Parameters:
-
data - pointer to signed integer array with length three: data[0] = X, data[1] = Y, data[2] = Z
Definition at line 188 of file MPU6050.cpp.
| int getGyroRawX | ( | void | ) |
Reads the gyro x-axis.
- Returns:
- 16-bit signed integer x-axis gyro data
Definition at line 164 of file MPU6050.cpp.
| int getGyroRawY | ( | void | ) |
Reads the gyro y-axis.
- Returns:
- 16-bit signed integer y-axis gyro data
Definition at line 172 of file MPU6050.cpp.
| int getGyroRawZ | ( | void | ) |
Reads the gyro z-axis.
- Returns:
- 16-bit signed integer z-axis gyro data
Definition at line 180 of file MPU6050.cpp.
| float getTemp | ( | void | ) |
Returns current temperature.
- Returns:
- float with the current temperature
Definition at line 231 of file MPU6050.cpp.
| int getTempRaw | ( | void | ) |
Reads temperature data.
- Returns:
- 16 bit signed integer with the raw temperature register value
Definition at line 223 of file MPU6050.cpp.
| char read | ( | char | adress ) |
Read data from the device, could be private, but public is handy so you can transmit directly to the MPU.
- Parameters:
-
adress - register address to write to
- Returns:
- - data from the register specified by RA
Definition at line 26 of file MPU6050.cpp.
| void read | ( | char | adress, |
| char * | data, | ||
| int | length | ||
| ) |
Read multtiple regigsters from the device, more efficient than using multiple normal reads.
- Parameters:
-
adress - register address to write to length - number of bytes to read data - pointer where the data needs to be written to
Definition at line 33 of file MPU6050.cpp.
| void setAcceleroRange | ( | char | range ) |
Sets the Accelero full-scale range.
Macros: MPU6050_ACCELERO_RANGE_2G - MPU6050_ACCELERO_RANGE_4G - MPU6050_ACCELERO_RANGE_8G - MPU6050_ACCELERO_RANGE_16G
- Parameters:
-
range - The two bits that set the full-scale range (use the predefined macros)
Definition at line 77 of file MPU6050.cpp.
| void setBW | ( | char | BW ) |
Sets the bandwidth of the digital low-pass filter.
Macros: MPU6050_BW_256 - MPU6050_BW_188 - MPU6050_BW_98 - MPU6050_BW_42 - MPU6050_BW_20 - MPU6050_BW_10 - MPU6050_BW_5 Last number is the gyro's BW in Hz (accelero BW is virtually identical)
- Parameters:
-
BW - The three bits that set the bandwidth (use the predefined macros)
Definition at line 54 of file MPU6050.cpp.
| void setGyroRange | ( | char | range ) |
Sets the Gyro full-scale range.
Macros: MPU6050_GYRO_RANGE_250 - MPU6050_GYRO_RANGE_500 - MPU6050_GYRO_RANGE_1000 - MPU6050_GYRO_RANGE_2000
- Parameters:
-
range - The two bits that set the full-scale range (use the predefined macros)
Definition at line 154 of file MPU6050.cpp.
| void setI2CBypass | ( | bool | state ) |
Sets the auxiliary I2C bus in bypass mode to read the sensors behind the MPU6050 (useful for eval board, otherwise just connect them to primary I2C bus)
- Parameters:
-
state - Enables/disables the I2C bypass mode
Definition at line 63 of file MPU6050.cpp.
| void setSleepMode | ( | bool | state ) |
Sets the sleep mode of the MPU6050.
- Parameters:
-
state - true for sleeping, false for wake up
Definition at line 38 of file MPU6050.cpp.
| bool testConnection | ( | void | ) |
Tests the I2C connection by reading the WHO_AM_I register.
- Returns:
- True for a working connection, false for an error
Definition at line 48 of file MPU6050.cpp.
| void write | ( | char | address, |
| char | data | ||
| ) |
Writes data to the device, could be private, but public is handy so you can transmit directly to the MPU.
- Parameters:
-
adress - register address to write to data - data to write
Definition at line 18 of file MPU6050.cpp.
Generated on Mon Jul 18 2022 19:59:34 by
1.7.2
