Master Thesis  V1.0
Research and Design of Sensor Node for NMSD Treatment
pinout.h File Reference

File to keep track of most the pins used, pins for BLE are in own file BLE.h. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DIY   1
 
#define LED_PORT   gpioPortC
 
#define LED_PIN   10
 
#define ICM_20948_I2C_ADDRESS   ( 0x69 << 1 )
 
#define ICM_20948_POWER_PIN   4
 
#define ICM_20948_POWER_PORT   gpioPortF
 
#define ICM_20948_INTERRUPT_PIN   2
 
#define ICM_20948_INTERRUPT_PORT   gpioPortC
 
#define ICM_20948_OK   0x0000
 
#define ICM_20948_ERROR_INVALID_DEVICE_ID   0x0001
 
#define ICM_20948_WHO_AM_I   0x00
 
#define ICM_20948_CS_PIN   4
 
#define ICM_20948_CS_PORT   gpioPortD
 
#define ICM_20948_CLK_PIN   12
 
#define ICM_20948_CLK_PORT   gpioPortE
 
#define ICM_20948_MISO_PIN   11
 
#define ICM_20948_MISO_PORT   gpioPortE
 
#define ICM_20948_MOSI_PIN   10
 
#define ICM_20948_MOSI_PORT   gpioPortE
 
#define ICM_20948_SDA_PORT   gpioPortD
 
#define ICM_20948_SDA_PIN   6
 
#define ICM_20948_SCL_PORT   gpioPortD
 
#define ICM_20948_SCL_PIN   7
 
#define SPI   USART0
 
#define SPI_PACKET_LENGTH   8
 
#define ICM_20948_REG_BANK_SEL   0x7F
 
#define ICM_20948_BANK_0   ( 0 << 7 )
 
#define ICM_20948_BANK_1   ( 1 << 7 )
 
#define ICM_20948_BANK_2   ( 2 << 7 )
 
#define ICM_20948_BANK_3   ( 3 << 7 )
 
#define ACCEL_XOUT_H   ( ICM_20948_BANK_0 | 0x2D )
 
#define ACCEL_XOUT_L   ( ICM_20948_BANK_0 | 0x2E )
 
#define ACCEL_YOUT_H   ( ICM_20948_BANK_0 | 0x2F )
 
#define ACCEL_YOUT_L   ( ICM_20948_BANK_0 | 0x30 )
 
#define ACCEL_ZOUT_H   ( ICM_20948_BANK_0 | 0x31 )
 
#define ACCEL_ZOUT_L   ( ICM_20948_BANK_0 | 0x32 )
 
#define GYRO_XOUT_H   ( ICM_20948_BANK_0 | 0x33 )
 
#define GYRO_XOUT_L   ( ICM_20948_BANK_0 | 0x34 )
 
#define GYRO_YOUT_H   ( ICM_20948_BANK_0 | 0x35 )
 
#define GYRO_YOUT_L   ( ICM_20948_BANK_0 | 0x36 )
 
#define GYRO_ZOUT_H   ( ICM_20948_BANK_0 | 0x37 )
 
#define GYRO_ZOUT_L   ( ICM_20948_BANK_0 | 0x38 )
 
#define TEMP_OUT_H   ( ICM_20948_BANK_0 | 0x39 )
 
#define TEMP_OUT_L   ( ICM_20948_BANK_0 | 0x3A )
 
#define ICM_20948_SHIFT_GYRO_FS_SEL   1
 
#define ICM_20948_GYRO_FULLSCALE_250DPS   (0x00 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_500DPS   (0x01 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_1000DPS   (0x02 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_2000DPS   (0x03 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_REG_GYRO_CONFIG_1   (ICM_20948_BANK_2 | 0x01)
 
#define ICM_20948_MASK_GYRO_FULLSCALE   0x06
 
#define ICM_20948_REG_INT_STATUS   (ICM_20948_BANK_0 | 0x19)
 
#define ICM_20948_BIT_WOM_INT   0x08
 
#define ICM_20948_REG_INT_ENABLE   (ICM_20948_BANK_0 | 0x10)
 
#define ICM_20948_BIT_WOM_INT_EN   0x08
 
#define ICM_20948_REG_INT_ENABLE_1   (ICM_20948_BANK_0 | 0x11)
 
#define ICM_20948_BIT_RAW_DATA_0_RDY_EN   0x01
 
#define ICM_20948_REG_WHO_AM_I   (ICM_20948_BANK_0 | 0x00)
 
#define ICM_20948_REG_USER_CTRL   (ICM_20948_BANK_0 | 0x03)
 
#define ICM_20948_BIT_DMP_EN   0x80
 
#define ICM_20948_BIT_FIFO_EN   0x40
 
#define ICM_20948_BIT_I2C_MST_EN   0x20
 
#define ICM_20948_BIT_I2C_IF_DIS   0x10
 
#define ICM_20948_BIT_DMP_RST   0x08
 
#define ICM_20948_BIT_DIAMOND_DMP_RST   0x04
 
#define ICM_20948_REG_LP_CONFIG   (ICM_20948_BANK_0 | 0x05)
 
#define ICM_20948_BIT_I2C_MST_CYCLE   0x40
 
#define ICM_20948_BIT_ACCEL_CYCLE   0x20
 
#define ICM_20948_BIT_GYRO_CYCLE   0x10
 
#define ICM_20948_REG_PWR_MGMT_1   (ICM_20948_BANK_0 | 0x06)
 
#define ICM_20948_BIT_H_RESET   0x80
 
#define ICM_20948_BIT_SLEEP   0x40
 
#define ICM_20948_BIT_LP_EN   0x20
 
#define ICM_20948_BIT_TEMP_DIS   0x08
 
#define ICM_20948_BIT_CLK_PLL   0x01
 
#define ICM_20948_REG_PWR_MGMT_2   (ICM_20948_BANK_0 | 0x07)
 
#define ICM_20948_BIT_PWR_ACCEL_STBY   0x38
 
#define ICM_20948_BIT_PWR_GYRO_STBY   0x07
 
#define ICM_20948_BIT_PWR_ALL_OFF   0x7F
 
#define ICM_20948_REG_INT_PIN_CFG   (ICM_20948_BANK_0 | 0x0F)
 
#define ICM_20948_BIT_INT_ACTL   0x80
 
#define ICM_20948_BIT_INT_OPEN   0x40
 
#define ICM_20948_BIT_INT_LATCH_EN   0x20
 
#define ICM_20948_REG_INT_ENABLE   (ICM_20948_BANK_0 | 0x10)
 
#define ICM_20948_BIT_WOM_INT_EN   0x08
 
#define ICM_20948_REG_INT_ENABLE_1   (ICM_20948_BANK_0 | 0x11)
 
#define ICM_20948_BIT_RAW_DATA_0_RDY_EN   0x01
 
#define ICM_20948_REG_INT_ENABLE_2   (ICM_20948_BANK_0 | 0x12)
 
#define ICM_20948_BIT_FIFO_OVERFLOW_EN_0   0x01
 
#define ICM_20948_REG_INT_ENABLE_3   (ICM_20948_BANK_0 | 0x13)
 
#define ICM_20948_REG_I2C_MST_STATUS   (ICM_20948_BANK_0 | 0x17)
 
#define ICM_20948_BIT_PASS_THROUGH   0x80
 
#define ICM_20948_BIT_SLV4_DONE   0x40
 
#define ICM_20948_BIT_LOST_ARB   0x20
 
#define ICM_20948_BIT_SLV4_NACK   0x10
 
#define ICM_20948_BIT_SLV3_NACK   0x08
 
#define ICM_20948_BIT_SLV2_NACK   0x04
 
#define ICM_20948_BIT_SLV1_NACK   0x02
 
#define ICM_20948_BIT_SLV0_NACK   0x01
 
#define ICM_20948_REG_INT_STATUS   (ICM_20948_BANK_0 | 0x19)
 
#define ICM_20948_BIT_WOM_INT   0x08
 
#define ICM_20948_BIT_PLL_RDY   0x04
 
#define ICM_20948_REG_INT_STATUS_1   (ICM_20948_BANK_0 | 0x1A)
 
#define ICM_20948_BIT_RAW_DATA_0_RDY_INT   0x01
 
#define ICM_20948_REG_INT_STATUS_2   (ICM_20948_BANK_0 | 0x1B)
 
#define ICM_20948_REG_ACCEL_XOUT_H_SH   (ICM_20948_BANK_0 | 0x2D)
 
#define ICM_20948_REG_ACCEL_XOUT_L_SH   (ICM_20948_BANK_0 | 0x2E)
 
#define ICM_20948_REG_ACCEL_YOUT_H_SH   (ICM_20948_BANK_0 | 0x2F)
 
#define ICM_20948_REG_ACCEL_YOUT_L_SH   (ICM_20948_BANK_0 | 0x30)
 
#define ICM_20948_REG_ACCEL_ZOUT_H_SH   (ICM_20948_BANK_0 | 0x31)
 
#define ICM_20948_REG_ACCEL_ZOUT_L_SH   (ICM_20948_BANK_0 | 0x32)
 
#define ICM_20948_REG_GYRO_XOUT_H_SH   (ICM_20948_BANK_0 | 0x33)
 
#define ICM_20948_REG_GYRO_XOUT_L_SH   (ICM_20948_BANK_0 | 0x34)
 
#define ICM_20948_REG_GYRO_YOUT_H_SH   (ICM_20948_BANK_0 | 0x35)
 
#define ICM_20948_REG_GYRO_YOUT_L_SH   (ICM_20948_BANK_0 | 0x36)
 
#define ICM_20948_REG_GYRO_ZOUT_H_SH   (ICM_20948_BANK_0 | 0x37)
 
