|
Adafruit ICM20X Sensor Library
|
#include "Arduino.h"#include <Adafruit_BusIO_Register.h>#include <Adafruit_I2CDevice.h>#include <Adafruit_Sensor.h>#include <Wire.h>Go to the source code of this file.
Classes | |
| class | Adafruit_ICM20X_Accelerometer |
| class | Adafruit_ICM20X_Gyro |
| class | Adafruit_ICM20X_Magnetometer |
| class | Adafruit_ICM20X_Temp |
| class | Adafruit_ICM20X |
| Class that stores state and functions for interacting with the ST ICM20X 6-DoF Accelerometer and Gyro. More... | |
Macros | |
| #define | I2C_MASTER_RESETS_BEFORE_FAIL 5 |
| up More... | |
| #define | NUM_FINISHED_CHECKS 100 |
| How many times to poll I2C_SLV4_DONE before giving up and resetting. | |
| #define | ICM20X_B0_WHOAMI 0x00 |
| Chip ID register. | |
| #define | ICM20X_B0_USER_CTRL 0x03 |
| User Control Reg. Includes I2C Master. | |
| #define | ICM20X_B0_LP_CONFIG 0x05 |
| Low Power config. | |
| #define | ICM20X_B0_REG_INT_PIN_CFG 0xF |
| Interrupt config register. | |
| #define | ICM20X_B0_REG_INT_ENABLE 0x10 |
| Interrupt enable register 0. | |
| #define | ICM20X_B0_REG_INT_ENABLE_1 0x11 |
| Interrupt enable register 1. | |
| #define | ICM20X_B0_I2C_MST_STATUS 0x17 |
| Records if I2C master bus data is finished. | |
| #define | ICM20X_B0_REG_BANK_SEL 0x7F |
| register bank selection register | |
| #define | ICM20X_B0_PWR_MGMT_1 0x06 |
| primary power management register | |
| #define | ICM20X_B0_ACCEL_XOUT_H 0x2D |
| first byte of accel data | |
| #define | ICM20X_B0_GYRO_XOUT_H 0x33 |
| first byte of accel data | |
| #define | ICM20X_B2_GYRO_SMPLRT_DIV 0x00 |
| Gyroscope data rate divisor. | |
| #define | ICM20X_B2_GYRO_CONFIG_1 0x01 |
| Gyro config for range setting. | |
| #define | ICM20X_B2_ACCEL_SMPLRT_DIV_1 0x10 |
| Accel data rate divisor MSByte. | |
| #define | ICM20X_B2_ACCEL_SMPLRT_DIV_2 0x11 |
| Accel data rate divisor LSByte. | |
| #define | ICM20X_B2_ACCEL_CONFIG_1 0x14 |
| Accel config for setting range. | |
| #define | ICM20X_B3_I2C_MST_ODR_CONFIG 0x0 |
| Sets ODR for I2C master bus. | |
| #define | ICM20X_B3_I2C_MST_CTRL 0x1 |
| I2C master bus config. | |
| #define | ICM20X_B3_I2C_MST_DELAY_CTRL 0x2 |
| I2C master bus config. | |
| #define | ICM20X_B3_I2C_SLV0_ADDR 0x3 |
| Sets I2C address for I2C master bus slave 0. | |
| #define | ICM20X_B3_I2C_SLV0_REG 0x4 |
| Sets register address for I2C master bus slave 0. | |
| #define | ICM20X_B3_I2C_SLV0_CTRL 0x5 |
| Controls for I2C master bus slave 0. | |
| #define | ICM20X_B3_I2C_SLV0_DO 0x6 |
| Sets I2C master bus slave 0 data out. | |
| #define | ICM20X_B3_I2C_SLV4_ADDR 0x13 |
| Sets I2C address for I2C master bus slave 4. | |
| #define | ICM20X_B3_I2C_SLV4_REG 0x14 |
| Sets register address for I2C master bus slave 4. | |
| #define | ICM20X_B3_I2C_SLV4_CTRL 0x15 |
| Controls for I2C master bus slave 4. | |
| #define | ICM20X_B3_I2C_SLV4_DO 0x16 |
| Sets I2C master bus slave 4 data out. | |
| #define | ICM20X_B3_I2C_SLV4_DI 0x17 |
| Sets I2C master bus slave 4 data in. | |
| #define | ICM20948_CHIP_ID 0xEA |
| ICM20948 default device id from WHOAMI. | |
| #define | ICM20649_CHIP_ID 0xE1 |
| ICM20649 default device id from WHOAMI. | |
Enumerations | |
| enum | icm20x_accel_cutoff_t { ICM20X_ACCEL_FREQ_246_0_HZ = 0x1, ICM20X_ACCEL_FREQ_111_4_HZ = 0x2, ICM20X_ACCEL_FREQ_50_4_HZ = 0x3, ICM20X_ACCEL_FREQ_23_9_HZ = 0x4, ICM20X_ACCEL_FREQ_11_5_HZ = 0x5, ICM20X_ACCEL_FREQ_5_7_HZ = 0x6, ICM20X_ACCEL_FREQ_473_HZ = 0x7 } |
| enum | icm20x_gyro_cutoff_t { ICM20X_GYRO_FREQ_196_6_HZ = 0x0, ICM20X_GYRO_FREQ_151_8_HZ = 0x1, ICM20X_GYRO_FREQ_119_5_HZ = 0x2, ICM20X_GYRO_FREQ_51_2_HZ = 0x3, ICM20X_GYRO_FREQ_23_9_HZ = 0x4, ICM20X_GYRO_FREQ_11_6_HZ = 0x5, ICM20X_GYRO_FREQ_5_7_HZ = 0x6, ICM20X_GYRO_FREQ_361_4_HZ = 0x7 } |
I2C Driver for the Adafruit ICM20X 6-DoF Wide-Range Accelerometer and Gyro library
This is a library for the Adafruit ICM20X breakouts: https://www.adafruit.com/product/4464 https://www.adafruit.com/product/4554 Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing products from Adafruit!
BSD license (see license.txt)
| #define I2C_MASTER_RESETS_BEFORE_FAIL 5 |
up
The number of times to try resetting a stuck I2C master before giving
Options for enableAccelDLPF
| enum icm20x_gyro_cutoff_t |
Options for enableGyroDLPF
1.8.13