66 lines
1.6 KiB
C
66 lines
1.6 KiB
C
|
#ifndef _ICM_42627_H
|
||
|
#define _ICM_42627_H
|
||
|
|
||
|
|
||
|
#define ICM_42627_DeviceID 0x20
|
||
|
|
||
|
// PWR_MGMT0
|
||
|
#define GYRO_MODE_OFF 0<<2
|
||
|
#define GYRO_MODE_LN 3<<2
|
||
|
#define GYRO_MODE_Standby 1<<2
|
||
|
|
||
|
#define ACCEL_MODE_OFF 1<<0
|
||
|
#define ACCEL_MODE_LP 2<<0 //LOW POWER
|
||
|
#define ACCEL_MODE_LN 3<<0 //LOW Noise
|
||
|
|
||
|
#define IDLE_OFF 1<<4
|
||
|
#define IDLE_ON 0<<4
|
||
|
|
||
|
#define TEMP_DIS_ON 0<<5
|
||
|
#define TEMP_DIS_OFF 1<<5
|
||
|
|
||
|
//GYRO_CONFIG0
|
||
|
#define GYRO_ODR_1KHZ 6<<0
|
||
|
#define GYRO_FS_SEL_250dps 3<<5
|
||
|
|
||
|
//CONFIG0_REG
|
||
|
#define ACCEL_ODR_1KHZ 6<<0
|
||
|
#define ACCEL_FS_SEL_2G 3<<5
|
||
|
|
||
|
//INT_STATUS
|
||
|
#define UI_FSYNC_INT 1<<6
|
||
|
#define PLL_RDY_INT 1<<5
|
||
|
#define RESET_DONE_INT 1<<4
|
||
|
#define DATA_RDY_INT 1<<3
|
||
|
#define FIFO_THS_INT 1<<2
|
||
|
#define FIFO_FULL_INT 1<<1
|
||
|
#define AGC_RDY_INT 1<<0
|
||
|
|
||
|
#define ICM_42627_ADDRESS 0x68 //I2C Address
|
||
|
#define WHO_AM_I_ICM42627 0x75 // Should return 0x20
|
||
|
|
||
|
//ICM_42627 REG
|
||
|
#define PWR_MGMT0_REG 0x4E
|
||
|
#define GYRO_CONFIG0_REG 0x4F
|
||
|
#define ACCEL_CONFIG0_REG 0x50
|
||
|
#define SELF_TEST_CONFIG_REG 0x70
|
||
|
#define INT_STATUS_REG 0x2D
|
||
|
|
||
|
#define TEMP_OUT_H_REG 0x1D
|
||
|
#define TEMP_OUT_L_REG 0x1E
|
||
|
|
||
|
#define ACCEL_XOUT_H_REG 0x1F
|
||
|
#define ACCEL_XOUT_L_REG 0x20
|
||
|
#define ACCEL_YOUT_H_REG 0x21
|
||
|
#define ACCEL_YOUT_L_REG 0x22
|
||
|
#define ACCEL_ZOUT_H_REG 0x23
|
||
|
#define ACCEL_ZOUT_L_REG 0x24
|
||
|
|
||
|
#define GYRO_XOUT_H_REG 0x25
|
||
|
#define GYRO_XOUT_L_REG 0x26
|
||
|
#define GYRO_YOUT_H_REG 0x27
|
||
|
#define GYRO_YOUT_L_REG 0x28
|
||
|
#define GYRO_ZOUT_H_REG 0x29
|
||
|
#define GYRO_ZOUT_L_REG 0x30
|
||
|
|
||
|
#endif
|