#define ICM_20948_REG_GYRO_ZOUT_L_SH   (ICM_20948_BANK_0 | 0x38)
 
#define ICM_20948_REG_TEMPERATURE_H   (ICM_20948_BANK_0 | 0x39)
 
#define ICM_20948_REG_TEMPERATURE_L   (ICM_20948_BANK_0 | 0x3A)
 
#define ICM_20948_REG_TEMP_CONFIG   (ICM_20948_BANK_0 | 0x53)
 
#define ICM_20948_REG_FIFO_EN_1   (ICM_20948_BANK_0 | 0x66)
 
#define ICM_20948_REG_FIFO_EN_2   (ICM_20948_BANK_0 | 0x67)
 
#define ICM_20948_BIT_ACCEL_FIFO_EN   0x10
 
#define ICM_20948_BITS_GYRO_FIFO_EN   0x0E
 
#define ICM_20948_REG_FIFO_RST   (ICM_20948_BANK_0 | 0x68)
 
#define ICM_20948_REG_FIFO_MODE   (ICM_20948_BANK_0 | 0x69)
 
#define ICM_20948_REG_FIFO_COUNT_H   (ICM_20948_BANK_0 | 0x70)
 
#define ICM_20948_REG_FIFO_COUNT_L   (ICM_20948_BANK_0 | 0x71)
 
#define ICM_20948_REG_FIFO_R_W   (ICM_20948_BANK_0 | 0x72)
 
#define ICM_20948_REG_DATA_RDY_STATUS   (ICM_20948_BANK_0 | 0x74)
 
#define ICM_20948_BIT_RAW_DATA_0_RDY   0x01
 
#define ICM_20948_REG_FIFO_CFG   (ICM_20948_BANK_0 | 0x76)
 
#define ICM_20948_BIT_MULTI_FIFO_CFG   0x01
 
#define ICM_20948_BIT_SINGLE_FIFO_CFG   0x00
 
#define ICM_20948_REG_XA_OFFSET_H   (ICM_20948_BANK_1 | 0x14)
 
#define ICM_20948_REG_XA_OFFSET_L   (ICM_20948_BANK_1 | 0x15)
 
#define ICM_20948_REG_YA_OFFSET_H   (ICM_20948_BANK_1 | 0x17)
 
#define ICM_20948_REG_YA_OFFSET_L   (ICM_20948_BANK_1 | 0x18)
 
#define ICM_20948_REG_ZA_OFFSET_H   (ICM_20948_BANK_1 | 0x1A)
 
#define ICM_20948_REG_ZA_OFFSET_L   (ICM_20948_BANK_1 | 0x1B)
 
#define ICM_20948_REG_TIMEBASE_CORR_PLL   (ICM_20948_BANK_1 | 0x28)
 
#define ICM_20948_REG_GYRO_SMPLRT_DIV   (ICM_20948_BANK_2 | 0x00)
 
#define ICM_20948_REG_GYRO_CONFIG_1   (ICM_20948_BANK_2 | 0x01)
 
#define ICM_20948_BIT_GYRO_FCHOICE   0x01
 
#define ICM_20948_SHIFT_GYRO_FS_SEL   1
 
#define ICM_20948_SHIFT_GYRO_DLPCFG   3
 
#define ICM_20948_MASK_GYRO_FULLSCALE   0x06
 
#define ICM_20948_MASK_GYRO_BW   0x39
 
#define ICM_20948_GYRO_FULLSCALE_250DPS   (0x00 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_500DPS   (0x01 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_1000DPS   (0x02 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_FULLSCALE_2000DPS   (0x03 << ICM_20948_SHIFT_GYRO_FS_SEL)
 
#define ICM_20948_GYRO_BW_12100HZ   (0x00 << ICM_20948_SHIFT_GYRO_DLPCFG)
 
#define ICM_20948_GYRO_BW_360HZ   ( (0x07 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_200HZ   ( (0x00 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_150HZ   ( (0x01 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_120HZ   ( (0x02 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_51HZ   ( (0x03 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_24HZ   ( (0x04 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_12HZ   ( (0x05 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_GYRO_BW_6HZ   ( (0x06 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)
 
#define ICM_20948_REG_GYRO_CONFIG_2   (ICM_20948_BANK_2 | 0x02)
 
#define ICM_20948_BIT_GYRO_CTEN   0x38
 
#define ICM_20948_REG_XG_OFFS_USRH   (ICM_20948_BANK_2 | 0x03)
 
#define ICM_20948_REG_XG_OFFS_USRL   (ICM_20948_BANK_2 | 0x04)
 
#define ICM_20948_REG_YG_OFFS_USRH   (ICM_20948_BANK_2 | 0x05)
 
#define ICM_20948_REG_YG_OFFS_USRL   (ICM_20948_BANK_2 | 0x06)
 
#define ICM_20948_REG_ZG_OFFS_USRH   (ICM_20948_BANK_2 | 0x07)
 
#define ICM_20948_REG_ZG_OFFS_USRL   (ICM_20948_BANK_2 | 0x08)
 
#define ICM_20948_REG_ODR_ALIGN_EN   (ICM_20948_BANK_2 | 0x09)
 
#define ICM_20948_REG_ACCEL_SMPLRT_DIV_1   (ICM_20948_BANK_2 | 0x10)
 
#define ICM_20948_REG_ACCEL_SMPLRT_DIV_2   (ICM_20948_BANK_2 | 0x11)
 
#define ICM_20948_REG_ACCEL_INTEL_CTRL   (ICM_20948_BANK_2 | 0x12)
 
#define ICM_20948_BIT_ACCEL_INTEL_EN   0x02
 
#define ICM_20948_BIT_ACCEL_INTEL_MODE   0x01
 
#define ICM_20948_REG_ACCEL_WOM_THR   (ICM_20948_BANK_2 | 0x13)
 
#define ICM_20948_REG_ACCEL_CONFIG   (ICM_20948_BANK_2 | 0x14)
 
#define ICM_20948_BIT_ACCEL_FCHOICE   0x01
 
#define ICM_20948_SHIFT_ACCEL_FS   1
 
#define ICM_20948_SHIFT_ACCEL_DLPCFG   3
 
#define ICM_20948_MASK_ACCEL_FULLSCALE   0x06
 
#define ICM_20948_MASK_ACCEL_BW   0x39
 
#define ICM_20948_ACCEL_FULLSCALE_2G   (0x00 << ICM_20948_SHIFT_ACCEL_FS)
 
#define ICM_20948_ACCEL_FULLSCALE_4G   (0x01 << ICM_20948_SHIFT_ACCEL_FS)
 
#define ICM_20948_ACCEL_FULLSCALE_8G   (0x02 << ICM_20948_SHIFT_ACCEL_FS)
 
#define ICM_20948_ACCEL_FULLSCALE_16G   (0x03 << ICM_20948_SHIFT_ACCEL_FS)
 
#define ICM_20948_ACCEL_BW_1210HZ   (0x00 << ICM_20948_SHIFT_ACCEL_DLPCFG)
 
#define ICM_20948_ACCEL_BW_470HZ   ( (0x07 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_246HZ   ( (0x00 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_111HZ   ( (0x02 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_50HZ   ( (0x03 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_24HZ   ( (0x04 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_12HZ   ( (0x05 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_ACCEL_BW_6HZ   ( (0x06 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)
 
#define ICM_20948_REG_ACCEL_CONFIG_2   (ICM_20948_BANK_2 | 0x15)
 
#define ICM_20948_BIT_ACCEL_CTEN   0x1C
 
#define ICM_20948_REG_I2C_MST_ODR_CONFIG   (ICM_20948_BANK_3 | 0x00)
 
#define ICM_20948_REG_I2C_MST_CTRL   (ICM_20948_BANK_3 | 0x01)
 
#define ICM_20948_BIT_I2C_MST_P_NSR   0x10
 
#define ICM_20948_REG_I2C_MST_DELAY_CTRL   (ICM_20948_BANK_3 | 0x02)
 
#define ICM_20948_BIT_SLV0_DLY_EN   0x01
 
#define ICM_20948_BIT_SLV1_DLY_EN   0x02
 
#define ICM_20948_BIT_SLV2_DLY_EN   0x04
 
#define ICM_20948_BIT_SLV3_DLY_EN   0x08
 
#define ICM_20948_REG_I2C_SLV0_ADDR   (ICM_20948_BANK_3 | 0x03)
 
#define ICM_20948_REG_I2C_SLV0_REG   (ICM_20948_BANK_3 | 0x04)
 
#define ICM_20948_REG_I2C_SLV0_CTRL   (ICM_20948_BANK_3 | 0x05)
 
#define ICM_20948_REG_I2C_SLV0_DO   (ICM_20948_BANK_3 | 0x06)
 
#define ICM_20948_REG_I2C_SLV1_ADDR   (ICM_20948_BANK_3 | 0x07)
 
#define ICM_20948_REG_I2C_SLV1_REG   (ICM_20948_BANK_3 | 0x08)
 
#define ICM_20948_REG_I2C_SLV1_CTRL   (ICM_20948_BANK_3 | 0x09)
 
#define ICM_20948_REG_I2C_SLV1_DO   (ICM_20948_BANK_3 | 0x0A)
 
#define ICM_20948_REG_I2C_SLV2_ADDR   (ICM_20948_BANK_3 | 0x0B)
 
#define ICM_20948_REG_I2C_SLV2_REG   (ICM_20948_BANK_3 | 0x0C)
 
#define ICM_20948_REG_I2C_SLV2_CTRL   (ICM_20948_BANK_3 | 0x0D)
 
#define ICM_20948_REG_I2C_SLV2_DO   (ICM_20948_BANK_3 | 0x0E)
 
