Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
bmi088_regs.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2019 Gautier Hattenberger <gaurier.hattenberger@enac.fr>
3
*
4
* This file is part of paparazzi.
5
*
6
* paparazzi is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* paparazzi is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with paparazzi; see the file COPYING. If not, see
18
* <http://www.gnu.org/licenses/>.
19
*/
20
27
#ifndef BMI088_REGS_H
28
#define BMI088_REGS_H
29
30
/* default I2C address */
31
#define BMI088_ACCEL_ADDR (0x18<<1)
32
#define BMI088_ACCEL_ADDR_ALT (0x19<<1)
33
34
#define BMI088_ACCEL_CHIP_ID 0x00 // Default value 0x1E
35
#define BMI088_ACCEL_ERR_REG 0x02
36
#define BMI088_ACCEL_STATUS 0x03
37
38
#define BMI088_ACCEL_X_LSB 0x12
39
#define BMI088_ACCEL_X_MSB 0x13
40
#define BMI088_ACCEL_Y_LSB 0x14
41
#define BMI088_ACCEL_Y_MSB 0x15
42
#define BMI088_ACCEL_Z_LSB 0x16
43
#define BMI088_ACCEL_Z_MSB 0x17
44
45
#define BMI088_ACCEL_SENSOR_TIME_0 0x18
46
#define BMI088_ACCEL_SENSOR_TIME_1 0x19
47
#define BMI088_ACCEL_SENSOR_TIME_2 0x1A
48
49
#define BMI088_ACCEL_INT_STAT_1 0x1D
50
51
#define BMI088_ACCEL_TEMP_MSB 0x22
52
#define BMI088_ACCEL_TEMP_LSB 0x23
53
54
#define BMI088_ACCEL_CONF 0x40
55
#define BMI088_ACCEL_RANGE 0x41
56
57
#define BMI088_ACCEL_INT1_IO_CTRL 0x53
58
#define BMI088_ACCEL_INT2_IO_CTRL 0x54
59
#define BMI088_ACCEL_INT_MAP_DATA 0x58
60
61
#define BMI088_ACCEL_SELF_TEST 0x6D
62
63
#define BMI088_ACCEL_PWR_CONF 0x7C
64
#define BMI088_ACCEL_PWR_CTRl 0x7D
65
66
#define BMI088_ACCEL_SOFT_RESET 0x7E
67
68
#define BMI088_GYRO_ADDR (0x68<<1)
69
#define BMI088_GYRO_ADDR_ALT (0x69<<1)
70
71
#define BMI088_GYRO_CHIP_ID 0x00 // Default value 0x0F
72
73
#define BMI088_GYRO_RATE_X_LSB 0x02
74
#define BMI088_GYRO_RATE_X_MSB 0x03
75
#define BMI088_GYRO_RATE_Y_LSB 0x04
76
#define BMI088_GYRO_RATE_Y_MSB 0x05
77
#define BMI088_GYRO_RATE_Z_LSB 0x06
78
#define BMI088_GYRO_RATE_Z_MSB 0x07
79
80
#define BMI088_GYRO_INT_STAT_1 0x0A
81
82
#define BMI088_GYRO_RANGE 0x0F
83
#define BMI088_GYRO_BAND_WIDTH 0x10
84
85
#define BMI088_GYRO_LPM_1 0x11
86
87
#define BMI088_GYRO_SOFT_RESET 0x14
88
89
#define BMI088_GYRO_INT_CTRL 0x15
90
#define BMI088_GYRO_INT3_INT4_IO_CONF 0x16
91
#define BMI088_GYRO_INT3_INT4_IO_MAP 0x18
92
93
#define BMI088_GYRO_SELF_TEST 0x3C
94
97
enum
Bmi088AccelRanges
98
{
99
BMI088_ACCEL_RANGE_3G
= 0x00,
100
BMI088_ACCEL_RANGE_6G
= 0x01,
101
BMI088_ACCEL_RANGE_12G
= 0x02,
102
BMI088_ACCEL_RANGE_24G
= 0x03,
103
};
104
107
enum
Bmi088AccelODR
108
{
109
BMI088_ACCEL_ODR_12
= 0x05,
110
BMI088_ACCEL_ODR_25
= 0x06,
111
BMI088_ACCEL_ODR_50
= 0x07,
112
BMI088_ACCEL_ODR_100
= 0x08,
113
BMI088_ACCEL_ODR_200
= 0x09,
114
BMI088_ACCEL_ODR_400
= 0x0A,
115
BMI088_ACCEL_ODR_800
= 0x0B,
116
BMI088_ACCEL_ODR_1600
= 0x0C,
117
};
118
121
enum
Bmi088AccelBW
122
{
123
BMI088_ACCEL_BW_OSR4
= 0x08,
124
BMI088_ACCEL_BW_OSR2
= 0x09,
125
BMI088_ACCEL_BW_NORMAL
= 0x0A,
126
};
127
130
enum
Bmi088AccelPowerType
131
{
132
BMI088_ACCEL_ACTIVE
= 0x00,
133
BMI088_ACCEL_SUSPEND
= 0x03,
134
};
135
138
enum
Bmi088AccelPowerCtrl
139
{
140
BMI088_ACCEL_POWER_OFF
= 0x00,
141
BMI088_ACCEL_POWER_ON
= 0x04,
142
};
143
146
enum
Bmi088GyroRanges
147
{
148
BMI088_GYRO_RANGE_2000
= 0x00,
149
BMI088_GYRO_RANGE_1000
= 0x01,
150
BMI088_GYRO_RANGE_500
= 0x02,
151
BMI088_GYRO_RANGE_250
= 0x03,
152
BMI088_GYRO_RANGE_125
= 0x04,
153
};
154
157
enum
Bmi088GyroODR
158
{
159
BMI088_GYRO_ODR_2000_BW_532
= 0x00,
160
BMI088_GYRO_ODR_2000_BW_230
= 0x01,
161
BMI088_GYRO_ODR_1000_BW_116
= 0x02,
162
BMI088_GYRO_ODR_400_BW_47
= 0x03,
163
BMI088_GYRO_ODR_200_BW_23
= 0x04,
164
BMI088_GYRO_ODR_100_BW_12
= 0x05,
165
BMI088_GYRO_ODR_200_BW_64
= 0x06,
166
BMI088_GYRO_ODR_100_BW_32
= 0x07,
167
};
168
171
enum
Bmi088GyroPowerType
172
{
173
BMI088_GYRO_NORMAL
= 0x00,
174
BMI088_GYRO_SUSPEND
= 0x80,
175
BMI088_GYRO_DEEP_SUSPEND
= 0x20,
176
};
177
178
179
#endif
/* BMI088_REGS_H */
180
BMI088_ACCEL_ODR_50
@ BMI088_ACCEL_ODR_50
Definition:
bmi088_regs.h:111
BMI088_GYRO_ODR_2000_BW_230
@ BMI088_GYRO_ODR_2000_BW_230
Definition:
bmi088_regs.h:160
BMI088_GYRO_ODR_100_BW_12
@ BMI088_GYRO_ODR_100_BW_12
Definition:
bmi088_regs.h:164
BMI088_ACCEL_ODR_1600
@ BMI088_ACCEL_ODR_1600
Definition:
bmi088_regs.h:116
BMI088_ACCEL_BW_NORMAL
@ BMI088_ACCEL_BW_NORMAL
Definition:
bmi088_regs.h:125
BMI088_ACCEL_ODR_400
@ BMI088_ACCEL_ODR_400
Definition:
bmi088_regs.h:114
BMI088_GYRO_RANGE_125
@ BMI088_GYRO_RANGE_125
Definition:
bmi088_regs.h:152
BMI088_GYRO_ODR_400_BW_47
@ BMI088_GYRO_ODR_400_BW_47
Definition:
bmi088_regs.h:162
BMI088_GYRO_ODR_2000_BW_532
@ BMI088_GYRO_ODR_2000_BW_532
Definition:
bmi088_regs.h:159
BMI088_GYRO_NORMAL
@ BMI088_GYRO_NORMAL
Definition:
bmi088_regs.h:173
BMI088_GYRO_ODR_200_BW_23
@ BMI088_GYRO_ODR_200_BW_23
Definition:
bmi088_regs.h:163
BMI088_ACCEL_POWER_OFF
@ BMI088_ACCEL_POWER_OFF
Definition:
bmi088_regs.h:140
BMI088_ACCEL_ODR_800
@ BMI088_ACCEL_ODR_800
Definition:
bmi088_regs.h:115
BMI088_GYRO_RANGE_1000
@ BMI088_GYRO_RANGE_1000
Definition:
bmi088_regs.h:149
BMI088_ACCEL_RANGE_3G
@ BMI088_ACCEL_RANGE_3G
Definition:
bmi088_regs.h:99
Bmi088AccelRanges
Bmi088AccelRanges
Accel output range.
Definition:
bmi088_regs.h:97
Bmi088GyroODR
Bmi088GyroODR
Gyro output data rate and bandwidth.
Definition:
bmi088_regs.h:157
BMI088_GYRO_RANGE_500
@ BMI088_GYRO_RANGE_500
Definition:
bmi088_regs.h:150
BMI088_ACCEL_RANGE_6G
@ BMI088_ACCEL_RANGE_6G
Definition:
bmi088_regs.h:100
BMI088_ACCEL_ACTIVE
@ BMI088_ACCEL_ACTIVE
Definition:
bmi088_regs.h:132
Bmi088GyroRanges
Bmi088GyroRanges
Gyro output range.
Definition:
bmi088_regs.h:146
Bmi088AccelPowerType
Bmi088AccelPowerType
Accel power type.
Definition:
bmi088_regs.h:130
BMI088_GYRO_ODR_1000_BW_116
@ BMI088_GYRO_ODR_1000_BW_116
Definition:
bmi088_regs.h:161
BMI088_ACCEL_POWER_ON
@ BMI088_ACCEL_POWER_ON
Definition:
bmi088_regs.h:141
BMI088_ACCEL_BW_OSR4
@ BMI088_ACCEL_BW_OSR4
Definition:
bmi088_regs.h:123
BMI088_GYRO_RANGE_2000
@ BMI088_GYRO_RANGE_2000
Definition:
bmi088_regs.h:148
Bmi088GyroPowerType
Bmi088GyroPowerType
Gyro power type.
Definition:
bmi088_regs.h:171
BMI088_ACCEL_BW_OSR2
@ BMI088_ACCEL_BW_OSR2
Definition:
bmi088_regs.h:124
Bmi088AccelPowerCtrl
Bmi088AccelPowerCtrl
Accel power control.
Definition:
bmi088_regs.h:138
BMI088_ACCEL_ODR_100
@ BMI088_ACCEL_ODR_100
Definition:
bmi088_regs.h:112
Bmi088AccelODR
Bmi088AccelODR
Accel outpur data rate.
Definition:
bmi088_regs.h:107
BMI088_GYRO_DEEP_SUSPEND
@ BMI088_GYRO_DEEP_SUSPEND
Definition:
bmi088_regs.h:175
BMI088_GYRO_ODR_200_BW_64
@ BMI088_GYRO_ODR_200_BW_64
Definition:
bmi088_regs.h:165
BMI088_ACCEL_ODR_200
@ BMI088_ACCEL_ODR_200
Definition:
bmi088_regs.h:113
BMI088_GYRO_ODR_100_BW_32
@ BMI088_GYRO_ODR_100_BW_32
Definition:
bmi088_regs.h:166
BMI088_ACCEL_RANGE_24G
@ BMI088_ACCEL_RANGE_24G
Definition:
bmi088_regs.h:102
BMI088_GYRO_RANGE_250
@ BMI088_GYRO_RANGE_250
Definition:
bmi088_regs.h:151
Bmi088AccelBW
Bmi088AccelBW
Accel bandwith.
Definition:
bmi088_regs.h:121
BMI088_GYRO_SUSPEND
@ BMI088_GYRO_SUSPEND
Definition:
bmi088_regs.h:174
BMI088_ACCEL_ODR_12
@ BMI088_ACCEL_ODR_12
Definition:
bmi088_regs.h:109
BMI088_ACCEL_ODR_25
@ BMI088_ACCEL_ODR_25
Definition:
bmi088_regs.h:110
BMI088_ACCEL_SUSPEND
@ BMI088_ACCEL_SUSPEND
Definition:
bmi088_regs.h:133
BMI088_ACCEL_RANGE_12G
@ BMI088_ACCEL_RANGE_12G
Definition:
bmi088_regs.h:101
sw
airborne
peripherals
bmi088_regs.h
Generated on Tue Feb 1 2022 13:51:17 for Paparazzi UAS by
1.8.17