FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
API to handle MPU6050 3-axis gyroscope/accelerometer I2C chip. More...
#include <math.h>
#include <stdint.h>
#include "common_magneto.h"
#include "../array.h"
#include "../bits.h"
#include "../functors.h"
#include "../i2c_device.h"
#include "../i2c_device_utilities.h"
#include "../utilities.h"
Go to the source code of this file.
Classes | |
class | devices::magneto::FIFOEnable |
Configuration for MPU6050 FIFO Enable register (register map §4.6). More... | |
class | devices::magneto::INTStatus |
The structure of the Interrupt Status register (register map §4.16). More... | |
struct | devices::magneto::AllSensors |
Structure to store all MPU6050 sensors data (3 axis gyroscope and accelerometer, chip temperature). More... | |
class | devices::magneto::MPU6050< MANAGER > |
I2C device driver for the MPU6050 gyroscope/accelerometer chip. More... | |
class | devices::magneto::MPU6050< MANAGER >::BeginFuture |
Create a future to be used by asynchronous method begin(BeginFuture&). More... | |
class | devices::magneto::MPU6050< MANAGER >::FifoBeginFuture |
Create a future to be used by asynchronous method begin(FifoBeginFuture&). More... | |
class | devices::magneto::MPU6050< MANAGER >::EndFuture |
Create a future to be used by asynchronous method end(EndFuture&). More... | |
class | devices::magneto::MPU6050< MANAGER >::ResetFuture |
Create a future to be used by asynchronous method reset(ResetFuture&). More... | |
Namespaces | |
namespace | devices |
Defines all API for all external devices supported by FastArduino. | |
namespace | devices::magneto |
Defines API for magnetic sensors for direction, speed and acceleration properties. | |
Typedefs | |
using | devices::magneto::INTEnable = INTStatus |
The structure of the Interrupt Enable register (register map §4.15). More... | |
Enumerations | |
enum class | devices::magneto::GyroRange : uint8_t { RANGE_250 = 0 << 3 , RANGE_500 = 1 << 3 , RANGE_1000 = 2 << 3 , RANGE_2000 = 3 << 3 } |
The full-scale range of the gyroscope in dps (datasheet §6.1). More... | |
enum class | devices::magneto::AccelRange : uint8_t { RANGE_2G = 0 << 3 , RANGE_4G = 1 << 3 , RANGE_8G = 2 << 3 , RANGE_16G = 3 << 3 } |
The full-scale range of the accelerometer in g (datasheet §6.2). More... | |
enum class | devices::magneto::ClockSelect : uint8_t { INTERNAL_8MHZ = 0 , PLL_X_AXIS_GYRO = 1 , PLL_Y_AXIS_GYRO = 2 , PLL_Z_AXIS_GYRO = 3 , PLL_EXTERNAL_32KHZ = 4 , PLL_EXTERNAL_19MHZ = 5 , STOPPED = 7 } |
The clock to select for the chip (datasheet §6.6). More... | |
enum class | devices::magneto::DLPF : uint8_t { ACCEL_BW_260HZ = 0 , ACCEL_BW_184HZ = 1 , ACCEL_BW_94HZ = 2 , ACCEL_BW_44HZ = 3 , ACCEL_BW_21HZ = 4 , ACCEL_BW_10HZ = 5 , ACCEL_BW_5HZ = 6 , GYRO_BW_256HZ = 0 , GYRO_BW_188HZ = 1 , GYRO_BW_98HZ = 2 , GYRO_BW_42HZ = 3 , GYRO_BW_20HZ = 4 , GYRO_BW_10HZ = 5 , GYRO_BW_5HZ = 6 } |
The Digital Low Pass Filter bandwidth to select for the chip (register map §4.3). More... | |
enum class | devices::magneto::AD0 : uint8_t { devices::magneto::LOW = 0 , devices::magneto::HIGH = 1 } |
Possible values of I2C address lower bit for the chip (the chip may have one of two possible addresses, based on the level of pin AD0, datasheet §6.4, §7.1). More... | |
Functions | |
static constexpr uint16_t | devices::magneto::GYRO_RANGE_DPS (GyroRange range) |
Convert a GyroRange constant to the real gyroscope range in dps. More... | |
static constexpr uint16_t | devices::magneto::ACCEL_RANGE_G (AccelRange range) |
Convert an AccelRange constant to the real accelerometer range in g. More... | |
API to handle MPU6050 3-axis gyroscope/accelerometer I2C chip.
Definition in file mpu6050.h.