#define ICM_20948_REG_I2C_SLV3_ADDR   (ICM_20948_BANK_3 | 0x0F)
 
#define ICM_20948_REG_I2C_SLV3_REG   (ICM_20948_BANK_3 | 0x10)
 
#define ICM_20948_REG_I2C_SLV3_CTRL   (ICM_20948_BANK_3 | 0x11)
 
#define ICM_20948_REG_I2C_SLV3_DO   (ICM_20948_BANK_3 | 0x12)
 
#define ICM_20948_REG_I2C_SLV4_ADDR   (ICM_20948_BANK_3 | 0x13)
 
#define ICM_20948_REG_I2C_SLV4_REG   (ICM_20948_BANK_3 | 0x14)
 
#define ICM_20948_REG_I2C_SLV4_CTRL   (ICM_20948_BANK_3 | 0x15)
 
#define ICM_20948_REG_I2C_SLV4_DO   (ICM_20948_BANK_3 | 0x16)
 
#define ICM_20948_REG_I2C_SLV4_DI   (ICM_20948_BANK_3 | 0x17)
 
#define ICM_20948_BIT_I2C_SLV_EN   0x80
 
#define ICM_20948_BIT_I2C_BYTE_SW   0x40
 
#define ICM_20948_BIT_I2C_REG_DIS   0x20
 
#define ICM_20948_BIT_I2C_GRP   0x10
 
#define ICM_20948_BIT_I2C_READ   0x80
 
#define ICM_20948_REG_BANK_SEL   0x7F
 
#define ICM_20948_DEVICE_ID   0xE0
 
#define ICM20948_DEVICE_ID   0xEA
 
#define ICM_20948_I2C_MST_CTRL_CLK_400KHZ   0x07
 
#define ICM_20948_REG_EXT_SLV_SENS_DATA_00   (ICM_20948_BANK_0 | 0x3B)
 
#define ICM_20948_BIT_I2C_SLV_READ   0x80
 
#define AK09916_REG_WHO_AM_I   0x01
 
#define AK09916_DEVICE_ID   0x09
 
#define AK09916_REG_STATUS_1   0x10
 
#define AK09916_BIT_DRDY   0x01
 
#define AK09916_BIT_DOR   0x02
 
#define AK09916_REG_HXL   0x11
 
#define AK09916_REG_HXH   0x12
 
#define AK09916_REG_HYL   0x13
 
#define AK09916_REG_HYH   0x14
 
#define AK09916_REG_HZL   0x15
 
#define AK09916_REG_HZH   0x16
 
#define AK09916_REG_STATUS_2   0x18
 
#define AK09916_REG_CONTROL_2   0x31
 
#define AK09916_BIT_MODE_POWER_DOWN   0x00
 
#define AK09916_MODE_SINGLE   0x01
 
#define AK09916_MODE_10HZ   0x02
 
#define AK09916_MODE_20HZ   0x04
 
#define AK09916_MODE_50HZ   0x06
 
#define AK09916_MODE_100HZ   0x08
 
#define AK09916_MODE_ST   0x16
 
#define AK09916_REG_CONTROL_3   0x32
 
#define AK09916_BIT_SRST   0x01
 
#define AK09916_REG_WHO_AM_I   0x01
 
#define AK09916_BIT_I2C_SLV_ADDR   0x0C
 
#define ERROR   0x0001
 
#define OK   0x0000
 

Detailed Description

File to keep track of most the pins used, pins for BLE are in own file BLE.h.

Declaration of PINS and CONSTANTS

Version
1.0
Author
Jona Cappelle

Definition in file pinout.h.

Macro Definition Documentation

◆ ACCEL_XOUT_H

#define ACCEL_XOUT_H   ( ICM_20948_BANK_0 | 0x2D )

Accelerometer output register x high bits

Definition at line 75 of file pinout.h.

◆ ACCEL_XOUT_L

#define ACCEL_XOUT_L   ( ICM_20948_BANK_0 | 0x2E )

Accelerometer output register x low bits

Definition at line 76 of file pinout.h.

◆ ACCEL_YOUT_H

#define ACCEL_YOUT_H   ( ICM_20948_BANK_0 | 0x2F )

Accelerometer output register y high bits

Definition at line 77 of file pinout.h.

◆ ACCEL_YOUT_L

#define ACCEL_YOUT_L   ( ICM_20948_BANK_0 | 0x30 )

Accelerometer output register y low bits

Definition at line 78 of file pinout.h.

◆ ACCEL_ZOUT_H

#define ACCEL_ZOUT_H   ( ICM_20948_BANK_0 | 0x31 )

Accelerometer output register z high bits

Definition at line 79 of file pinout.h.

◆ ACCEL_ZOUT_L

#define ACCEL_ZOUT_L   ( ICM_20948_BANK_0 | 0x32 )

Accelerometer output register z low bits

Definition at line 80 of file pinout.h.

◆ AK09916_BIT_DOR

#define AK09916_BIT_DOR   0x02

Data Overrun bit

Definition at line 372 of file pinout.h.

◆ AK09916_BIT_DRDY

#define AK09916_BIT_DRDY   0x01

Data Ready bit

Definition at line 371 of file pinout.h.

◆ AK09916_BIT_I2C_SLV_ADDR

#define AK09916_BIT_I2C_SLV_ADDR   0x0C

AK09916 I2C Slave Address

Definition at line 396 of file pinout.h.

◆ AK09916_BIT_MODE_POWER_DOWN

#define AK09916_BIT_MODE_POWER_DOWN   0x00

Power-down

Definition at line 384 of file pinout.h.

◆ AK09916_BIT_SRST

#define AK09916_BIT_SRST   0x01

Soft Reset bit

Definition at line 393 of file pinout.h.

◆ AK09916_DEVICE_ID

#define AK09916_DEVICE_ID   0x09

AK09916 Device ID value

Definition at line 368 of file pinout.h.

◆ AK09916_MODE_100HZ

#define AK09916_MODE_100HZ   0x08

Magnetometer Measurement Rate = 100HZ

Definition at line 389 of file pinout.h.

◆ AK09916_MODE_10HZ

#define AK09916_MODE_10HZ   0x02

Magnetometer Measurement Rate = 10HZ

Definition at line 386 of file pinout.h.

◆ AK09916_MODE_20HZ

#define AK09916_MODE_20HZ   0x04

Magnetometer Measurement Rate = 20HZ

Definition at line 387 of file pinout.h.

◆ AK09916_MODE_50HZ

#define AK09916_MODE_50HZ   0x06

Magnetometer Measurement Rate = 50HZ

Definition at line 388 of file pinout.h.

◆ AK09916_MODE_SINGLE

#define AK09916_MODE_SINGLE   0x01

Magnetometer takes one measurement

Definition at line 385 of file pinout.h.

◆ AK09916_MODE_ST

#define AK09916_MODE_ST   0x16

Self-test

Definition at line 390 of file pinout.h.

◆ AK09916_REG_CONTROL_2

#define AK09916_REG_CONTROL_2   0x31

Control 2 register

Definition at line 383 of file pinout.h.

◆ AK09916_REG_CONTROL_3

#define AK09916_REG_CONTROL_3   0x32

Control 3 register

Definition at line 392 of file pinout.h.

◆ AK09916_REG_HXH

#define AK09916_REG_HXH   0x12

Magnetometer X-axis data higher byte

Definition at line 375 of file pinout.h.

◆ AK09916_REG_HXL

#define AK09916_REG_HXL   0x11

Magnetometer X-axis data lower byte

Definition at line 374 of file pinout.h.

◆ AK09916_REG_HYH

#define AK09916_REG_HYH   0x14

Magnetometer Y-axis data higher byte

Definition at line 377 of file pinout.h.

◆ AK09916_REG_HYL

#define AK09916_REG_HYL   0x13

Magnetometer Y-axis data lower byte

Definition at line 376 of file pinout.h.

◆ AK09916_REG_HZH

#define AK09916_REG_HZH   0x16

Magnetometer Z-axis data higher byte

Definition at line 379 of file pinout.h.

◆ AK09916_REG_HZL

#define AK09916_REG_HZL   0x15

Magnetometer Z-axis data lower byte

Definition at line 378 of file pinout.h.

◆ AK09916_REG_STATUS_1

#define AK09916_REG_STATUS_1   0x10

Status 1 register

Definition at line 370 of file pinout.h.

◆ AK09916_REG_STATUS_2

#define AK09916_REG_STATUS_2   0x18

Status 2 register

Definition at line 381 of file pinout.h.

◆ AK09916_REG_WHO_AM_I [1/2]

#define AK09916_REG_WHO_AM_I   0x01

AK09916 Device ID register

Definition at line 395 of file pinout.h.

◆ AK09916_REG_WHO_AM_I [2/2]

#define AK09916_REG_WHO_AM_I   0x01

AK09916 Device ID register

Definition at line 395 of file pinout.h.

◆ DIY

#define DIY   1

Definition at line 15 of file pinout.h.

◆ ERROR

#define ERROR   0x0001

Error code

Definition at line 401 of file pinout.h.

◆ GYRO_XOUT_H

#define GYRO_XOUT_H   ( ICM_20948_BANK_0 | 0x33 )

Gyroscope output register x high bits

Definition at line 82 of file pinout.h.

◆ GYRO_XOUT_L

#define GYRO_XOUT_L   ( ICM_20948_BANK_0 | 0x34 )

Gyroscope output register x low bits

Definition at line 83 of file pinout.h.

◆ GYRO_YOUT_H

#define GYRO_YOUT_H   ( ICM_20948_BANK_0 | 0x35 )

Gyroscope output register y high bits

Definition at line 84 of file pinout.h.

