l3gd20
Select one of the symbols to view example projects that use it.
Symbol previews are coming soon...
Outline
#define __L3GD20_H
#include "../Common/gyro.h"
#define L3GD20_WHO_AM_I_ADDR
#define L3GD20_CTRL_REG1_ADDR
#define L3GD20_CTRL_REG2_ADDR
#define L3GD20_CTRL_REG3_ADDR
#define L3GD20_CTRL_REG4_ADDR
#define L3GD20_CTRL_REG5_ADDR
#define L3GD20_REFERENCE_REG_ADDR
#define L3GD20_OUT_TEMP_ADDR
#define L3GD20_STATUS_REG_ADDR
#define L3GD20_OUT_X_L_ADDR
#define L3GD20_OUT_X_H_ADDR
#define L3GD20_OUT_Y_L_ADDR
#define L3GD20_OUT_Y_H_ADDR
#define L3GD20_OUT_Z_L_ADDR
#define L3GD20_OUT_Z_H_ADDR
#define L3GD20_FIFO_CTRL_REG_ADDR
#define L3GD20_FIFO_SRC_REG_ADDR
#define L3GD20_INT1_CFG_ADDR
#define L3GD20_INT1_SRC_ADDR
#define L3GD20_INT1_TSH_XH_ADDR
#define L3GD20_INT1_TSH_XL_ADDR
#define L3GD20_INT1_TSH_YH_ADDR
#define L3GD20_INT1_TSH_YL_ADDR
#define L3GD20_INT1_TSH_ZH_ADDR
#define L3GD20_INT1_TSH_ZL_ADDR
#define L3GD20_INT1_DURATION_ADDR
#define I_AM_L3GD20
#define I_AM_L3GD20_TR
#define L3GD20_MODE_POWERDOWN
#define L3GD20_MODE_ACTIVE
#define L3GD20_OUTPUT_DATARATE_1
#define L3GD20_OUTPUT_DATARATE_2
#define L3GD20_OUTPUT_DATARATE_3
#define L3GD20_OUTPUT_DATARATE_4
#define L3GD20_X_ENABLE
#define L3GD20_Y_ENABLE
#define L3GD20_Z_ENABLE
#define L3GD20_AXES_ENABLE
#define L3GD20_AXES_DISABLE
#define L3GD20_BANDWIDTH_1
#define L3GD20_BANDWIDTH_2
#define L3GD20_BANDWIDTH_3
#define L3GD20_BANDWIDTH_4
#define L3GD20_FULLSCALE_250
#define L3GD20_FULLSCALE_500
#define L3GD20_FULLSCALE_2000
#define L3GD20_FULLSCALE_SELECTION
#define L3GD20_SENSITIVITY_250DPS
#define L3GD20_SENSITIVITY_500DPS
#define L3GD20_SENSITIVITY_2000DPS
#define L3GD20_BlockDataUpdate_Continous
#define L3GD20_BlockDataUpdate_Single
#define L3GD20_BLE_LSB
#define L3GD20_BLE_MSB
#define L3GD20_HIGHPASSFILTER_DISABLE
#define L3GD20_HIGHPASSFILTER_ENABLE
#define L3GD20_INT1
#define L3GD20_INT2
#define L3GD20_INT1INTERRUPT_DISABLE
#define L3GD20_INT1INTERRUPT_ENABLE
#define L3GD20_INT2INTERRUPT_DISABLE
#define L3GD20_INT2INTERRUPT_ENABLE
#define L3GD20_INT1INTERRUPT_LOW_EDGE
#define L3GD20_INT1INTERRUPT_HIGH_EDGE
#define L3GD20_BOOT_NORMALMODE
#define L3GD20_BOOT_REBOOTMEMORY
#define L3GD20_HPM_NORMAL_MODE_RES
#define L3GD20_HPM_REF_SIGNAL
#define L3GD20_HPM_NORMAL_MODE
#define L3GD20_HPM_AUTORESET_INT
#define L3GD20_HPFCF_0
#define L3GD20_HPFCF_1
#define L3GD20_HPFCF_2
#define L3GD20_HPFCF_3
#define L3GD20_HPFCF_4
#define L3GD20_HPFCF_5
#define L3GD20_HPFCF_6
#define L3GD20_HPFCF_7
#define L3GD20_HPFCF_8
#define L3GD20_HPFCF_9
L3GD20_Init(uint16_t);
L3GD20_DeInit();
L3GD20_LowPower(uint16_t);
L3GD20_ReadID();
L3GD20_RebootCmd();
L3GD20_INT1InterruptConfig(uint16_t);
L3GD20_EnableIT(uint8_t);
L3GD20_DisableIT(uint8_t);
L3GD20_FilterConfig(uint8_t);
L3GD20_FilterCmd(uint8_t);
L3GD20_ReadXYZAngRate(float *);
L3GD20_GetDataStatus();
GYRO_IO_Init();
GYRO_IO_DeInit();
GYRO_IO_Write(uint8_t *, uint8_t, uint16_t);
GYRO_IO_Read(uint8_t *, uint8_t, uint16_t);
L3gd20Drv;
Files
loading...
SourceVu
STM32 Libraries and Samples
l3gd20
l3gd20.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
/**
******************************************************************************
* @file l3gd20.h
* @author MCD Application Team
* @brief This file contains all the functions prototypes for the l3gd20.c driver.
******************************************************************************
* @attention
*
* Copyright (c) 2015 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* ... */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef
__L3GD20_H
#define
__L3GD20_H
#ifdef
__cplusplus
extern
"C"
{
#endif
/* Includes ------------------------------------------------------------------*/
#include
"
..
/
Common
/
gyro.h"
/** @addtogroup BSP
* @{
*/
/* ... */
/** @addtogroup Components
* @{
*/
/* ... */
/** @addtogroup L3GD20
* @{
*/
/* ... */
/** @defgroup L3GD20_Exported_Constants
* @{
*/
/* ... */
/******************************************************************************/
/*************************** START REGISTER MAPPING **************************/
/******************************************************************************/
#define
L3GD20_WHO_AM_I_ADDR
0x0F
/* device identification register */
#define
L3GD20_CTRL_REG1_ADDR
0x20
/* Control register 1 */
#define
L3GD20_CTRL_REG2_ADDR
0x21
/* Control register 2 */
#define
L3GD20_CTRL_REG3_ADDR
0x22
/* Control register 3 */
#define
L3GD20_CTRL_REG4_ADDR
0x23
/* Control register 4 */
#define
L3GD20_CTRL_REG5_ADDR
0x24
/* Control register 5 */
#define
L3GD20_REFERENCE_REG_ADDR
0x25
/* Reference register */
#define
L3GD20_OUT_TEMP_ADDR
0x26
/* Out temp register */
#define
L3GD20_STATUS_REG_ADDR
0x27
/* Status register */
#define
L3GD20_OUT_X_L_ADDR
0x28
/* Output Register X */
#define
L3GD20_OUT_X_H_ADDR
0x29
/* Output Register X */
#define
L3GD20_OUT_Y_L_ADDR
0x2A
/* Output Register Y */
#define
L3GD20_OUT_Y_H_ADDR
0x2B
/* Output Register Y */
#define
L3GD20_OUT_Z_L_ADDR
0x2C
/* Output Register Z */
#define
L3GD20_OUT_Z_H_ADDR
0x2D
/* Output Register Z */
#define
L3GD20_FIFO_CTRL_REG_ADDR
0x2E
/* Fifo control Register */
#define
L3GD20_FIFO_SRC_REG_ADDR
0x2F
/* Fifo src Register */
#define
L3GD20_INT1_CFG_ADDR
0x30
/* Interrupt 1 configuration Register */
#define
L3GD20_INT1_SRC_ADDR
0x31
/* Interrupt 1 source Register */
#define
L3GD20_INT1_TSH_XH_ADDR
0x32
/* Interrupt 1 Threshold X register */
#define
L3GD20_INT1_TSH_XL_ADDR
0x33
/* Interrupt 1 Threshold X register */
#define
L3GD20_INT1_TSH_YH_ADDR
0x34
/* Interrupt 1 Threshold Y register */
#define
L3GD20_INT1_TSH_YL_ADDR
0x35
/* Interrupt 1 Threshold Y register */
#define
L3GD20_INT1_TSH_ZH_ADDR
0x36
/* Interrupt 1 Threshold Z register */
#define
L3GD20_INT1_TSH_ZL_ADDR
0x37
/* Interrupt 1 Threshold Z register */
#define
L3GD20_INT1_DURATION_ADDR
0x38
/* Interrupt 1 DURATION register */
/******************************************************************************/
/**************************** END REGISTER MAPPING ***************************/
/******************************************************************************/
#define
I_AM_L3GD20
(
(
uint8_t
)
0xD4
)
#define
I_AM_L3GD20_TR
(
(
uint8_t
)
0xD5
)
/** @defgroup Power_Mode_selection
* @{
*/
/* ... */
#define
L3GD20_MODE_POWERDOWN
(
(
uint8_t
)
0x00
)
#define
L3GD20_MODE_ACTIVE
(
(
uint8_t
)
0x08
)
/**
* @}
*/
/* ... */
/** @defgroup OutPut_DataRate_Selection
* @{
*/
/* ... */
#define
L3GD20_OUTPUT_DATARATE_1
(
(
uint8_t
)
0x00
)
#define
L3GD20_OUTPUT_DATARATE_2
(
(
uint8_t
)
0x40
)
#define
L3GD20_OUTPUT_DATARATE_3
(
(
uint8_t
)
0x80
)
#define
L3GD20_OUTPUT_DATARATE_4
(
(
uint8_t
)
0xC0
)
/**
* @}
*/
/* ... */
/** @defgroup Axes_Selection
* @{
*/
/* ... */
#define
L3GD20_X_ENABLE
(
(
uint8_t
)
0x02
)
#define
L3GD20_Y_ENABLE
(
(
uint8_t
)
0x01
)
#define
L3GD20_Z_ENABLE
(
(
uint8_t
)
0x04
)
#define
L3GD20_AXES_ENABLE
(
(
uint8_t
)
0x07
)
#define
L3GD20_AXES_DISABLE
(
(
uint8_t
)
0x00
)
/**
* @}
*/
/* ... */
/** @defgroup Bandwidth_Selection
* @{
*/
/* ... */
#define
L3GD20_BANDWIDTH_1
(
(
uint8_t
)
0x00
)
#define
L3GD20_BANDWIDTH_2
(
(
uint8_t
)
0x10
)
#define
L3GD20_BANDWIDTH_3
(
(
uint8_t
)
0x20
)
#define
L3GD20_BANDWIDTH_4
(
(
uint8_t
)
0x30
)
/**
* @}
*/
/* ... */
/** @defgroup Full_Scale_Selection
* @{
*/
/* ... */
#define
L3GD20_FULLSCALE_250
(
(
uint8_t
)
0x00
)
#define
L3GD20_FULLSCALE_500
(
(
uint8_t
)
0x10
)
#define
L3GD20_FULLSCALE_2000
(
(
uint8_t
)
0x20
)
#define
L3GD20_FULLSCALE_SELECTION
(
(
uint8_t
)
0x30
)
/**
* @}
*/
/* ... */
/** @defgroup Full_Scale_Sensitivity
* @{
*/
/* ... */
#define
L3GD20_SENSITIVITY_250DPS
(
(
float
)
8.75f
)
/*!< gyroscope sensitivity with 250 dps full scale [DPS/LSB] */
#define
L3GD20_SENSITIVITY_500DPS
(
(
float
)
17.50f
)
/*!< gyroscope sensitivity with 500 dps full scale [DPS/LSB] */
#define
L3GD20_SENSITIVITY_2000DPS
(
(
float
)
70.00f
)
/*!< gyroscope sensitivity with 2000 dps full scale [DPS/LSB] */
/**
* @}
*/
/* ... */
/** @defgroup Block_Data_Update
* @{
*/
/* ... */
#define
L3GD20_BlockDataUpdate_Continous
(
(
uint8_t
)
0x00
)
#define
L3GD20_BlockDataUpdate_Single
(
(
uint8_t
)
0x80
)
/**
* @}
*/
/* ... */
/** @defgroup Endian_Data_selection
* @{
*/
/* ... */
#define
L3GD20_BLE_LSB
(
(
uint8_t
)
0x00
)
#define
L3GD20_BLE_MSB
(
(
uint8_t
)
0x40
)
/**
* @}
*/
/* ... */
/** @defgroup High_Pass_Filter_status
* @{
*/
/* ... */
#define
L3GD20_HIGHPASSFILTER_DISABLE
(
(
uint8_t
)
0x00
)
#define
L3GD20_HIGHPASSFILTER_ENABLE
(
(
uint8_t
)
0x10
)
/**
* @}
*/
/* ... */
/** @defgroup INT1_INT2_selection
* @{
*/
/* ... */
#define
L3GD20_INT1
(
(
uint8_t
)
0x00
)
#define
L3GD20_INT2
(
(
uint8_t
)
0x01
)
/**
* @}
*/
/* ... */
/** @defgroup INT1_Interrupt_status
* @{
*/
/* ... */
#define
L3GD20_INT1INTERRUPT_DISABLE
(
(
uint8_t
)
0x00
)
#define
L3GD20_INT1INTERRUPT_ENABLE
(
(
uint8_t
)
0x80
)
/**
* @}
*/
/* ... */
/** @defgroup INT2_Interrupt_status
* @{
*/
/* ... */
#define
L3GD20_INT2INTERRUPT_DISABLE
(
(
uint8_t
)
0x00
)
#define
L3GD20_INT2INTERRUPT_ENABLE
(
(
uint8_t
)
0x08
)
/**
* @}
*/
/* ... */
/** @defgroup INT1_Interrupt_ActiveEdge
* @{
*/
/* ... */
#define
L3GD20_INT1INTERRUPT_LOW_EDGE
(
(
uint8_t
)
0x20
)
#define
L3GD20_INT1INTERRUPT_HIGH_EDGE
(
(
uint8_t
)
0x00
)
/**
* @}
*/
/* ... */
/** @defgroup Boot_Mode_selection
* @{
*/
/* ... */
#define
L3GD20_BOOT_NORMALMODE
(
(
uint8_t
)
0x00
)
#define
L3GD20_BOOT_REBOOTMEMORY
(
(
uint8_t
)
0x80
)
/**
* @}
*/
/* ... */
/** @defgroup High_Pass_Filter_Mode
* @{
*/
/* ... */
#define
L3GD20_HPM_NORMAL_MODE_RES
(
(
uint8_t
)
0x00
)
#define
L3GD20_HPM_REF_SIGNAL
(
(
uint8_t
)
0x10
)
#define
L3GD20_HPM_NORMAL_MODE
(
(
uint8_t
)
0x20
)
#define
L3GD20_HPM_AUTORESET_INT
(
(
uint8_t
)
0x30
)
/**
* @}
*/
/* ... */
/** @defgroup High_Pass_CUT OFF_Frequency
* @{
*/
/* ... */
#define
L3GD20_HPFCF_0
0x00
#define
L3GD20_HPFCF_1
0x01
#define
L3GD20_HPFCF_2
0x02
#define
L3GD20_HPFCF_3
0x03
#define
L3GD20_HPFCF_4
0x04
#define
L3GD20_HPFCF_5
0x05
#define
L3GD20_HPFCF_6
0x06
#define
L3GD20_HPFCF_7
0x07
#define
L3GD20_HPFCF_8
0x08
#define
L3GD20_HPFCF_9
0x09
80 defines
/**
* @}
*/
/* ... */
/**
* @}
*/
/* ... */
/** @defgroup L3GD20_Exported_Functions
* @{
*/
/* ... */
/* Sensor Configuration Functions */
void
L3GD20_Init
(
uint16_t
InitStruct
)
;
void
L3GD20_DeInit
(
void
)
;
void
L3GD20_LowPower
(
uint16_t
InitStruct
)
;
uint8_t
L3GD20_ReadID
(
void
)
;
void
L3GD20_RebootCmd
(
void
)
;
/* Interrupt Configuration Functions */
void
L3GD20_INT1InterruptConfig
(
uint16_t
Int1Config
)
;
void
L3GD20_EnableIT
(
uint8_t
IntSel
)
;
void
L3GD20_DisableIT
(
uint8_t
IntSel
)
;
/* High Pass Filter Configuration Functions */
void
L3GD20_FilterConfig
(
uint8_t
FilterStruct
)
;
void
L3GD20_FilterCmd
(
uint8_t
HighPassFilterState
)
;
void
L3GD20_ReadXYZAngRate
(
float
*
pfData
)
;
uint8_t
L3GD20_GetDataStatus
(
void
)
;
/* Gyroscope IO functions */
void
GYRO_IO_Init
(
void
)
;
void
GYRO_IO_DeInit
(
void
)
;
void
GYRO_IO_Write
(
uint8_t
*
pBuffer
,
uint8_t
WriteAddr
,
uint16_t
NumByteToWrite
)
;
void
GYRO_IO_Read
(
uint8_t
*
pBuffer
,
uint8_t
ReadAddr
,
uint16_t
NumByteToRead
)
;
/* Gyroscope driver structure */
extern
GYRO_DrvTypeDef
L3gd20Drv
;
/**
* @}
*/
/* ... */
/**
* @}
*/
/* ... */
/**
* @}
*/
/* ... */
/**
* @}
*/
/* ... */
#ifdef
__cplusplus
}
extern "C" { ... }
#endif
/* ... */
#endif
/* __L3GD20_H */
Details
Show:
from
Types:
Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.
GYRO_IO_Read()
GYRO_IO_Write()
GYRO_IO_Init()
L3GD20_Init()
L3GD20_DeInit()
L3GD20_LowPower()
L3GD20_ReadID()
L3GD20_RebootCmd()
L3GD20_INT1InterruptConfig()
L3GD20_EnableIT()
L3GD20_DisableIT()
L3GD20_FilterConfig()
L3GD20_FilterCmd()
L3GD20_ReadXYZAngRate()
L3GD20_GetDataStatus()
GYRO_IO_DeInit()
GYRO_IO_Write()::NumByteToWrite
GYRO_IO_Read()::ReadAddr
GYRO_IO_Read()::NumByteToRead
GYRO_IO_Write()::pBuffer
GYRO_IO_Write()::WriteAddr
GYRO_IO_Read()::pBuffer
L3gd20Drv
L3GD20_CTRL_REG3_ADDR
L3GD20_CTRL_REG5_ADDR
L3GD20_FULLSCALE_500
I_AM_L3GD20
I_AM_L3GD20_TR
L3GD20_MODE_ACTIVE
L3GD20_OUTPUT_DATARATE_1
L3GD20_AXES_ENABLE
L3GD20_BANDWIDTH_4
L3GD20_BlockDataUpdate_Continous
L3GD20_BLE_LSB
L3GD20_HIGHPASSFILTER_ENABLE
L3GD20_HPM_NORMAL_MODE_RES
L3GD20_HPFCF_0
L3GD20_Init()::InitStruct
L3GD20_INT1InterruptConfig()::Int1Config
L3GD20_EnableIT()::IntSel
L3GD20_DisableIT()::IntSel
L3GD20_CTRL_REG1_ADDR
L3GD20_CTRL_REG2_ADDR
L3GD20_CTRL_REG4_ADDR
L3GD20_INT1_CFG_ADDR
L3GD20_INT1
L3GD20_INT2
L3GD20_LowPower()::InitStruct
L3GD20_FilterConfig()::FilterStruct
L3GD20_FilterCmd()::HighPassFilterState
L3GD20_ReadXYZAngRate()::pfData
L3GD20_WHO_AM_I_ADDR
L3GD20_STATUS_REG_ADDR
L3GD20_OUT_X_L_ADDR
L3GD20_FULLSCALE_250
L3GD20_FULLSCALE_2000
L3GD20_FULLSCALE_SELECTION
L3GD20_SENSITIVITY_250DPS
L3GD20_SENSITIVITY_500DPS
L3GD20_SENSITIVITY_2000DPS
L3GD20_BLE_MSB
L3GD20_INT1INTERRUPT_DISABLE
L3GD20_INT1INTERRUPT_ENABLE
L3GD20_INT2INTERRUPT_DISABLE
L3GD20_INT2INTERRUPT_ENABLE
L3GD20_BOOT_REBOOTMEMORY
__L3GD20_H
L3GD20_REFERENCE_REG_ADDR
L3GD20_OUT_TEMP_ADDR
L3GD20_OUT_X_H_ADDR
L3GD20_OUT_Y_L_ADDR
L3GD20_OUT_Y_H_ADDR
L3GD20_OUT_Z_L_ADDR
L3GD20_OUT_Z_H_ADDR
L3GD20_FIFO_CTRL_REG_ADDR
L3GD20_FIFO_SRC_REG_ADDR
L3GD20_INT1_SRC_ADDR
L3GD20_INT1_TSH_XH_ADDR
L3GD20_INT1_TSH_XL_ADDR
L3GD20_INT1_TSH_YH_ADDR
L3GD20_INT1_TSH_YL_ADDR
L3GD20_INT1_TSH_ZH_ADDR
L3GD20_INT1_TSH_ZL_ADDR
L3GD20_INT1_DURATION_ADDR
L3GD20_MODE_POWERDOWN
L3GD20_OUTPUT_DATARATE_2
L3GD20_OUTPUT_DATARATE_3
L3GD20_OUTPUT_DATARATE_4
L3GD20_X_ENABLE
L3GD20_Y_ENABLE
L3GD20_Z_ENABLE
L3GD20_AXES_DISABLE
L3GD20_BANDWIDTH_1
L3GD20_BANDWIDTH_2
L3GD20_BANDWIDTH_3
L3GD20_BlockDataUpdate_Single
L3GD20_HIGHPASSFILTER_DISABLE
L3GD20_INT1INTERRUPT_LOW_EDGE
L3GD20_INT1INTERRUPT_HIGH_EDGE
L3GD20_BOOT_NORMALMODE
L3GD20_HPM_REF_SIGNAL
L3GD20_HPM_NORMAL_MODE
L3GD20_HPM_AUTORESET_INT
L3GD20_HPFCF_1
L3GD20_HPFCF_2
L3GD20_HPFCF_3
L3GD20_HPFCF_4
L3GD20_HPFCF_5
L3GD20_HPFCF_6
L3GD20_HPFCF_7
L3GD20_HPFCF_8
L3GD20_HPFCF_9
GYRO_DrvTypeDef