1/* 2* Copyright (C) 2012 Invensense, Inc. 3* 4* Licensed under the Apache License, Version 2.0 (the "License"); 5* you may not use this file except in compliance with the License. 6* You may obtain a copy of the License at 7* 8* http://www.apache.org/licenses/LICENSE-2.0 9* 10* Unless required by applicable law or agreed to in writing, software 11* distributed under the License is distributed on an "AS IS" BASIS, 12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* See the License for the specific language governing permissions and 14* limitations under the License. 15*/ 16 17#ifndef INV_SENSOR_PARAMS_H 18#define INV_SENSOR_PARAMS_H 19 20/* Physical parameters of the sensors supported by Invensense MPL */ 21#define SENSORS_ROTATION_VECTOR_HANDLE (ID_RV) 22#define SENSORS_GAME_ROTATION_VECTOR_HANDLE (ID_GRV) 23#define SENSORS_LINEAR_ACCEL_HANDLE (ID_LA) 24#define SENSORS_GRAVITY_HANDLE (ID_GR) 25#define SENSORS_GYROSCOPE_HANDLE (ID_GY) 26#define SENSORS_RAW_GYROSCOPE_HANDLE (ID_RG) 27#define SENSORS_ACCELERATION_HANDLE (ID_A) 28#define SENSORS_MAGNETIC_FIELD_HANDLE (ID_M) 29#define SENSORS_RAW_MAGNETIC_FIELD_HANDLE (ID_RM) 30#define SENSORS_ORIENTATION_HANDLE (ID_O) 31#define SENSORS_SIGNIFICANT_MOTION_HANDLE (ID_SM) 32#define SENSORS_PEDOMETER_HANDLE (ID_P) 33#define SENSORS_STEP_COUNTER_HANDLE (ID_SC) 34#define SENSORS_GEOMAGNETIC_ROTATION_VECTOR_HANDLE (ID_GMRV) 35#define SENSORS_PRESSURE_HANDLE (ID_PS) 36#define SENSORS_FLUSH_COMPLETE (ID_FC) 37#define SENSORS_SCREEN_ORIENTATION_HANDLE (ID_SO) 38 39/******************************************/ 40/******************************************/ 41//MPU9350 INV_COMPASS 42#define COMPASS_MPU9350_RANGE (9830.f) 43#define COMPASS_MPU9350_RESOLUTION (0.15f) 44#define COMPASS_MPU9350_POWER (10.f) 45#define COMPASS_MPU9350_MINDELAY (1000) 46//MPU9250 INV_COMPASS 47#define COMPASS_MPU9250_RANGE (9830.f) 48#define COMPASS_MPU9250_RESOLUTION (0.15f) 49#define COMPASS_MPU9250_POWER (10.f) 50#define COMPASS_MPU9250_MINDELAY (10000) 51//MPU9150 INV_COMPASS 52#define COMPASS_MPU9150_RANGE (9830.f) 53#define COMPASS_MPU9150_RESOLUTION (0.285f) 54#define COMPASS_MPU9150_POWER (10.f) 55#define COMPASS_MPU9150_MINDELAY (10000) 56//COMPASS_ID_AK8975 57#define COMPASS_AKM8975_RANGE (9830.f) 58#define COMPASS_AKM8975_RESOLUTION (0.285f) 59#define COMPASS_AKM8975_POWER (10.f) 60#define COMPASS_AKM8975_MINDELAY (10000) 61//COMPASS_ID_AK8963C 62#define COMPASS_AKM8963_RANGE (9830.f) 63#define COMPASS_AKM8963_RESOLUTION (0.15f) 64#define COMPASS_AKM8963_POWER (10.f) 65#define COMPASS_AKM8963_MINDELAY (10000) 66//COMPASS_ID_AMI30X 67#define COMPASS_AMI30X_RANGE (5461.f) 68#define COMPASS_AMI30X_RESOLUTION (0.9f) 69#define COMPASS_AMI30X_POWER (0.15f) 70//COMPASS_ID_AMI306 71#define COMPASS_AMI306_RANGE (5461.f) 72#define COMPASS_AMI306_RESOLUTION (0.9f) 73#define COMPASS_AMI306_POWER (0.15f) 74#define COMPASS_AMI306_MINDELAY (10000) 75//COMPASS_ID_YAS529 76#define COMPASS_YAS529_RANGE (19660.f) 77#define COMPASS_YAS529_RESOLUTION (0.012f) 78#define COMPASS_YAS529_POWER (4.f) 79//COMPASS_ID_YAS53x 80#define COMPASS_YAS53x_RANGE (8001.f) 81#define COMPASS_YAS53x_RESOLUTION (0.012f) 82#define COMPASS_YAS53x_POWER (4.f) 83#define COMPASS_YAS53x_MINDELAY (10000) 84//COMPASS_ID_HMC5883 85#define COMPASS_HMC5883_RANGE (10673.f) 86#define COMPASS_HMC5883_RESOLUTION (10.f) 87#define COMPASS_HMC5883_POWER (0.24f) 88//COMPASS_ID_LSM303DLH 89#define COMPASS_LSM303DLH_RANGE (10240.f) 90#define COMPASS_LSM303DLH_RESOLUTION (1.f) 91#define COMPASS_LSM303DLH_POWER (1.f) 92//COMPASS_ID_LSM303DLM 93#define COMPASS_LSM303DLM_RANGE (10240.f) 94#define COMPASS_LSM303DLM_RESOLUTION (1.f) 95#define COMPASS_LSM303DLM_POWER (1.f) 96//COMPASS_ID_MMC314X 97#define COMPASS_MMC314X_RANGE (400.f) 98#define COMPASS_MMC314X_RESOLUTION (2.f) 99#define COMPASS_MMC314X_POWER (0.55f) 100//COMPASS_ID_HSCDTD002B 101#define COMPASS_HSCDTD002B_RANGE (9830.f) 102#define COMPASS_HSCDTD002B_RESOLUTION (1.f) 103#define COMPASS_HSCDTD002B_POWER (1.f) 104//COMPASS_ID_HSCDTD004A 105#define COMPASS_HSCDTD004A_RANGE (9830.f) 106#define COMPASS_HSCDTD004A_RESOLUTION (1.f) 107#define COMPASS_HSCDTD004A_POWER (1.f) 108/*******************************************/ 109//ACCEL_ID_MPU6500 110#define ACCEL_MPU6500_RANGE (2.f * GRAVITY_EARTH) 111#define ACCEL_MPU6500_RESOLUTION (0.004f * GRAVITY_EARTH) 112#define ACCEL_MPU6500_POWER (0.5f) 113#define ACCEL_MPU6500_MINDELAY (1000) 114//ACCEL_ID_MPU9350 115#define ACCEL_MPU9350_RANGE (2.f * GRAVITY_EARTH) 116#define ACCEL_MPU9350_RESOLUTION (0.004f * GRAVITY_EARTH) 117#define ACCEL_MPU9350_POWER (0.5f) 118#define ACCEL_MPU9350_MINDELAY (1000) 119//ACCEL_ID_MPU9250 120#define ACCEL_MPU9250_RANGE (2.f * GRAVITY_EARTH) 121#define ACCEL_MPU9250_RESOLUTION (0.004f * GRAVITY_EARTH) 122#define ACCEL_MPU9250_POWER (0.5f) 123#define ACCEL_MPU9250_MINDELAY (1000) 124//ACCEL_ID_MPU9150 125#define ACCEL_MPU9150_RANGE (2.f * GRAVITY_EARTH) 126#define ACCEL_MPU9150_RESOLUTION (0.004f * GRAVITY_EARTH) 127#define ACCEL_MPU9150_POWER (0.5f) 128#define ACCEL_MPU9150_MINDELAY (1000) 129//ACCEL_ID_LIS331 130#define ACCEL_LIS331_RANGE (2.48f * GRAVITY_EARTH) 131#define ACCEL_LIS331_RESOLUTION (0.001f * GRAVITY_EARTH) 132#define ACCEL_LIS331_POWER (1.f) 133//ACCEL_ID_LSM303DLX 134#define ACCEL_LSM303DLX_RANGE (2.48f * GRAVITY_EARTH) 135#define ACCEL_LSM303DLX_RESOLUTION (0.001f * GRAVITY_EARTH) 136#define ACCEL_LSM303DLX_POWER (1.f) 137//ACCEL_ID_LIS3DH 138#define ACCEL_LIS3DH_RANGE (2.48f * GRAVITY_EARTH) 139#define ACCEL_LIS3DH_RESOLUTION (0.001f * GRAVITY_EARTH) 140#define ACCEL_LIS3DH_POWER (1.f) 141//ACCEL_ID_KXSD9 142#define ACCEL_KXSD9_RANGE (2.5006f * GRAVITY_EARTH) 143#define ACCEL_KXSD9_RESOLUTION (0.001f * GRAVITY_EARTH) 144#define ACCEL_KXSD9_POWER (1.f) 145//ACCEL_ID_KXTF9 146#define ACCEL_KXTF9_RANGE (1.f * GRAVITY_EARTH) 147#define ACCEL_KXTF9_RESOLUTION (0.033f * GRAVITY_EARTH) 148#define ACCEL_KXTF9_POWER (0.35f) 149//ACCEL_ID_BMA150 150#define ACCEL_BMA150_RANGE (2.f * GRAVITY_EARTH) 151#define ACCEL_BMA150_RESOLUTION (0.004f * GRAVITY_EARTH) 152#define ACCEL_BMA150_POWER (0.2f) 153//ACCEL_ID_BMA222 154#define ACCEL_BMA222_RANGE (2.f * GRAVITY_EARTH) 155#define ACCEL_BMA222_RESOLUTION (0.001f * GRAVITY_EARTH) 156#define ACCEL_BMA222_POWER (0.1f) 157//ACCEL_ID_BMA250 158#define ACCEL_BMA250_RANGE (2.f * GRAVITY_EARTH) 159#define ACCEL_BMA250_RESOLUTION (0.00391f * GRAVITY_EARTH) 160#define ACCEL_BMA250_POWER (0.139f) 161#define ACCEL_BMA250_MINDELAY (1000) 162//ACCEL_ID_ADXL34X 163#define ACCEL_ADXL34X_RANGE (2.f * GRAVITY_EARTH) 164#define ACCEL_ADXL34X_RESOLUTION (0.001f * GRAVITY_EARTH) 165#define ACCEL_ADXL34X_POWER (1.f) 166//ACCEL_ID_MMA8450 167#define ACCEL_MMA8450_RANGE (2.f * GRAVITY_EARTH) 168#define ACCEL_MMA8450_RESOLUTION (0.001f * GRAVITY_EARTH) 169#define ACCEL_MMA8450_POWER (1.0f) 170//ACCEL_ID_MMA845X 171#define ACCEL_MMA845X_RANGE (2.f * GRAVITY_EARTH) 172#define ACCEL_MMA845X_RESOLUTION (0.001f * GRAVITY_EARTH) 173#define ACCEL_MMA845X_POWER (1.f) 174//ACCEL_ID_MPU6050 175#define ACCEL_MPU6050_RANGE (2.f * GRAVITY_EARTH) 176#define ACCEL_MPU6050_RESOLUTION (0.004f * GRAVITY_EARTH) 177#define ACCEL_MPU6050_POWER (5.5f) 178#define ACCEL_MPU6050_MINDELAY (1000) 179/******************************************/ 180//GYRO MPU3050 181#define RAD_P_DEG (3.14159f / 180.f) 182#define GYRO_MPU3050_RANGE (2000.f * RAD_P_DEG) 183#define GYRO_MPU3050_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 184#define GYRO_MPU3050_POWER (6.1f) 185#define GYRO_MPU3050_MINDELAY (1000) 186//GYRO MPU6050 187#define GYRO_MPU6050_RANGE (2000.f * RAD_P_DEG) 188#define GYRO_MPU6050_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 189#define GYRO_MPU6050_POWER (5.5f) 190#define GYRO_MPU6050_MINDELAY (1000) 191//GYRO MPU9150 192#define GYRO_MPU9150_RANGE (2000.f * RAD_P_DEG) 193#define GYRO_MPU9150_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 194#define GYRO_MPU9150_POWER (5.5f) 195#define GYRO_MPU9150_MINDELAY (1000) 196//GYRO MPU9350 197#define GYRO_MPU9350_RANGE (2000.f * RAD_P_DEG) 198#define GYRO_MPU9350_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 199#define GYRO_MPU9350_POWER (5.5f) 200#define GYRO_MPU9350_MINDELAY (1000) 201//GYRO MPU9250 202#define GYRO_MPU9250_RANGE (2000.f * RAD_P_DEG) 203#define GYRO_MPU9250_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 204#define GYRO_MPU9250_POWER (5.5f) 205#define GYRO_MPU9250_MINDELAY (1000) 206//GYRO MPU6500 207#define GYRO_MPU6500_RANGE (2000.f * RAD_P_DEG) 208#define GYRO_MPU6500_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 209#define GYRO_MPU6500_POWER (5.5f) 210#define GYRO_MPU6500_MINDELAY (1000) 211//GYRO ITG3500 212#define GYRO_ITG3500_RANGE (2000.f * RAD_P_DEG) 213#define GYRO_ITG3500_RESOLUTION (2000.f / 32768.f * RAD_P_DEG) 214#define GYRO_ITG3500_POWER (5.5f) 215#define GYRO_ITG3500_MINDELAY (1000) 216/******************************************/ 217//PRESSURE BMP280 218#define PRESSURE_BMP280_RANGE (1100.f) // hpa 219#define PRESSURE_BMP280_RESOLUTION (0.0018f) // in psi 220#define PRESSURE_BMP280_POWER (0.0248f) // 0.00248mA 221#define PRESSURE_BMP280_MINDELAY (100000) // 10Hz 222#endif /* INV_SENSOR_PARAMS_H */ 223 224