◆ GYRO_YOUT_L

#define GYRO_YOUT_L   ( ICM_20948_BANK_0 | 0x36 )

Gyroscope output register y low bits

Definition at line 85 of file pinout.h.

◆ GYRO_ZOUT_H

#define GYRO_ZOUT_H   ( ICM_20948_BANK_0 | 0x37 )

Gyroscope output register z high bits

Definition at line 86 of file pinout.h.

◆ GYRO_ZOUT_L

#define GYRO_ZOUT_L   ( ICM_20948_BANK_0 | 0x38 )

Gyroscope output register z low bits

Definition at line 87 of file pinout.h.

◆ ICM20948_DEVICE_ID

#define ICM20948_DEVICE_ID   0xEA

ICM20948 Device ID value

Definition at line 351 of file pinout.h.

◆ ICM_20948_ACCEL_BW_111HZ

#define ICM_20948_ACCEL_BW_111HZ   ( (0x02 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 111 Hz

Definition at line 290 of file pinout.h.

◆ ICM_20948_ACCEL_BW_1210HZ

#define ICM_20948_ACCEL_BW_1210HZ   (0x00 << ICM_20948_SHIFT_ACCEL_DLPCFG)

Accel Bandwidth = 1210 Hz

Definition at line 287 of file pinout.h.

◆ ICM_20948_ACCEL_BW_12HZ

#define ICM_20948_ACCEL_BW_12HZ   ( (0x05 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 12 Hz

Definition at line 293 of file pinout.h.

◆ ICM_20948_ACCEL_BW_246HZ

#define ICM_20948_ACCEL_BW_246HZ   ( (0x00 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 246 Hz

Definition at line 289 of file pinout.h.

◆ ICM_20948_ACCEL_BW_24HZ

#define ICM_20948_ACCEL_BW_24HZ   ( (0x04 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 24 Hz

Definition at line 292 of file pinout.h.

◆ ICM_20948_ACCEL_BW_470HZ

#define ICM_20948_ACCEL_BW_470HZ   ( (0x07 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 470 Hz

Definition at line 288 of file pinout.h.

◆ ICM_20948_ACCEL_BW_50HZ

#define ICM_20948_ACCEL_BW_50HZ   ( (0x03 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 50 Hz

Definition at line 291 of file pinout.h.

◆ ICM_20948_ACCEL_BW_6HZ

#define ICM_20948_ACCEL_BW_6HZ   ( (0x06 << ICM_20948_SHIFT_ACCEL_DLPCFG) | ICM_20948_BIT_ACCEL_FCHOICE)

Accel Bandwidth = 6 Hz

Definition at line 294 of file pinout.h.

◆ ICM_20948_ACCEL_FULLSCALE_16G

#define ICM_20948_ACCEL_FULLSCALE_16G   (0x03 << ICM_20948_SHIFT_ACCEL_FS)

Accel Full Scale = 16 g

Definition at line 286 of file pinout.h.

◆ ICM_20948_ACCEL_FULLSCALE_2G

#define ICM_20948_ACCEL_FULLSCALE_2G   (0x00 << ICM_20948_SHIFT_ACCEL_FS)

Accel Full Scale = 2 g

Definition at line 283 of file pinout.h.

◆ ICM_20948_ACCEL_FULLSCALE_4G

#define ICM_20948_ACCEL_FULLSCALE_4G   (0x01 << ICM_20948_SHIFT_ACCEL_FS)

Accel Full Scale = 4 g

Definition at line 284 of file pinout.h.

◆ ICM_20948_ACCEL_FULLSCALE_8G

#define ICM_20948_ACCEL_FULLSCALE_8G   (0x02 << ICM_20948_SHIFT_ACCEL_FS)

Accel Full Scale = 8 g

Definition at line 285 of file pinout.h.

◆ ICM_20948_BANK_0

#define ICM_20948_BANK_0   ( 0 << 7 )

Bank 0

Definition at line 70 of file pinout.h.

◆ ICM_20948_BANK_1

#define ICM_20948_BANK_1   ( 1 << 7 )

Bank 1

Definition at line 71 of file pinout.h.

◆ ICM_20948_BANK_2

#define ICM_20948_BANK_2   ( 2 << 7 )

Bank 2

Definition at line 72 of file pinout.h.

◆ ICM_20948_BANK_3

#define ICM_20948_BANK_3   ( 3 << 7 )

Bank 3

Definition at line 73 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_CTEN

#define ICM_20948_BIT_ACCEL_CTEN   0x1C

Accelerometer Self-Test Enable bits

Definition at line 297 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_CYCLE

#define ICM_20948_BIT_ACCEL_CYCLE   0x20

Accelerometer cycle mode enable

Definition at line 131 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_FCHOICE

#define ICM_20948_BIT_ACCEL_FCHOICE   0x01

Accel Digital Low-Pass Filter enable bit

Definition at line 278 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_FIFO_EN

#define ICM_20948_BIT_ACCEL_FIFO_EN   0x10

Enable writing acceleration data to FIFO bit

Definition at line 202 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_INTEL_EN

#define ICM_20948_BIT_ACCEL_INTEL_EN   0x02

Wake-up On Motion enable bit

Definition at line 272 of file pinout.h.

◆ ICM_20948_BIT_ACCEL_INTEL_MODE

#define ICM_20948_BIT_ACCEL_INTEL_MODE   0x01

WOM algorithm selection bit

Definition at line 273 of file pinout.h.

◆ ICM_20948_BIT_CLK_PLL

#define ICM_20948_BIT_CLK_PLL   0x01

Auto clock source selection setting

Definition at line 139 of file pinout.h.

◆ ICM_20948_BIT_DIAMOND_DMP_RST

#define ICM_20948_BIT_DIAMOND_DMP_RST   0x04

SRAM module reset bit

Definition at line 127 of file pinout.h.

◆ ICM_20948_BIT_DMP_EN

#define ICM_20948_BIT_DMP_EN   0x80

DMP enable bit

Definition at line 122 of file pinout.h.

◆ ICM_20948_BIT_DMP_RST

#define ICM_20948_BIT_DMP_RST   0x08

DMP module reset bit

Definition at line 126 of file pinout.h.

◆ ICM_20948_BIT_FIFO_EN

#define ICM_20948_BIT_FIFO_EN   0x40

FIFO enable bit

Definition at line 123 of file pinout.h.

◆ ICM_20948_BIT_FIFO_OVERFLOW_EN_0

#define ICM_20948_BIT_FIFO_OVERFLOW_EN_0   0x01

FIFO overflow interrupt enable bit

Definition at line 158 of file pinout.h.

◆ ICM_20948_BIT_GYRO_CTEN

#define ICM_20948_BIT_GYRO_CTEN   0x38

Gyroscope Self-Test Enable bits

Definition at line 257 of file pinout.h.

◆ ICM_20948_BIT_GYRO_CYCLE

#define ICM_20948_BIT_GYRO_CYCLE   0x10

Gyroscope cycle mode enable

Definition at line 132 of file pinout.h.

◆ ICM_20948_BIT_GYRO_FCHOICE

#define ICM_20948_BIT_GYRO_FCHOICE   0x01

Gyro Digital Low-Pass Filter enable bit

Definition at line 237 of file pinout.h.

◆ ICM_20948_BIT_H_RESET

#define ICM_20948_BIT_H_RESET   0x80

Device reset bit

Definition at line 135 of file pinout.h.

◆ ICM_20948_BIT_I2C_BYTE_SW

#define ICM_20948_BIT_I2C_BYTE_SW   0x40

I2C Slave Byte Swap enable bit

Definition at line 340 of file pinout.h.

◆ ICM_20948_BIT_I2C_GRP

#define ICM_20948_BIT_I2C_GRP   0x10

I2C Slave Group bit

Definition at line 342 of file pinout.h.

◆ ICM_20948_BIT_I2C_IF_DIS

#define ICM_20948_BIT_I2C_IF_DIS   0x10

Disable I2C, enable SPI bit

Definition at line 125 of file pinout.h.

◆ ICM_20948_BIT_I2C_MST_CYCLE

#define ICM_20948_BIT_I2C_MST_CYCLE   0x40

I2C master cycle mode enable

Definition at line 130 of file pinout.h.

◆ ICM_20948_BIT_I2C_MST_EN

#define ICM_20948_BIT_I2C_MST_EN   0x20

I2C master I/F enable bit

Definition at line 124 of file pinout.h.

◆ ICM_20948_BIT_I2C_MST_P_NSR

#define ICM_20948_BIT_I2C_MST_P_NSR   0x10

Stop between reads enabling bit

Definition at line 305 of file pinout.h.

◆ ICM_20948_BIT_I2C_READ

#define ICM_20948_BIT_I2C_READ   0x80

I2C Slave R/W bit

Definition at line 343 of file pinout.h.

◆ ICM_20948_BIT_I2C_REG_DIS

#define ICM_20948_BIT_I2C_REG_DIS   0x20

I2C Slave Do Not Write Register Value bit

Definition at line 341 of file pinout.h.

◆ ICM_20948_BIT_I2C_SLV_EN

#define ICM_20948_BIT_I2C_SLV_EN   0x80

I2C Slave Enable bit

Definition at line 339 of file pinout.h.

◆ ICM_20948_BIT_I2C_SLV_READ

#define ICM_20948_BIT_I2C_SLV_READ   0x80

I2C Slave Read bit

Definition at line 360 of file pinout.h.

◆ ICM_20948_BIT_INT_ACTL

#define ICM_20948_BIT_INT_ACTL   0x80

Active low setting bit

Definition at line 147 of file pinout.h.

◆ ICM_20948_BIT_INT_LATCH_EN

#define ICM_20948_BIT_INT_LATCH_EN   0x20

