Go to the source code of this file.
Classes | |
| class | daisy::Icm20948I2CTransport |
| struct | daisy::Icm20948I2CTransport::Config |
| class | daisy::Icm20948SpiTransport |
| struct | daisy::Icm20948SpiTransport::Config |
| class | daisy::Icm20948< Transport > |
| Device support for ICM20948 IMU sensor. More... | |
| struct | daisy::Icm20948< Transport >::Config |
| struct | daisy::Icm20948< Transport >::Icm20948Vect |
Namespaces | |
| namespace | daisy |
| Hardware defines and helpers for daisy field platform. | |
Macros | |
| #define | DSY_ICM20948_H |
| #define | I2C_MASTER_RESETS_BEFORE_FAIL 5 |
| The number of times to try resetting a stuck I2C master before giving up. | |
| #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 | ICM20948_I2CADDR_DEFAULT 0x69 |
| ICM20948 default i2c address. | |
| #define | ICM20948_MAG_ID 0x09 |
| The chip ID for the magnetometer. | |
| #define | ICM20948_UT_PER_LSB 0.15 |
| mag data LSB value (fixed) | |
| #define | AK09916_WIA2 0x01 |
| Magnetometer. | |
| #define | AK09916_ST1 0x10 |
| Magnetometer. | |
| #define | AK09916_HXL 0x11 |
| Magnetometer. | |
| #define | AK09916_HXH 0x12 |
| Magnetometer. | |
| #define | AK09916_HYL 0x13 |
| Magnetometer. | |
| #define | AK09916_HYH 0x14 |
| Magnetometer. | |
| #define | AK09916_HZL 0x15 |
| Magnetometer. | |
| #define | AK09916_HZH 0x16 |
| Magnetometer. | |
| #define | AK09916_ST2 0x18 |
| Magnetometer. | |
| #define | AK09916_CNTL2 0x31 |
| Magnetometer. | |
| #define | AK09916_CNTL3 0x32 |
| Magnetometer. | |
| #define | SENSORS_GRAVITY_EARTH (9.80665F) |
| #define | SENSORS_DPS_TO_RADS (0.017453293F) |
Typedefs | |
| using | daisy::Icm20948I2C = Icm20948<Icm20948I2CTransport> |
| using | daisy::Icm20948Spi = Icm20948<Icm20948SpiTransport> |
| #define AK09916_CNTL2 0x31 |
Magnetometer.
| #define AK09916_CNTL3 0x32 |
Magnetometer.
| #define AK09916_HXH 0x12 |
Magnetometer.
| #define AK09916_HXL 0x11 |
Magnetometer.
| #define AK09916_HYH 0x14 |
Magnetometer.
| #define AK09916_HYL 0x13 |
Magnetometer.
| #define AK09916_HZH 0x16 |
Magnetometer.
| #define AK09916_HZL 0x15 |
Magnetometer.
| #define AK09916_ST1 0x10 |
Magnetometer.
| #define AK09916_ST2 0x18 |
Magnetometer.
| #define AK09916_WIA2 0x01 |
Magnetometer.
| #define DSY_ICM20948_H |
| #define I2C_MASTER_RESETS_BEFORE_FAIL 5 |
The number of times to try resetting a stuck I2C master before giving up.
| #define ICM20948_CHIP_ID 0xEA |
ICM20948 default device id from WHOAMI.
| #define ICM20948_I2CADDR_DEFAULT 0x69 |
ICM20948 default i2c address.
| #define ICM20948_MAG_ID 0x09 |
The chip ID for the magnetometer.
| #define ICM20948_UT_PER_LSB 0.15 |
mag data LSB value (fixed)
| #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_B0_I2C_MST_STATUS 0x17 |
Records if I2C master bus data is finished.
| #define ICM20X_B0_LP_CONFIG 0x05 |
Low Power config.
| #define ICM20X_B0_PWR_MGMT_1 0x06 |
primary power management register
| #define ICM20X_B0_REG_BANK_SEL 0x7F |
register bank selection 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_REG_INT_PIN_CFG 0xF |
Interrupt config register.
| #define ICM20X_B0_USER_CTRL 0x03 |
User Control Reg. Includes I2C Master.
| #define ICM20X_B0_WHOAMI 0x00 |
Chip ID register.
| #define ICM20X_B2_ACCEL_CONFIG_1 0x14 |
Accel config for setting range.
| #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_GYRO_CONFIG_1 0x01 |
Gyro config for range setting.
| #define ICM20X_B2_GYRO_SMPLRT_DIV 0x00 |
Gyroscope data rate divisor.
| #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_MST_ODR_CONFIG 0x0 |
Sets ODR for I2C master bus.
| #define ICM20X_B3_I2C_SLV0_ADDR 0x3 |
Sets I2C 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_SLV0_REG 0x4 |
Sets register address for I2C master bus slave 0.
| #define ICM20X_B3_I2C_SLV4_ADDR 0x13 |
Sets I2C 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_DI 0x17 |
Sets I2C master bus slave 4 data in.
| #define ICM20X_B3_I2C_SLV4_DO 0x16 |
Sets I2C master bus slave 4 data out.
| #define ICM20X_B3_I2C_SLV4_REG 0x14 |
Sets register address for I2C master bus slave 4.
| #define NUM_FINISHED_CHECKS 100 |
How many times to poll I2C_SLV4_DONE before giving up and resetting.
| #define SENSORS_DPS_TO_RADS (0.017453293F) |
| #define SENSORS_GRAVITY_EARTH (9.80665F) |