1/*
2* Copyright (C) 2014 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/******************************************/
21/******************************************/
22//MPU9350 INV_COMPASS
23#define COMPASS_MPU9350_RANGE           (9830.f)
24#define COMPASS_MPU9350_RESOLUTION      (0.15f)
25#define COMPASS_MPU9350_POWER           (10.f)
26#define COMPASS_MPU9350_MINDELAY        (1000)
27//MPU9250 INV_COMPASS
28#define COMPASS_MPU9250_RANGE           (9830.f)
29#define COMPASS_MPU9250_RESOLUTION      (0.15f)
30#define COMPASS_MPU9250_POWER           (10.f)
31#define COMPASS_MPU9250_MINDELAY        (10000)
32//MPU9150 INV_COMPASS
33#define COMPASS_MPU9150_RANGE           (9830.f)
34#define COMPASS_MPU9150_RESOLUTION      (0.285f)
35#define COMPASS_MPU9150_POWER           (10.f)
36#define COMPASS_MPU9150_MINDELAY        (10000)
37//COMPASS_ID_AK8975
38#define COMPASS_AKM8975_RANGE           (9830.f)
39#define COMPASS_AKM8975_RESOLUTION      (0.285f)
40#define COMPASS_AKM8975_POWER           (10.f)
41#define COMPASS_AKM8975_MINDELAY        (10000)
42//COMPASS_ID_AK8963C
43#define COMPASS_AKM8963_RANGE           (9830.f)
44#define COMPASS_AKM8963_RESOLUTION      (0.15f)
45#define COMPASS_AKM8963_POWER           (10.f)
46#define COMPASS_AKM8963_MINDELAY        (10000)
47//COMPASS_ID_AK09911
48#define COMPASS_AKM9911_RANGE           (9830.f)
49#define COMPASS_AKM9911_RESOLUTION      (0.60f)
50#define COMPASS_AKM9911_POWER           (10.f)
51#define COMPASS_AKM9911_MINDELAY        (10000)
52//COMPASS_ID_AMI30X
53#define COMPASS_AMI30X_RANGE            (5461.f)
54#define COMPASS_AMI30X_RESOLUTION       (0.9f)
55#define COMPASS_AMI30X_POWER            (0.15f)
56//COMPASS_ID_AMI306
57#define COMPASS_AMI306_RANGE            (5461.f)
58#define COMPASS_AMI306_RESOLUTION       (0.9f)
59#define COMPASS_AMI306_POWER            (0.15f)
60#define COMPASS_AMI306_MINDELAY         (10000)
61//COMPASS_ID_YAS529
62#define COMPASS_YAS529_RANGE            (19660.f)
63#define COMPASS_YAS529_RESOLUTION       (0.012f)
64#define COMPASS_YAS529_POWER            (4.f)
65//COMPASS_ID_YAS53x
66#define COMPASS_YAS53x_RANGE            (8001.f)
67#define COMPASS_YAS53x_RESOLUTION       (0.012f)
68#define COMPASS_YAS53x_POWER            (4.f)
69#define COMPASS_YAS53x_MINDELAY         (10000)
70//COMPASS_ID_HMC5883
71#define COMPASS_HMC5883_RANGE           (10673.f)
72#define COMPASS_HMC5883_RESOLUTION      (10.f)
73#define COMPASS_HMC5883_POWER           (0.24f)
74//COMPASS_ID_LSM303DLH
75#define COMPASS_LSM303DLH_RANGE         (10240.f)
76#define COMPASS_LSM303DLH_RESOLUTION    (1.f)
77#define COMPASS_LSM303DLH_POWER         (1.f)
78//COMPASS_ID_LSM303DLM
79#define COMPASS_LSM303DLM_RANGE         (10240.f)
80#define COMPASS_LSM303DLM_RESOLUTION    (1.f)
81#define COMPASS_LSM303DLM_POWER         (1.f)
82//COMPASS_ID_MMC314X
83#define COMPASS_MMC314X_RANGE           (400.f)
84#define COMPASS_MMC314X_RESOLUTION      (2.f)
85#define COMPASS_MMC314X_POWER           (0.55f)
86//COMPASS_ID_HSCDTD002B
87#define COMPASS_HSCDTD002B_RANGE        (9830.f)
88#define COMPASS_HSCDTD002B_RESOLUTION   (1.f)
89#define COMPASS_HSCDTD002B_POWER        (1.f)
90//COMPASS_ID_HSCDTD004A
91#define COMPASS_HSCDTD004A_RANGE        (9830.f)
92#define COMPASS_HSCDTD004A_RESOLUTION   (1.f)
93#define COMPASS_HSCDTD004A_POWER        (1.f)
94/*******************************************/
95//ACCEL_ID_MPU6500
96#define ACCEL_MPU6500_RANGE             (2.f * GRAVITY_EARTH)
97#define ACCEL_MPU6500_RESOLUTION        (0.004f * GRAVITY_EARTH)
98#define ACCEL_MPU6500_POWER             (0.5f)
99#define ACCEL_MPU6500_MINDELAY          (5000)
100//ACCEL_ID_MPU9350
101#define ACCEL_MPU9350_RANGE             (2.f * GRAVITY_EARTH)
102#define ACCEL_MPU9350_RESOLUTION        (0.004f * GRAVITY_EARTH)
103#define ACCEL_MPU9350_POWER             (0.5f)
104#define ACCEL_MPU9350_MINDELAY          (1000)
105//ACCEL_ID_MPU9250
106#define ACCEL_MPU9250_RANGE             (2.f * GRAVITY_EARTH)
107#define ACCEL_MPU9250_RESOLUTION        (0.004f * GRAVITY_EARTH)
108#define ACCEL_MPU9250_POWER             (0.5f)
109#define ACCEL_MPU9250_MINDELAY          (5000)
110//ACCEL_ID_MPU9150
111#define ACCEL_MPU9150_RANGE             (2.f * GRAVITY_EARTH)
112#define ACCEL_MPU9150_RESOLUTION        (0.004f * GRAVITY_EARTH)
113#define ACCEL_MPU9150_POWER             (0.5f)
114#define ACCEL_MPU9150_MINDELAY          (1000)
115//ACCEL_ID_LIS331
116#define ACCEL_LIS331_RANGE              (2.48f * GRAVITY_EARTH)
117#define ACCEL_LIS331_RESOLUTION         (0.001f * GRAVITY_EARTH)
118#define ACCEL_LIS331_POWER              (1.f)
119//ACCEL_ID_LSM303DLX
120#define ACCEL_LSM303DLX_RANGE           (2.48f * GRAVITY_EARTH)
121#define ACCEL_LSM303DLX_RESOLUTION      (0.001f * GRAVITY_EARTH)
122#define ACCEL_LSM303DLX_POWER           (1.f)
123//ACCEL_ID_LIS3DH
124#define ACCEL_LIS3DH_RANGE              (2.48f * GRAVITY_EARTH)
125#define ACCEL_LIS3DH_RESOLUTION         (0.001f * GRAVITY_EARTH)
126#define ACCEL_LIS3DH_POWER              (1.f)
127//ACCEL_ID_KXSD9
128#define ACCEL_KXSD9_RANGE               (2.5006f * GRAVITY_EARTH)
129#define ACCEL_KXSD9_RESOLUTION          (0.001f * GRAVITY_EARTH)
130#define ACCEL_KXSD9_POWER               (1.f)
131//ACCEL_ID_KXTF9
132#define ACCEL_KXTF9_RANGE               (1.f * GRAVITY_EARTH)
133#define ACCEL_KXTF9_RESOLUTION          (0.033f * GRAVITY_EARTH)
134#define ACCEL_KXTF9_POWER               (0.35f)
135//ACCEL_ID_BMA150
136#define ACCEL_BMA150_RANGE              (2.f * GRAVITY_EARTH)
137#define ACCEL_BMA150_RESOLUTION         (0.004f * GRAVITY_EARTH)
138#define ACCEL_BMA150_POWER              (0.2f)
139//ACCEL_ID_BMA222
140#define ACCEL_BMA222_RANGE              (2.f * GRAVITY_EARTH)
141#define ACCEL_BMA222_RESOLUTION         (0.001f * GRAVITY_EARTH)
142#define ACCEL_BMA222_POWER              (0.1f)
143//ACCEL_ID_BMA250
144#define ACCEL_BMA250_RANGE              (2.f * GRAVITY_EARTH)
145#define ACCEL_BMA250_RESOLUTION         (0.00391f * GRAVITY_EARTH)
146#define ACCEL_BMA250_POWER              (0.139f)
147#define ACCEL_BMA250_MINDELAY           (1000)
148//ACCEL_ID_ADXL34X
149#define ACCEL_ADXL34X_RANGE             (2.f * GRAVITY_EARTH)
150#define ACCEL_ADXL34X_RESOLUTION        (0.001f * GRAVITY_EARTH)
151#define ACCEL_ADXL34X_POWER             (1.f)
152//ACCEL_ID_MMA8450
153#define ACCEL_MMA8450_RANGE             (2.f * GRAVITY_EARTH)
154#define ACCEL_MMA8450_RESOLUTION        (0.001f * GRAVITY_EARTH)
155#define ACCEL_MMA8450_POWER             (1.0f)
156//ACCEL_ID_MMA845X
157#define ACCEL_MMA845X_RANGE             (2.f * GRAVITY_EARTH)
158#define ACCEL_MMA845X_RESOLUTION        (0.001f * GRAVITY_EARTH)
159#define ACCEL_MMA845X_POWER             (1.f)
160//ACCEL_ID_MPU6050
161#define ACCEL_MPU6050_RANGE             (2.f * GRAVITY_EARTH)
162#define ACCEL_MPU6050_RESOLUTION        (0.004f * GRAVITY_EARTH)
163#define ACCEL_MPU6050_POWER             (5.5f)
164#define ACCEL_MPU6050_MINDELAY          (1000)
165/******************************************/
166//GYRO MPU3050
167#define RAD_P_DEG                       (3.14159f / 180.f)
168#define GYRO_MPU3050_RANGE              (2000.f * RAD_P_DEG)
169#define GYRO_MPU3050_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
170#define GYRO_MPU3050_POWER              (6.1f)
171#define GYRO_MPU3050_MINDELAY           (1000)
172//GYRO MPU6050
173#define GYRO_MPU6050_RANGE              (2000.f * RAD_P_DEG)
174#define GYRO_MPU6050_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
175#define GYRO_MPU6050_POWER              (5.5f)
176#define GYRO_MPU6050_MINDELAY           (1000)
177//GYRO MPU9150
178#define GYRO_MPU9150_RANGE              (2000.f * RAD_P_DEG)
179#define GYRO_MPU9150_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
180#define GYRO_MPU9150_POWER              (5.5f)
181#define GYRO_MPU9150_MINDELAY           (1000)
182//GYRO MPU9350
183#define GYRO_MPU9350_RANGE              (2000.f * RAD_P_DEG)
184#define GYRO_MPU9350_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
185#define GYRO_MPU9350_POWER              (5.5f)
186#define GYRO_MPU9350_MINDELAY           (1000)
187//GYRO MPU9250
188#define GYRO_MPU9250_RANGE              (2000.f * RAD_P_DEG)
189#define GYRO_MPU9250_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
190#define GYRO_MPU9250_POWER              (5.5f)
191#define GYRO_MPU9250_MINDELAY           (5000)
192//GYRO MPU6500
193#define GYRO_MPU6500_RANGE              (2000.f * RAD_P_DEG)
194#define GYRO_MPU6500_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
195#define GYRO_MPU6500_POWER              (5.5f)
196#define GYRO_MPU6500_MINDELAY           (5000)
197//GYRO ITG3500
198#define GYRO_ITG3500_RANGE              (2000.f * RAD_P_DEG)
199#define GYRO_ITG3500_RESOLUTION         (2000.f / 32768.f * RAD_P_DEG)
200#define GYRO_ITG3500_POWER              (5.5f)
201#define GYRO_ITG3500_MINDELAY           (1000)
202/******************************************/
203//PRESSURE BMP280
204#define PRESSURE_BMP280_RANGE           (1100.f)   // hpa
205#define PRESSURE_BMP280_RESOLUTION      (0.009995f)// in psi
206#define PRESSURE_BMP280_POWER           (0.004f)   // 0.004mA
207#define PRESSURE_BMP280_MINDELAY        (33333)    // 30Hz unit in ns
208#endif  /* INV_SENSOR_PARAMS_H */
209
210