Latch enable bit

Definition at line 149 of file pinout.h.

◆ ICM_20948_BIT_INT_OPEN

#define ICM_20948_BIT_INT_OPEN   0x40

Open collector onfiguration bit

Definition at line 148 of file pinout.h.

◆ ICM_20948_BIT_LOST_ARB

#define ICM_20948_BIT_LOST_ARB   0x20

Definition at line 165 of file pinout.h.

◆ ICM_20948_BIT_LP_EN

#define ICM_20948_BIT_LP_EN   0x20

Low Power feature enable bit

Definition at line 137 of file pinout.h.

◆ ICM_20948_BIT_MULTI_FIFO_CFG

#define ICM_20948_BIT_MULTI_FIFO_CFG   0x01

Interrupt status for each sensor is required

Definition at line 216 of file pinout.h.

◆ ICM_20948_BIT_PASS_THROUGH

#define ICM_20948_BIT_PASS_THROUGH   0x80

Definition at line 163 of file pinout.h.

◆ ICM_20948_BIT_PLL_RDY

#define ICM_20948_BIT_PLL_RDY   0x04

PLL ready interrupt occured bit

Definition at line 174 of file pinout.h.

◆ ICM_20948_BIT_PWR_ACCEL_STBY

#define ICM_20948_BIT_PWR_ACCEL_STBY   0x38

Disable accelerometer

Definition at line 142 of file pinout.h.

◆ ICM_20948_BIT_PWR_ALL_OFF

#define ICM_20948_BIT_PWR_ALL_OFF   0x7F

Disable both accel and gyro

Definition at line 144 of file pinout.h.

◆ ICM_20948_BIT_PWR_GYRO_STBY

#define ICM_20948_BIT_PWR_GYRO_STBY   0x07

Disable gyroscope

Definition at line 143 of file pinout.h.

◆ ICM_20948_BIT_RAW_DATA_0_RDY

#define ICM_20948_BIT_RAW_DATA_0_RDY   0x01

Raw Data Ready bit

Definition at line 213 of file pinout.h.

◆ ICM_20948_BIT_RAW_DATA_0_RDY_EN [1/2]

#define ICM_20948_BIT_RAW_DATA_0_RDY_EN   0x01

Raw data ready interrupt enable bit

Definition at line 155 of file pinout.h.

◆ ICM_20948_BIT_RAW_DATA_0_RDY_EN [2/2]

#define ICM_20948_BIT_RAW_DATA_0_RDY_EN   0x01

Raw data ready interrupt enable bit

Definition at line 155 of file pinout.h.

◆ ICM_20948_BIT_RAW_DATA_0_RDY_INT

#define ICM_20948_BIT_RAW_DATA_0_RDY_INT   0x01

Raw data ready interrupt occured bit

Definition at line 177 of file pinout.h.

◆ ICM_20948_BIT_SINGLE_FIFO_CFG

#define ICM_20948_BIT_SINGLE_FIFO_CFG   0x00

Interrupt status for only a single sensor is required

Definition at line 217 of file pinout.h.

◆ ICM_20948_BIT_SLEEP

#define ICM_20948_BIT_SLEEP   0x40

Sleep mode enable bit

Definition at line 136 of file pinout.h.

◆ ICM_20948_BIT_SLV0_DLY_EN

#define ICM_20948_BIT_SLV0_DLY_EN   0x01

I2C Slave0 Delay Enable bit

Definition at line 308 of file pinout.h.

◆ ICM_20948_BIT_SLV0_NACK

#define ICM_20948_BIT_SLV0_NACK   0x01

Definition at line 170 of file pinout.h.

◆ ICM_20948_BIT_SLV1_DLY_EN

#define ICM_20948_BIT_SLV1_DLY_EN   0x02

I2C Slave1 Delay Enable bit

Definition at line 309 of file pinout.h.

◆ ICM_20948_BIT_SLV1_NACK

#define ICM_20948_BIT_SLV1_NACK   0x02

Definition at line 169 of file pinout.h.

◆ ICM_20948_BIT_SLV2_DLY_EN

#define ICM_20948_BIT_SLV2_DLY_EN   0x04

I2C Slave2 Delay Enable bit

Definition at line 310 of file pinout.h.

◆ ICM_20948_BIT_SLV2_NACK

#define ICM_20948_BIT_SLV2_NACK   0x04

Definition at line 168 of file pinout.h.

◆ ICM_20948_BIT_SLV3_DLY_EN

#define ICM_20948_BIT_SLV3_DLY_EN   0x08

I2C Slave3 Delay Enable bit

Definition at line 311 of file pinout.h.

◆ ICM_20948_BIT_SLV3_NACK

#define ICM_20948_BIT_SLV3_NACK   0x08

Definition at line 167 of file pinout.h.

◆ ICM_20948_BIT_SLV4_DONE

#define ICM_20948_BIT_SLV4_DONE   0x40

Definition at line 164 of file pinout.h.

◆ ICM_20948_BIT_SLV4_NACK

#define ICM_20948_BIT_SLV4_NACK   0x10

Definition at line 166 of file pinout.h.

◆ ICM_20948_BIT_TEMP_DIS

#define ICM_20948_BIT_TEMP_DIS   0x08

Temperature sensor disable bit

Definition at line 138 of file pinout.h.

◆ ICM_20948_BIT_WOM_INT [1/2]

#define ICM_20948_BIT_WOM_INT   0x08

Wake-up on motion interrupt occured bit

Definition at line 173 of file pinout.h.

◆ ICM_20948_BIT_WOM_INT [2/2]

#define ICM_20948_BIT_WOM_INT   0x08

Wake-up on motion interrupt occured bit

Definition at line 173 of file pinout.h.

◆ ICM_20948_BIT_WOM_INT_EN [1/2]

#define ICM_20948_BIT_WOM_INT_EN   0x08

Wake-up On Motion enable bit

Definition at line 152 of file pinout.h.

◆ ICM_20948_BIT_WOM_INT_EN [2/2]

#define ICM_20948_BIT_WOM_INT_EN   0x08

Wake-up On Motion enable bit

Definition at line 152 of file pinout.h.

◆ ICM_20948_BITS_GYRO_FIFO_EN

#define ICM_20948_BITS_GYRO_FIFO_EN   0x0E

Enable writing gyroscope data to FIFO bit

Definition at line 203 of file pinout.h.

◆ ICM_20948_CLK_PIN

#define ICM_20948_CLK_PIN   12

IMU CLK pin (SPI + I2C)

Definition at line 51 of file pinout.h.

◆ ICM_20948_CLK_PORT

#define ICM_20948_CLK_PORT   gpioPortE

IMU CLK port (SPI + I2C)

Definition at line 52 of file pinout.h.

◆ ICM_20948_CS_PIN

#define ICM_20948_CS_PIN   4

IMU CS pin (SPI)

Definition at line 48 of file pinout.h.

◆ ICM_20948_CS_PORT

#define ICM_20948_CS_PORT   gpioPortD

IMU CS port (SPI)

Definition at line 49 of file pinout.h.

◆ ICM_20948_DEVICE_ID

#define ICM_20948_DEVICE_ID   0xE0

ICM_20948 Device ID value

Definition at line 350 of file pinout.h.

◆ ICM_20948_ERROR_INVALID_DEVICE_ID

#define ICM_20948_ERROR_INVALID_DEVICE_ID   0x0001

IMU invalid device id return value

Definition at line 44 of file pinout.h.

◆ ICM_20948_GYRO_BW_120HZ

#define ICM_20948_GYRO_BW_120HZ   ( (0x02 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 120 Hz

Definition at line 250 of file pinout.h.

◆ ICM_20948_GYRO_BW_12100HZ

#define ICM_20948_GYRO_BW_12100HZ   (0x00 << ICM_20948_SHIFT_GYRO_DLPCFG)

Gyro Bandwidth = 12100 Hz

Definition at line 246 of file pinout.h.

◆ ICM_20948_GYRO_BW_12HZ

#define ICM_20948_GYRO_BW_12HZ   ( (0x05 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 12 Hz

Definition at line 253 of file pinout.h.

◆ ICM_20948_GYRO_BW_150HZ

#define ICM_20948_GYRO_BW_150HZ   ( (0x01 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 150 Hz

Definition at line 249 of file pinout.h.

◆ ICM_20948_GYRO_BW_200HZ

#define ICM_20948_GYRO_BW_200HZ   ( (0x00 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 200 Hz

Definition at line 248 of file pinout.h.

◆ ICM_20948_GYRO_BW_24HZ

#define ICM_20948_GYRO_BW_24HZ   ( (0x04 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 24 Hz

Definition at line 252 of file pinout.h.

◆ ICM_20948_GYRO_BW_360HZ

#define ICM_20948_GYRO_BW_360HZ   ( (0x07 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 360 Hz

Definition at line 247 of file pinout.h.

◆ ICM_20948_GYRO_BW_51HZ

#define ICM_20948_GYRO_BW_51HZ   ( (0x03 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 51 Hz

Definition at line 251 of file pinout.h.

◆ ICM_20948_GYRO_BW_6HZ

#define ICM_20948_GYRO_BW_6HZ   ( (0x06 << ICM_20948_SHIFT_GYRO_DLPCFG) | ICM_20948_BIT_GYRO_FCHOICE)

Gyro Bandwidth = 6 Hz

Definition at line 254 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_1000DPS [1/2]

#define ICM_20948_GYRO_FULLSCALE_1000DPS   (0x02 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 1000 deg/sec

Definition at line 244 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_1000DPS [2/2]

#define ICM_20948_GYRO_FULLSCALE_1000DPS   (0x02 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 1000 deg/sec

