summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvsalve <vsalve@nvidia.com>2011-03-15 15:29:43 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-03-22 15:56:00 -0800
commit6c0a2b4e0a1439a15d44ff6e24c286277dc489f0 (patch)
tree21e2425d07a027c3f9b82bed9011c6c20a714573 /include
parentc04a044757f3a6959e7c4d5df30cb02fc8470a94 (diff)
misc: mpu3050: Invensense MPU code update v3.3.3
Update Invensense Motion Library (MPL) to production version v3.3.3. Previous version was engineering release and is not suitable for mass production. This version of the MPL most notably fixes problems with suspend/resume where touch screen would quit working during a suspend/resume cycle. Change-Id: Ia33433a677862b3d1e31d410aac7176d7a381a8f Reviewed-on: http://git-master/r/22987 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mpu.h117
-rw-r--r--include/linux/mpu6000.h179
2 files changed, 164 insertions, 132 deletions
diff --git a/include/linux/mpu.h b/include/linux/mpu.h
index 5756f5709a75..15b5fef07c9a 100644
--- a/include/linux/mpu.h
+++ b/include/linux/mpu.h
@@ -31,9 +31,9 @@
#endif
/* Number of axes on each sensor */
-#define GYRO_NUM_AXES (3)
-#define ACCEL_NUM_AXES (3)
-#define COMPASS_NUM_AXES (3)
+#define GYRO_NUM_AXES (3)
+#define ACCEL_NUM_AXES (3)
+#define COMPASS_NUM_AXES (3)
/* IOCTL commands for /dev/mpu */
#define MPU_SET_MPU_CONFIG (0x00)
@@ -83,6 +83,10 @@
#define MPU_CONFIG_COMPASS (0x21)
#define MPU_CONFIG_PRESSURE (0x22)
+#define MPU_GET_CONFIG_ACCEL (0x28)
+#define MPU_GET_CONFIG_COMPASS (0x29)
+#define MPU_GET_CONFIG_PRESSURE (0x2a)
+
/* Structure for the following IOCTL's:
MPU_SET_RAM
MPU_GET_RAM
@@ -97,18 +101,7 @@ struct mpu_read_write {
unsigned char *data;
};
-/* Structure for the following IOCTL's
- MPU_SUSPEND
- MPU_RESUME
-*/
-struct mpu_suspend_resume {
- int gyro;
- int accel;
- int compass;
- int pressure;
-};
-
-struct irq_data {
+struct mpuirq_data {
int interruptcount;
unsigned long long irqtime;
int data_type;
@@ -116,24 +109,38 @@ struct irq_data {
void *data;
};
enum ext_slave_config_key {
- MPU_SLAVE_CONFIG_ODR_SUSPEND,
- MPU_SLAVE_CONFIG_ODR_RESUME,
- MPU_SLAVE_CONFIG_FSR_SUSPEND,
- MPU_SLAVE_CONFIG_FSR_RESUME,
- MPU_SLAVE_CONFIG_MOT_THS,
- MPU_SLAVE_CONFIG_NMOT_THS,
- MPU_SLAVE_CONFIG_MOT_DUR,
- MPU_SLAVE_CONFIG_NMOT_DUR,
- MPU_SLAVE_CONFIG_NUM_CONFIG_KEYS,
+ MPU_SLAVE_CONFIG_ODR_SUSPEND,
+ MPU_SLAVE_CONFIG_ODR_RESUME,
+ MPU_SLAVE_CONFIG_FSR_SUSPEND,
+ MPU_SLAVE_CONFIG_FSR_RESUME,
+ MPU_SLAVE_CONFIG_MOT_THS,
+ MPU_SLAVE_CONFIG_NMOT_THS,
+ MPU_SLAVE_CONFIG_MOT_DUR,
+ MPU_SLAVE_CONFIG_NMOT_DUR,
+ MPU_SLAVE_CONFIG_IRQ_SUSPEND,
+ MPU_SLAVE_CONFIG_IRQ_RESUME,
+ MPU_SLAVE_CONFIG_NUM_CONFIG_KEYS,
};
+
+/* For the MPU_SLAVE_CONFIG_IRQ_SUSPEND and MPU_SLAVE_CONFIG_IRQ_RESUME */
+enum ext_slave_config_irq_type {
+ MPU_SLAVE_IRQ_TYPE_NONE,
+ MPU_SLAVE_IRQ_TYPE_MOTION,
+ MPU_SLAVE_IRQ_TYPE_DATA_READY,
+};
+
/* Structure for the following IOCTS's
* MPU_CONFIG_ACCEL
* MPU_CONFIG_COMPASS
* MPU_CONFIG_PRESSURE
+ * MPU_GET_CONFIG_ACCEL
+ * MPU_GET_CONFIG_COMPASS
+ * MPU_GET_CONFIG_PRESSURE
*/
struct ext_slave_config {
int key;
int len;
+ int apply;
void *data;
};
@@ -156,8 +163,9 @@ enum ext_slave_id {
ACCEL_ID_BMA222,
ACCEL_ID_ADI346,
ACCEL_ID_MMA8450,
- ACCEL_ID_MMA8451,
+ ACCEL_ID_MMA845X,
ACCEL_ID_MPU6000,
+ ACCEL_ID_LIS3DH,
COMPASS_ID_AKM,
COMPASS_ID_AMI30X,
@@ -166,6 +174,7 @@ enum ext_slave_id {
COMPASS_ID_LSM303,
COMPASS_ID_MMC314X,
COMPASS_ID_HSCDTD002B,
+ COMPASS_ID_HSCDTD004A,
PRESSURE_ID_BMA085,
};
@@ -229,6 +238,7 @@ struct tFixPntRange {
* @init: function used to preallocate memory used by the driver
* @exit: function used to free memory allocated for the driver
* @config: function used to configure the device
+ * @get_config:function used to get the device's configuration
*
* @name: text name of the device
* @type: device type. enum ext_slave_type
@@ -262,6 +272,10 @@ struct ext_slave_descr {
struct ext_slave_descr *slave,
struct ext_slave_platform_data *pdata,
struct ext_slave_config *config);
+ int (*get_config) (void *mlsl_handle,
+ struct ext_slave_descr *slave,
+ struct ext_slave_platform_data *pdata,
+ struct ext_slave_config *config);
char *name;
unsigned char type;
@@ -302,65 +316,73 @@ struct mpu3050_platform_data {
*/
#define get_accel_slave_descr NULL
-#ifdef CONFIG_SENSORS_ADXL346 /* ADI accelerometer */
+#ifdef CONFIG_MPU_SENSORS_ADXL346 /* ADI accelerometer */
struct ext_slave_descr *adxl346_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr adxl346_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_BMA150 /* Bosch accelerometer */
+#ifdef CONFIG_MPU_SENSORS_BMA150 /* Bosch accelerometer */
struct ext_slave_descr *bma150_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr bma150_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_BMA222 /* Bosch 222 accelerometer */
+#ifdef CONFIG_MPU_SENSORS_BMA222 /* Bosch 222 accelerometer */
struct ext_slave_descr *bma222_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr bma222_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_KXSD9 /* Kionix accelerometer */
+#ifdef CONFIG_MPU_SENSORS_KXSD9 /* Kionix accelerometer */
struct ext_slave_descr *kxsd9_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr kxsd9_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_KXTF9_MPU /* Kionix accelerometer */
+#ifdef CONFIG_MPU_SENSORS_KXTF9 /* Kionix accelerometer */
struct ext_slave_descr *kxtf9_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr kxtf9_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LIS331DLH /* ST accelerometer */
+#ifdef CONFIG_MPU_SENSORS_LIS331DLH /* ST accelerometer */
struct ext_slave_descr *lis331dlh_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr lis331dlh_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LSM303DLHA /* ST accelerometer */
+
+#ifdef CONFIG_MPU_SENSORS_LIS3DH /* ST accelerometer */
+struct ext_slave_descr *lis3dh_get_slave_descr(void);
+#undef get_accel_slave_descr
+#define get_accel_slave_descr lis3dh_get_slave_descr
+#endif
+
+#ifdef CONFIG_MPU_SENSORS_LSM303DLHA /* ST accelerometer */
struct ext_slave_descr *lsm303dlha_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr lsm303dlha_get_slave_descr
#endif
/* MPU6000 Accel */
-#if defined(CONFIG_SENSORS_MPU6000) || defined(CONFIG_SENSORS_MPU6000_MODULE)
+#if defined(CONFIG_MPU_SENSORS_MPU6000) || \
+ defined(CONFIG_MPU_SENSORS_MPU6000_MODULE)
struct ext_slave_descr *mantis_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr mantis_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMA8450 /* Freescale accelerometer */
+#ifdef CONFIG_MPU_SENSORS_MMA8450 /* Freescale accelerometer */
struct ext_slave_descr *mma8450_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr mma8450_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMA8451 /* Freescale accelerometer */
-struct ext_slave_descr *mma8451_get_slave_descr(void);
+#ifdef CONFIG_MPU_SENSORS_MMA845X /* Freescale accelerometer */
+struct ext_slave_descr *mma845x_get_slave_descr(void);
#undef get_accel_slave_descr
-#define get_accel_slave_descr mma8451_get_slave_descr
+#define get_accel_slave_descr mma845x_get_slave_descr
#endif
@@ -369,54 +391,59 @@ struct ext_slave_descr *mma8451_get_slave_descr(void);
*/
#define get_compass_slave_descr NULL
-#ifdef CONFIG_SENSORS_AK8975_MPU /* AKM compass */
+#ifdef CONFIG_MPU_SENSORS_AK8975 /* AKM compass */
struct ext_slave_descr *ak8975_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr ak8975_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_AMI30X /* AICHI Steel compass */
+#ifdef CONFIG_MPU_SENSORS_AMI30X /* AICHI Steel compass */
struct ext_slave_descr *ami30x_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr ami30x_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_HMC5883 /* Honeywell compass */
+#ifdef CONFIG_MPU_SENSORS_HMC5883 /* Honeywell compass */
struct ext_slave_descr *hmc5883_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr hmc5883_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMC314X /* MEMSIC compass */
+#ifdef CONFIG_MPU_SENSORS_MMC314X /* MEMSIC compass */
struct ext_slave_descr *mmc314x_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr mmc314x_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LSM303DLHM /* ST compass */
+#ifdef CONFIG_MPU_SENSORS_LSM303DLHM /* ST compass */
struct ext_slave_descr *lsm303dlhm_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr lsm303dlhm_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_YAS529 /* Yamaha compass */
+#ifdef CONFIG_MPU_SENSORS_YAS529 /* Yamaha compass */
struct ext_slave_descr *yas529_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr yas529_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_HSCDTD002B /* Alps compass */
+#ifdef CONFIG_MPU_SENSORS_HSCDTD002B /* Alps HSCDTD002B compass */
struct ext_slave_descr *hscdtd002b_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr hscdtd002b_get_slave_descr
#endif
+#ifdef CONFIG_MPU_SENSORS_HSCDTD004A /* Alps HSCDTD004A compass */
+struct ext_slave_descr *hscdtd004a_get_slave_descr(void);
+#undef get_compass_slave_descr
+#define get_compass_slave_descr hscdtd004a_get_slave_descr
+#endif
/*
Pressure
*/
#define get_pressure_slave_descr NULL
-#ifdef CONFIG_SENSORS_BMA085 /* BMA pressure */
+#ifdef CONFIG_MPU_SENSORS_BMA085 /* BMA pressure */
struct ext_slave_descr *bma085_get_slave_descr(void);
#undef get_pressure_slave_descr
#define get_pressure_slave_descr bma085_get_slave_descr
diff --git a/include/linux/mpu6000.h b/include/linux/mpu6000.h
index 89c4cbb90b69..5a63c8f07b70 100644
--- a/include/linux/mpu6000.h
+++ b/include/linux/mpu6000.h
@@ -34,122 +34,122 @@
/*==== M_HW REGISTER SET ====*/
enum {
- MPUREG_XG_OFFS_TC = 0,
- MPUREG_YG_OFFS_TC,
- MPUREG_ZG_OFFS_TC,
- MPUREG_X_FINE_GAIN,
- MPUREG_Y_FINE_GAIN,
- MPUREG_Z_FINE_GAIN,
- MPUREG_XA_OFFS_H,
- MPUREG_XA_OFFS_L_TC,
- MPUREG_YA_OFFS_H,
- MPUREG_YA_OFFS_L_TC,
- MPUREG_ZA_OFFS_H,
+ MPUREG_XG_OFFS_TC = 0, /* 0x00 */
+ MPUREG_YG_OFFS_TC, /* 0x00 */
+ MPUREG_ZG_OFFS_TC, /* 0x00 */
+ MPUREG_X_FINE_GAIN, /* 0x00 */
+ MPUREG_Y_FINE_GAIN, /* 0x00 */
+ MPUREG_Z_FINE_GAIN, /* 0x00 */
+ MPUREG_XA_OFFS_H, /* 0x00 */
+ MPUREG_XA_OFFS_L_TC, /* 0x00 */
+ MPUREG_YA_OFFS_H, /* 0x00 */
+ MPUREG_YA_OFFS_L_TC, /* 0x00 */
+ MPUREG_ZA_OFFS_H, /* 0x00 */
MPUREG_ZA_OFFS_L_TC, /* 0xB */
- MPUREG_0C_RSVD,
- MPUREG_0D_RSVD,
- MPUREG_0E_RSVD,
- MPUREG_0F_RSVD,
- MPUREG_10_RSVD,
- MPUREG_11_RSVD,
- MPUREG_12_RSVD,
- MPUREG_XG_OFFS_USRH,
- MPUREG_XG_OFFS_USRL,
- MPUREG_YG_OFFS_USRH,
- MPUREG_YG_OFFS_USRL,
- MPUREG_ZG_OFFS_USRH,
- MPUREG_ZG_OFFS_USRL,
+ MPUREG_0C_RSVD, /* 0x00 */
+ MPUREG_0D_RSVD, /* 0x00 */
+ MPUREG_0E_RSVD, /* 0x00 */
+ MPUREG_0F_RSVD, /* 0x00 */
+ MPUREG_10_RSVD, /* 0x00 */
+ MPUREG_11_RSVD, /* 0x00 */
+ MPUREG_12_RSVD, /* 0x00 */
+ MPUREG_XG_OFFS_USRH, /* 0x00 */
+ MPUREG_XG_OFFS_USRL, /* 0x00 */
+ MPUREG_YG_OFFS_USRH, /* 0x00 */
+ MPUREG_YG_OFFS_USRL, /* 0x00 */
+ MPUREG_ZG_OFFS_USRH, /* 0x00 */
+ MPUREG_ZG_OFFS_USRL, /* 0x00 */
MPUREG_SMPLRT_DIV, /* 0x19 */
MPUREG_CONFIG, /* 0x1A ==> DLPF_FS_SYNC */
- MPUREG_GYRO_CONFIG,
- MPUREG_ACCEL_CONFIG,
- MPUREG_ACCEL_FF_THR,
- MPUREG_ACCEL_FF_DUR,
- MPUREG_ACCEL_MOT_THR,
- MPUREG_ACCEL_MOT_DUR,
- MPUREG_ACCEL_ZRMOT_THR,
- MPUREG_ACCEL_ZRMOT_DUR,
+ MPUREG_GYRO_CONFIG, /* 0x00 */
+ MPUREG_ACCEL_CONFIG, /* 0x00 */
+ MPUREG_ACCEL_FF_THR, /* 0x00 */
+ MPUREG_ACCEL_FF_DUR, /* 0x00 */
+ MPUREG_ACCEL_MOT_THR, /* 0x00 */
+ MPUREG_ACCEL_MOT_DUR, /* 0x00 */
+ MPUREG_ACCEL_ZRMOT_THR, /* 0x00 */
+ MPUREG_ACCEL_ZRMOT_DUR, /* 0x00 */
MPUREG_FIFO_EN, /* 0x23 */
- MPUREG_I2C_MST_CTRL,
+ MPUREG_I2C_MST_CTRL, /* 0x00 */
MPUREG_I2C_SLV0_ADDR, /* 0x25 */
- MPUREG_I2C_SLV0_REG,
- MPUREG_I2C_SLV0_CTRL,
+ MPUREG_I2C_SLV0_REG, /* 0x00 */
+ MPUREG_I2C_SLV0_CTRL, /* 0x00 */
MPUREG_I2C_SLV1_ADDR, /* 0x28 */
- MPUREG_I2C_SLV1_REG_PASSWORD,
- MPUREG_I2C_SLV1_CTRL,
+ MPUREG_I2C_SLV1_REG_PASSWORD, /* 0x00 */
+ MPUREG_I2C_SLV1_CTRL, /* 0x00 */
MPUREG_I2C_SLV2_ADDR, /* 0x2B */
- MPUREG_I2C_SLV2_REG,
- MPUREG_I2C_SLV2_CTRL,
+ MPUREG_I2C_SLV2_REG, /* 0x00 */
+ MPUREG_I2C_SLV2_CTRL, /* 0x00 */
MPUREG_I2C_SLV3_ADDR, /* 0x2E */
- MPUREG_I2C_SLV3_REG,
- MPUREG_I2C_SLV3_CTRL,
+ MPUREG_I2C_SLV3_REG, /* 0x00 */
+ MPUREG_I2C_SLV3_CTRL, /* 0x00 */
MPUREG_I2C_SLV4_ADDR, /* 0x31 */
- MPUREG_I2C_SLV4_REG,
- MPUREG_I2C_SLV4_DO,
- MPUREG_I2C_SLV4_CTRL,
- MPUREG_I2C_SLV4_DI,
+ MPUREG_I2C_SLV4_REG, /* 0x00 */
+ MPUREG_I2C_SLV4_DO, /* 0x00 */
+ MPUREG_I2C_SLV4_CTRL, /* 0x00 */
+ MPUREG_I2C_SLV4_DI, /* 0x00 */
MPUREG_I2C_MST_STATUS, /* 0x36 */
MPUREG_INT_PIN_CFG, /* 0x37 ==> -* INT_CFG */
MPUREG_INT_ENABLE, /* 0x38 ==> / */
MPUREG_DMP_INT_STATUS, /* 0x39 */
MPUREG_INT_STATUS, /* 0x3A */
MPUREG_ACCEL_XOUT_H, /* 0x3B */
- MPUREG_ACCEL_XOUT_L,
- MPUREG_ACCEL_YOUT_H,
- MPUREG_ACCEL_YOUT_L,
- MPUREG_ACCEL_ZOUT_H,
- MPUREG_ACCEL_ZOUT_L,
+ MPUREG_ACCEL_XOUT_L, /* 0x00 */
+ MPUREG_ACCEL_YOUT_H, /* 0x00 */
+ MPUREG_ACCEL_YOUT_L, /* 0x00 */
+ MPUREG_ACCEL_ZOUT_H, /* 0x00 */
+ MPUREG_ACCEL_ZOUT_L, /* 0x00 */
MPUREG_TEMP_OUT_H, /* 0x41 */
- MPUREG_TEMP_OUT_L,
+ MPUREG_TEMP_OUT_L, /* 0x00 */
MPUREG_GYRO_XOUT_H, /* 0x43 */
- MPUREG_GYRO_XOUT_L,
- MPUREG_GYRO_YOUT_H,
- MPUREG_GYRO_YOUT_L,
- MPUREG_GYRO_ZOUT_H,
- MPUREG_GYRO_ZOUT_L,
+ MPUREG_GYRO_XOUT_L, /* 0x00 */
+ MPUREG_GYRO_YOUT_H, /* 0x00 */
+ MPUREG_GYRO_YOUT_L, /* 0x00 */
+ MPUREG_GYRO_ZOUT_H, /* 0x00 */
+ MPUREG_GYRO_ZOUT_L, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_00, /* 0x49 */
- MPUREG_EXT_SLV_SENS_DATA_01,
- MPUREG_EXT_SLV_SENS_DATA_02,
- MPUREG_EXT_SLV_SENS_DATA_03,
- MPUREG_EXT_SLV_SENS_DATA_04,
- MPUREG_EXT_SLV_SENS_DATA_05,
+ MPUREG_EXT_SLV_SENS_DATA_01, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_02, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_03, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_04, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_05, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_06, /* 0x4F */
- MPUREG_EXT_SLV_SENS_DATA_07,
- MPUREG_EXT_SLV_SENS_DATA_08,
- MPUREG_EXT_SLV_SENS_DATA_09,
- MPUREG_EXT_SLV_SENS_DATA_10,
- MPUREG_EXT_SLV_SENS_DATA_11,
+ MPUREG_EXT_SLV_SENS_DATA_07, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_08, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_09, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_10, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_11, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_12, /* 0x55 */
- MPUREG_EXT_SLV_SENS_DATA_13,
- MPUREG_EXT_SLV_SENS_DATA_14,
- MPUREG_EXT_SLV_SENS_DATA_15,
- MPUREG_EXT_SLV_SENS_DATA_16,
- MPUREG_EXT_SLV_SENS_DATA_17,
+ MPUREG_EXT_SLV_SENS_DATA_13, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_14, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_15, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_16, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_17, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_18, /* 0x5B */
- MPUREG_EXT_SLV_SENS_DATA_19,
- MPUREG_EXT_SLV_SENS_DATA_20,
- MPUREG_EXT_SLV_SENS_DATA_21,
- MPUREG_EXT_SLV_SENS_DATA_22,
- MPUREG_EXT_SLV_SENS_DATA_23,
+ MPUREG_EXT_SLV_SENS_DATA_19, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_20, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_21, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_22, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_23, /* 0x00 */
ACCEL_INTEL_STATUS, /* 0x61 */
- MPUREG_62_RSVD,
- MPUREG_63_RSVD,
- MPUREG_64_RSVD,
- MPUREG_65_RSVD,
- MPUREG_66_RSVD,
- MPUREG_67_RSVD,
+ MPUREG_62_RSVD, /* 0x00 */
+ MPUREG_63_RSVD, /* 0x00 */
+ MPUREG_64_RSVD, /* 0x00 */
+ MPUREG_65_RSVD, /* 0x00 */
+ MPUREG_66_RSVD, /* 0x00 */
+ MPUREG_67_RSVD, /* 0x00 */
SIGNAL_PATH_RESET, /* 0x68 */
ACCEL_INTEL_CTRL, /* 0x69 */
MPUREG_USER_CTRL, /* 0x6A */
MPUREG_PWR_MGMT_1, /* 0x6B */
- MPUREG_PWR_MGMT_2,
+ MPUREG_PWR_MGMT_2, /* 0x00 */
MPUREG_BANK_SEL, /* 0x6D */
MPUREG_MEM_START_ADDR, /* 0x6E */
MPUREG_MEM_R_W, /* 0x6F */
- MPUREG_PRGM_STRT_ADDRH,
- MPUREG_PRGM_STRT_ADDRL,
+ MPUREG_PRGM_STRT_ADDRH, /* 0x00 */
+ MPUREG_PRGM_STRT_ADDRL, /* 0x00 */
MPUREG_FIFO_COUNTH, /* 0x72 */
- MPUREG_FIFO_COUNTL,
+ MPUREG_FIFO_COUNTL, /* 0x00 */
MPUREG_FIFO_R_W, /* 0x74 */
MPUREG_WHOAMI, /* 0x75,117 */
@@ -309,7 +309,12 @@ enum MPU_MEMORY_BANKS {
#define BIT_STBY_ZG 0x01
/* although it has 6, this refers to the gyros */
-#define MPU_NUM_AXES (3)
+#define MPU_NUM_AXES (3)
+
+#define ACCEL_MOT_THR_LSB (32) /* mg */
+#define ACCEL_MOT_DUR_LSB (1)
+#define ACCEL_ZRMOT_THR_LSB_CONVERSION(mg) ((mg *1000)/255)
+#define ACCEL_ZRMOT_DUR_LSB (64)
/*----------------------------------------------------------------------------*/
/*---- Alternative names to take care of conflicts with current mpu3050.h ----*/