Definition at line 244 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_2000DPS [1/2]

#define ICM_20948_GYRO_FULLSCALE_2000DPS   (0x03 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 2000 deg/sec

Definition at line 245 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_2000DPS [2/2]

#define ICM_20948_GYRO_FULLSCALE_2000DPS   (0x03 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 2000 deg/sec

Definition at line 245 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_250DPS [1/2]

#define ICM_20948_GYRO_FULLSCALE_250DPS   (0x00 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 250 deg/sec

Definition at line 242 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_250DPS [2/2]

#define ICM_20948_GYRO_FULLSCALE_250DPS   (0x00 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 250 deg/sec

Definition at line 242 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_500DPS [1/2]

#define ICM_20948_GYRO_FULLSCALE_500DPS   (0x01 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 500 deg/sec

Definition at line 243 of file pinout.h.

◆ ICM_20948_GYRO_FULLSCALE_500DPS [2/2]

#define ICM_20948_GYRO_FULLSCALE_500DPS   (0x01 << ICM_20948_SHIFT_GYRO_FS_SEL)

Gyro Full Scale = 500 deg/sec

Definition at line 243 of file pinout.h.

◆ ICM_20948_I2C_ADDRESS

#define ICM_20948_I2C_ADDRESS   ( 0x69 << 1 )

I2C address of IMU default, can be 0x68 when AD0 is closed

Definition at line 26 of file pinout.h.

◆ ICM_20948_I2C_MST_CTRL_CLK_400KHZ

#define ICM_20948_I2C_MST_CTRL_CLK_400KHZ   0x07

I2C_MST_CLK = 345.6 kHz (for 400 kHz Max)

Definition at line 358 of file pinout.h.

◆ ICM_20948_INTERRUPT_PIN

#define ICM_20948_INTERRUPT_PIN   2

IMU interrupt pin

Definition at line 40 of file pinout.h.

◆ ICM_20948_INTERRUPT_PORT

#define ICM_20948_INTERRUPT_PORT   gpioPortC

IMU interrupt port

Definition at line 41 of file pinout.h.

◆ ICM_20948_MASK_ACCEL_BW

#define ICM_20948_MASK_ACCEL_BW   0x39

Accel Bandwidth Select bitmask

Definition at line 282 of file pinout.h.

◆ ICM_20948_MASK_ACCEL_FULLSCALE

#define ICM_20948_MASK_ACCEL_FULLSCALE   0x06

Accel Full Scale Select bitmask

Definition at line 281 of file pinout.h.

◆ ICM_20948_MASK_GYRO_BW

#define ICM_20948_MASK_GYRO_BW   0x39

Gyro Bandwidth Select bitmask

Definition at line 241 of file pinout.h.

◆ ICM_20948_MASK_GYRO_FULLSCALE [1/2]

#define ICM_20948_MASK_GYRO_FULLSCALE   0x06

Gyro Full Scale Select bitmask

Definition at line 240 of file pinout.h.

◆ ICM_20948_MASK_GYRO_FULLSCALE [2/2]

#define ICM_20948_MASK_GYRO_FULLSCALE   0x06

Gyro Full Scale Select bitmask

Definition at line 240 of file pinout.h.

◆ ICM_20948_MISO_PIN

#define ICM_20948_MISO_PIN   11

IMU MISO pin (SPI)

Definition at line 53 of file pinout.h.

◆ ICM_20948_MISO_PORT

#define ICM_20948_MISO_PORT   gpioPortE

IMU MISO port (SPI)

Definition at line 54 of file pinout.h.

◆ ICM_20948_MOSI_PIN

#define ICM_20948_MOSI_PIN   10

IMU MOSI pin (SPI)

Definition at line 55 of file pinout.h.

◆ ICM_20948_MOSI_PORT

#define ICM_20948_MOSI_PORT   gpioPortE

IMU MOSI port (SPI)

Definition at line 56 of file pinout.h.

◆ ICM_20948_OK

#define ICM_20948_OK   0x0000

IMU OK return value

Definition at line 43 of file pinout.h.

◆ ICM_20948_POWER_PIN

#define ICM_20948_POWER_PIN   4

IMU power pin on sensor node

Definition at line 30 of file pinout.h.

◆ ICM_20948_POWER_PORT

#define ICM_20948_POWER_PORT   gpioPortF

IMU power port on sensor node

Definition at line 31 of file pinout.h.

◆ ICM_20948_REG_ACCEL_CONFIG

#define ICM_20948_REG_ACCEL_CONFIG   (ICM_20948_BANK_2 | 0x14)

Accelerometer Configuration register

Definition at line 277 of file pinout.h.

◆ ICM_20948_REG_ACCEL_CONFIG_2

#define ICM_20948_REG_ACCEL_CONFIG_2   (ICM_20948_BANK_2 | 0x15)

Accelerometer Configuration 2 register

Definition at line 296 of file pinout.h.

◆ ICM_20948_REG_ACCEL_INTEL_CTRL

#define ICM_20948_REG_ACCEL_INTEL_CTRL   (ICM_20948_BANK_2 | 0x12)

Accelerometer Hardware Intelligence Control register

Definition at line 271 of file pinout.h.

◆ ICM_20948_REG_ACCEL_SMPLRT_DIV_1

#define ICM_20948_REG_ACCEL_SMPLRT_DIV_1   (ICM_20948_BANK_2 | 0x10)

Acceleration Sensor Sample Rate Divider 1 register

Definition at line 268 of file pinout.h.

◆ ICM_20948_REG_ACCEL_SMPLRT_DIV_2

#define ICM_20948_REG_ACCEL_SMPLRT_DIV_2   (ICM_20948_BANK_2 | 0x11)

Acceleration Sensor Sample Rate Divider 2 register

Definition at line 269 of file pinout.h.

◆ ICM_20948_REG_ACCEL_WOM_THR

#define ICM_20948_REG_ACCEL_WOM_THR   (ICM_20948_BANK_2 | 0x13)

Wake-up On Motion Threshold register

Definition at line 275 of file pinout.h.

◆ ICM_20948_REG_ACCEL_XOUT_H_SH

#define ICM_20948_REG_ACCEL_XOUT_H_SH   (ICM_20948_BANK_0 | 0x2D)

Accelerometer X-axis data high byte

Definition at line 181 of file pinout.h.

◆ ICM_20948_REG_ACCEL_XOUT_L_SH

#define ICM_20948_REG_ACCEL_XOUT_L_SH   (ICM_20948_BANK_0 | 0x2E)

Accelerometer X-axis data low byte

Definition at line 182 of file pinout.h.

◆ ICM_20948_REG_ACCEL_YOUT_H_SH

#define ICM_20948_REG_ACCEL_YOUT_H_SH   (ICM_20948_BANK_0 | 0x2F)

Accelerometer Y-axis data high byte

Definition at line 183 of file pinout.h.

◆ ICM_20948_REG_ACCEL_YOUT_L_SH

#define ICM_20948_REG_ACCEL_YOUT_L_SH   (ICM_20948_BANK_0 | 0x30)

Accelerometer Y-axis data low byte

Definition at line 184 of file pinout.h.

◆ ICM_20948_REG_ACCEL_ZOUT_H_SH

#define ICM_20948_REG_ACCEL_ZOUT_H_SH   (ICM_20948_BANK_0 | 0x31)

Accelerometer Z-axis data high byte

Definition at line 185 of file pinout.h.

◆ ICM_20948_REG_ACCEL_ZOUT_L_SH

#define ICM_20948_REG_ACCEL_ZOUT_L_SH   (ICM_20948_BANK_0 | 0x32)

Accelerometer Z-axis data low byte

Definition at line 186 of file pinout.h.

◆ ICM_20948_REG_BANK_SEL [1/2]

#define ICM_20948_REG_BANK_SEL   0x7F

IMU register bank select

Bank Select register

Definition at line 346 of file pinout.h.

◆ ICM_20948_REG_BANK_SEL [2/2]

#define ICM_20948_REG_BANK_SEL   0x7F

IMU register bank select

Bank Select register

Definition at line 346 of file pinout.h.

◆ ICM_20948_REG_DATA_RDY_STATUS

#define ICM_20948_REG_DATA_RDY_STATUS   (ICM_20948_BANK_0 | 0x74)

Data Ready Status register

Definition at line 212 of file pinout.h.

◆ ICM_20948_REG_EXT_SLV_SENS_DATA_00

#define ICM_20948_REG_EXT_SLV_SENS_DATA_00   (ICM_20948_BANK_0 | 0x3B)

First sensor data byte read from external I2C devices through I2C master interface

Definition at line 359 of file pinout.h.

◆ ICM_20948_REG_FIFO_CFG

#define ICM_20948_REG_FIFO_CFG   (ICM_20948_BANK_0 | 0x76)

FIFO Configuration register

Definition at line 215 of file pinout.h.

◆ ICM_20948_REG_FIFO_COUNT_H

#define ICM_20948_REG_FIFO_COUNT_H   (ICM_20948_BANK_0 | 0x70)

FIFO data count high byte

Definition at line 208 of file pinout.h.

◆ ICM_20948_REG_FIFO_COUNT_L

#define ICM_20948_REG_FIFO_COUNT_L   (ICM_20948_BANK_0 | 0x71)

FIFO data count low byte

Definition at line 209 of file pinout.h.

◆ ICM_20948_REG_FIFO_EN_1

#define ICM_20948_REG_FIFO_EN_1   (ICM_20948_BANK_0 | 0x66)

FIFO Enable 1 register

Definition at line 199 of file pinout.h.

◆ ICM_20948_REG_FIFO_EN_2

#define ICM_20948_REG_FIFO_EN_2   (ICM_20948_BANK_0 | 0x67)

FIFO Enable 2 register

Definition at line 201 of file pinout.h.

◆ ICM_20948_REG_FIFO_MODE

#define ICM_20948_REG_FIFO_MODE   (ICM_20948_BANK_0 | 0x69)

FIFO Mode register

Definition at line 206 of file pinout.h.

◆ ICM_20948_REG_FIFO_R_W

#define ICM_20948_REG_FIFO_R_W   (ICM_20948_BANK_0 | 0x72)

FIFO Read/Write register

Definition at line 210 of file pinout.h.

◆ ICM_20948_REG_FIFO_RST

#define ICM_20948_REG_FIFO_RST   (ICM_20948_BANK_0 | 0x68)

FIFO Reset register

Definition at line 205 of file pinout.h.

◆ ICM_20948_REG_GYRO_CONFIG_1 [1/2]

#define ICM_20948_REG_GYRO_CONFIG_1   (ICM_20948_BANK_2 | 0x01)

Gyroscope Configuration 1 register

Definition at line 236 of file pinout.h.

◆ ICM_20948_REG_GYRO_CONFIG_1 [2/2]

#define ICM_20948_REG_GYRO_CONFIG_1   (ICM_20948_BANK_2 | 0x01)

Gyroscope Configuration 1 register

Definition at line 236 of file pinout.h.

◆ ICM_20948_REG_GYRO_CONFIG_2

#define ICM_20948_REG_GYRO_CONFIG_2   (ICM_20948_BANK_2 | 0x02)

Gyroscope Configuration 2 register

Definition at line 256 of file pinout.h.

◆ ICM_20948_REG_GYRO_SMPLRT_DIV

#define ICM_20948_REG_GYRO_SMPLRT_DIV   (ICM_20948_BANK_2 | 0x00)

Gyroscope Sample Rate Divider regiser

Definition at line 234 of file pinout.h.

◆ ICM_20948_REG_GYRO_XOUT_H_SH

#define ICM_20948_REG_GYRO_XOUT_H_SH   (ICM_20948_BANK_0 | 0x33)

Gyroscope X-axis data high byte

Definition at line 188 of file pinout.h.

◆ ICM_20948_REG_GYRO_XOUT_L_SH

#define ICM_20948_REG_GYRO_XOUT_L_SH   (ICM_20948_BANK_0 | 0x34)

Gyroscope X-axis data low byte

Definition at line 189 of file pinout.h.

◆ ICM_20948_REG_GYRO_YOUT_H_SH

#define ICM_20948_REG_GYRO_YOUT_H_SH   (ICM_20948_BANK_0 | 0x35)

Gyroscope Y-axis data high byte

Definition at line 190 of file pinout.h.

◆ ICM_20948_REG_GYRO_YOUT_L_SH

#define ICM_20948_REG_GYRO_YOUT_L_SH   (ICM_20948_BANK_0 | 0x36)

Gyroscope Y-axis data low byte

Definition at line 191 of file pinout.h.

◆ ICM_20948_REG_GYRO_ZOUT_H_SH

#define ICM_20948_REG_GYRO_ZOUT_H_SH   (ICM_20948_BANK_0 | 0x37)

Gyroscope Z-axis data high byte

Definition at line 192 of file pinout.h.

◆ ICM_20948_REG_GYRO_ZOUT_L_SH

#define ICM_20948_REG_GYRO_ZOUT_L_SH   (ICM_20948_BANK_0 | 0x38)

Gyroscope Z-axis data low byte

Definition at line 193 of file pinout.h.

◆ ICM_20948_REG_I2C_MST_CTRL

#define ICM_20948_REG_I2C_MST_CTRL   (ICM_20948_BANK_3 | 0x01)

I2C Master Control register

Definition at line 304 of file pinout.h.

◆ ICM_20948_REG_I2C_MST_DELAY_CTRL

#define ICM_20948_REG_I2C_MST_DELAY_CTRL   (ICM_20948_BANK_3 | 0x02)

I2C Master Delay Control register

Definition at line 307 of file pinout.h.

◆ ICM_20948_REG_I2C_MST_ODR_CONFIG

#define ICM_20948_REG_I2C_MST_ODR_CONFIG   (ICM_20948_BANK_3 | 0x00)

I2C Master Output Data Rate Configuration register

Definition at line 302 of file pinout.h.

◆ ICM_20948_REG_I2C_MST_STATUS

#define ICM_20948_REG_I2C_MST_STATUS   (ICM_20948_BANK_0 | 0x17)

Status of I2C master

Definition at line 162 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV0_ADDR

#define ICM_20948_REG_I2C_SLV0_ADDR   (ICM_20948_BANK_3 | 0x03)

I2C Slave0 Physical Address register

Definition at line 313 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV0_CTRL

#define ICM_20948_REG_I2C_SLV0_CTRL   (ICM_20948_BANK_3 | 0x05)

I2C Slave0 Control register

Definition at line 315 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV0_DO

#define ICM_20948_REG_I2C_SLV0_DO   (ICM_20948_BANK_3 | 0x06)

I2C Slave0 Data Out register

Definition at line 316 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV0_REG

#define ICM_20948_REG_I2C_SLV0_REG   (ICM_20948_BANK_3 | 0x04)

I2C Slave0 Register Address register

Definition at line 314 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV1_ADDR

#define ICM_20948_REG_I2C_SLV1_ADDR   (ICM_20948_BANK_3 | 0x07)

I2C Slave1 Physical Address register

Definition at line 318 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV1_CTRL

#define ICM_20948_REG_I2C_SLV1_CTRL   (ICM_20948_BANK_3 | 0x09)

I2C Slave1 Control register

Definition at line 320 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV1_DO

#define ICM_20948_REG_I2C_SLV1_DO   (ICM_20948_BANK_3 | 0x0A)

I2C Slave1 Data Out register

Definition at line 321 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV1_REG

#define ICM_20948_REG_I2C_SLV1_REG   (ICM_20948_BANK_3 | 0x08)

I2C Slave1 Register Address register

Definition at line 319 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV2_ADDR

#define ICM_20948_REG_I2C_SLV2_ADDR   (ICM_20948_BANK_3 | 0x0B)

I2C Slave2 Physical Address register

Definition at line 323 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV2_CTRL

#define ICM_20948_REG_I2C_SLV2_CTRL   (ICM_20948_BANK_3 | 0x0D)

I2C Slave2 Control register

Definition at line 325 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV2_DO

#define ICM_20948_REG_I2C_SLV2_DO   (ICM_20948_BANK_3 | 0x0E)

I2C Slave2 Data Out register

Definition at line 326 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV2_REG

#define ICM_20948_REG_I2C_SLV2_REG   (ICM_20948_BANK_3 | 0x0C)

I2C Slave2 Register Address register

Definition at line 324 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV3_ADDR

#define ICM_20948_REG_I2C_SLV3_ADDR   (ICM_20948_BANK_3 | 0x0F)

I2C Slave3 Physical Address register

Definition at line 328 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV3_CTRL

#define ICM_20948_REG_I2C_SLV3_CTRL   (ICM_20948_BANK_3 | 0x11)

I2C Slave3 Control register

Definition at line 330 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV3_DO

#define ICM_20948_REG_I2C_SLV3_DO   (ICM_20948_BANK_3 | 0x12)

I2C Slave3 Data Out register

Definition at line 331 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV3_REG

#define ICM_20948_REG_I2C_SLV3_REG   (ICM_20948_BANK_3 | 0x10)

I2C Slave3 Register Address register

Definition at line 329 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV4_ADDR

#define ICM_20948_REG_I2C_SLV4_ADDR   (ICM_20948_BANK_3 | 0x13)

I2C Slave4 Physical Address register

Definition at line 333 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV4_CTRL

#define ICM_20948_REG_I2C_SLV4_CTRL   (ICM_20948_BANK_3 | 0x15)

I2C Slave4 Control register

Definition at line 335 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV4_DI

#define ICM_20948_REG_I2C_SLV4_DI   (ICM_20948_BANK_3 | 0x17)

I2C Slave4 Data In register

Definition at line 337 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV4_DO

#define ICM_20948_REG_I2C_SLV4_DO   (ICM_20948_BANK_3 | 0x16)

I2C Slave4 Data Out register

Definition at line 336 of file pinout.h.

◆ ICM_20948_REG_I2C_SLV4_REG

#define ICM_20948_REG_I2C_SLV4_REG   (ICM_20948_BANK_3 | 0x14)

I2C Slave4 Register Address register

Definition at line 334 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE [1/2]

#define ICM_20948_REG_INT_ENABLE   (ICM_20948_BANK_0 | 0x10)

Interrupt Enable register

Definition at line 151 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE [2/2]

#define ICM_20948_REG_INT_ENABLE   (ICM_20948_BANK_0 | 0x10)

Interrupt Enable register

Definition at line 151 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE_1 [1/2]

#define ICM_20948_REG_INT_ENABLE_1   (ICM_20948_BANK_0 | 0x11)

Interrupt Enable 1 register

Definition at line 154 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE_1 [2/2]

#define ICM_20948_REG_INT_ENABLE_1   (ICM_20948_BANK_0 | 0x11)

Interrupt Enable 1 register

Definition at line 154 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE_2

#define ICM_20948_REG_INT_ENABLE_2   (ICM_20948_BANK_0 | 0x12)

Interrupt Enable 2 register

Definition at line 157 of file pinout.h.

◆ ICM_20948_REG_INT_ENABLE_3

#define ICM_20948_REG_INT_ENABLE_3   (ICM_20948_BANK_0 | 0x13)

Interrupt Enable 2 register

Definition at line 160 of file pinout.h.

◆ ICM_20948_REG_INT_PIN_CFG

#define ICM_20948_REG_INT_PIN_CFG   (ICM_20948_BANK_0 | 0x0F)

Interrupt Pin Configuration register

Definition at line 146 of file pinout.h.

◆ ICM_20948_REG_INT_STATUS [1/2]

#define ICM_20948_REG_INT_STATUS   (ICM_20948_BANK_0 | 0x19)

Interrupt Status register

Definition at line 172 of file pinout.h.

◆ ICM_20948_REG_INT_STATUS [2/2]

#define ICM_20948_REG_INT_STATUS   (ICM_20948_BANK_0 | 0x19)

Interrupt Status register

Definition at line 172 of file pinout.h.

◆ ICM_20948_REG_INT_STATUS_1

#define ICM_20948_REG_INT_STATUS_1   (ICM_20948_BANK_0 | 0x1A)

Interrupt Status 1 register

Definition at line 176 of file pinout.h.

◆ ICM_20948_REG_INT_STATUS_2

#define ICM_20948_REG_INT_STATUS_2   (ICM_20948_BANK_0 | 0x1B)

Interrupt Status 2 register

Definition at line 179 of file pinout.h.

◆ ICM_20948_REG_LP_CONFIG

#define ICM_20948_REG_LP_CONFIG   (ICM_20948_BANK_0 | 0x05)

Low Power mode config register

Definition at line 129 of file pinout.h.

◆ ICM_20948_REG_ODR_ALIGN_EN

#define ICM_20948_REG_ODR_ALIGN_EN   (ICM_20948_BANK_2 | 0x09)

Output Data Rate start time alignment

Definition at line 266 of file pinout.h.

◆ ICM_20948_REG_PWR_MGMT_1

#define ICM_20948_REG_PWR_MGMT_1   (ICM_20948_BANK_0 | 0x06)

Power Management 1 register

Definition at line 134 of file pinout.h.

◆ ICM_20948_REG_PWR_MGMT_2

#define ICM_20948_REG_PWR_MGMT_2   (ICM_20948_BANK_0 | 0x07)

Power Management 2 register

Definition at line 141 of file pinout.h.

◆ ICM_20948_REG_TEMP_CONFIG

#define ICM_20948_REG_TEMP_CONFIG   (ICM_20948_BANK_0 | 0x53)

Temperature Configuration register

Definition at line 197 of file pinout.h.

◆ ICM_20948_REG_TEMPERATURE_H

#define ICM_20948_REG_TEMPERATURE_H   (ICM_20948_BANK_0 | 0x39)

Temperature data high byte

Definition at line 195 of file pinout.h.

◆ ICM_20948_REG_TEMPERATURE_L

#define ICM_20948_REG_TEMPERATURE_L   (ICM_20948_BANK_0 | 0x3A)

Temperature data low byte

Definition at line 196 of file pinout.h.

◆ ICM_20948_REG_TIMEBASE_CORR_PLL

#define ICM_20948_REG_TIMEBASE_CORR_PLL   (ICM_20948_BANK_1 | 0x28)

PLL Timebase Correction register

Definition at line 229 of file pinout.h.

◆ ICM_20948_REG_USER_CTRL

#define ICM_20948_REG_USER_CTRL   (ICM_20948_BANK_0 | 0x03)

User control register

Definition at line 121 of file pinout.h.

◆ ICM_20948_REG_WHO_AM_I

#define ICM_20948_REG_WHO_AM_I   (ICM_20948_BANK_0 | 0x00)

Device ID register

Definition at line 119 of file pinout.h.

◆ ICM_20948_REG_XA_OFFSET_H

#define ICM_20948_REG_XA_OFFSET_H   (ICM_20948_BANK_1 | 0x14)

Acceleration sensor X-axis offset cancellation high byte

Definition at line 222 of file pinout.h.

◆ ICM_20948_REG_XA_OFFSET_L

#define ICM_20948_REG_XA_OFFSET_L   (ICM_20948_BANK_1 | 0x15)

Acceleration sensor X-axis offset cancellation low byte

Definition at line 223 of file pinout.h.

◆ ICM_20948_REG_XG_OFFS_USRH

#define ICM_20948_REG_XG_OFFS_USRH   (ICM_20948_BANK_2 | 0x03)

Gyroscope sensor X-axis offset cancellation high byte

Definition at line 259 of file pinout.h.

◆ ICM_20948_REG_XG_OFFS_USRL

#define ICM_20948_REG_XG_OFFS_USRL   (ICM_20948_BANK_2 | 0x04)

Gyroscope sensor X-axis offset cancellation low byte

Definition at line 260 of file pinout.h.

◆ ICM_20948_REG_YA_OFFSET_H

#define ICM_20948_REG_YA_OFFSET_H   (ICM_20948_BANK_1 | 0x17)

Acceleration sensor Y-axis offset cancellation high byte

Definition at line 224 of file pinout.h.

◆ ICM_20948_REG_YA_OFFSET_L

#define ICM_20948_REG_YA_OFFSET_L   (ICM_20948_BANK_1 | 0x18)

Acceleration sensor Y-axis offset cancellation low byte

Definition at line 225 of file pinout.h.

◆ ICM_20948_REG_YG_OFFS_USRH

#define ICM_20948_REG_YG_OFFS_USRH   (ICM_20948_BANK_2 | 0x05)

Gyroscope sensor Y-axis offset cancellation high byte

Definition at line 261 of file pinout.h.

◆ ICM_20948_REG_YG_OFFS_USRL

#define ICM_20948_REG_YG_OFFS_USRL   (ICM_20948_BANK_2 | 0x06)

Gyroscope sensor Y-axis offset cancellation low byte

Definition at line 262 of file pinout.h.

◆ ICM_20948_REG_ZA_OFFSET_H

#define ICM_20948_REG_ZA_OFFSET_H   (ICM_20948_BANK_1 | 0x1A)

Acceleration sensor Z-axis offset cancellation high byte

Definition at line 226 of file pinout.h.

◆ ICM_20948_REG_ZA_OFFSET_L

#define ICM_20948_REG_ZA_OFFSET_L   (ICM_20948_BANK_1 | 0x1B)

Acceleration sensor Z-axis offset cancellation low byte

Definition at line 227 of file pinout.h.

◆ ICM_20948_REG_ZG_OFFS_USRH

#define ICM_20948_REG_ZG_OFFS_USRH   (ICM_20948_BANK_2 | 0x07)

Gyroscope sensor Z-axis offset cancellation high byte

Definition at line 263 of file pinout.h.

◆ ICM_20948_REG_ZG_OFFS_USRL

#define ICM_20948_REG_ZG_OFFS_USRL   (ICM_20948_BANK_2 | 0x08)

Gyroscope sensor Z-axis offset cancellation low byte

Definition at line 264 of file pinout.h.

◆ ICM_20948_SCL_PIN

#define ICM_20948_SCL_PIN   7

IMU SCL pin (I2C)

Definition at line 62 of file pinout.h.

◆ ICM_20948_SCL_PORT

#define ICM_20948_SCL_PORT   gpioPortD

IMU SCL port (I2C)

Definition at line 61 of file pinout.h.

◆ ICM_20948_SDA_PIN

#define ICM_20948_SDA_PIN   6

IMU SDA pin (I2C)

Definition at line 60 of file pinout.h.

◆ ICM_20948_SDA_PORT

#define ICM_20948_SDA_PORT   gpioPortD

IMU SDA port (I2C)

Definition at line 59 of file pinout.h.

◆ ICM_20948_SHIFT_ACCEL_DLPCFG

#define ICM_20948_SHIFT_ACCEL_DLPCFG   3

Accel DLPF Config bit shift

Definition at line 280 of file pinout.h.

◆ ICM_20948_SHIFT_ACCEL_FS

#define ICM_20948_SHIFT_ACCEL_FS   1

Accel Full Scale Select bit shift

Definition at line 279 of file pinout.h.

◆ ICM_20948_SHIFT_GYRO_DLPCFG

#define ICM_20948_SHIFT_GYRO_DLPCFG   3

Gyro DLPF Config bit shift

Definition at line 239 of file pinout.h.

◆ ICM_20948_SHIFT_GYRO_FS_SEL [1/2]

#define ICM_20948_SHIFT_GYRO_FS_SEL   1

Gyro Full Scale Select bit shift

Definition at line 238 of file pinout.h.

◆ ICM_20948_SHIFT_GYRO_FS_SEL [2/2]

#define ICM_20948_SHIFT_GYRO_FS_SEL   1

Gyro Full Scale Select bit shift

Definition at line 238 of file pinout.h.

◆ ICM_20948_WHO_AM_I

#define ICM_20948_WHO_AM_I   0x00

IMU whoami, 0x00 NOT USED

Definition at line 46 of file pinout.h.

◆ LED_PIN

#define LED_PIN   10

LED pin of BLE module

Definition at line 21 of file pinout.h.

◆ LED_PORT

#define LED_PORT   gpioPortC

LED port of BLE module

Definition at line 20 of file pinout.h.

◆ OK

#define OK   0x0000

OK code

Definition at line 402 of file pinout.h.

◆ SPI

#define SPI   USART0

IMU SPI UART interface

Definition at line 64 of file pinout.h.

◆ SPI_PACKET_LENGTH

#define SPI_PACKET_LENGTH   8

IMU SPI packet length

Definition at line 66 of file pinout.h.

◆ TEMP_OUT_H

#define TEMP_OUT_H   ( ICM_20948_BANK_0 | 0x39 )

Temperature high output register

Definition at line 89 of file pinout.h.

◆ TEMP_OUT_L

#define TEMP_OUT_L   ( ICM_20948_BANK_0 | 0x3A )

Temperature low output register

Definition at line 90 of file pinout.h.