38 #define TM_MPU6050_H 100
128 #include "stm32fxxx_hal.h"
130 #include "tm_stm32_i2c.h"
140 #define MPU6050_I2C I2C1
141 #define MPU6050_I2C_PINSPACK TM_I2C_PinsPack_1
145 #ifndef MPU6050_I2C_CLOCK
146 #define MPU6050_I2C_CLOCK 400000
153 #define TM_MPU6050_DataRate_8KHz 0
154 #define TM_MPU6050_DataRate_4KHz 1
155 #define TM_MPU6050_DataRate_2KHz 3
156 #define TM_MPU6050_DataRate_1KHz 7
157 #define TM_MPU6050_DataRate_500Hz 15
158 #define TM_MPU6050_DataRate_250Hz 31
159 #define TM_MPU6050_DataRate_125Hz 63
160 #define TM_MPU6050_DataRate_100Hz 79
179 typedef enum _TM_MPU6050_Device_t {
Definition: tm_stm32_mpu6050.h:189
_TM_MPU6050_Accelerometer_t
Parameters for accelerometer range.
Definition: tm_stm32_mpu6050.h:197
Definition: tm_stm32_mpu6050.h:180
Definition: tm_stm32_mpu6050.h:211
TM_MPU6050_Result_t TM_MPU6050_ReadGyroscope(TM_MPU6050_t *DataStruct)
Reads gyroscope data from sensor.
struct _TM_MPU6050_t TM_MPU6050_t
Main MPU6050 structure.
Definition: tm_stm32_mpu6050.h:181
enum _TM_MPU6050_Device_t TM_MPU6050_Device_t
MPU6050 can have 2 different slave addresses, depends on it's input AD0 pin This feature allows you t...
Definition: tm_stm32_mpu6050.h:198
_TM_MPU6050_Result_t
MPU6050 result enumeration.
Definition: tm_stm32_mpu6050.h:187
uint8_t reserved1
Definition: tm_stm32_mpu6050.h:241
TM_MPU6050_Result_t TM_MPU6050_ReadAll(TM_MPU6050_t *DataStruct)
Reads accelerometer, gyroscope and temperature data from sensor.
_TM_MPU6050_Gyroscope_t
Parameters for gyroscope range.
Definition: tm_stm32_mpu6050.h:207
Definition: tm_stm32_mpu6050.h:191
TM_MPU6050_Result_t TM_MPU6050_SetAccelerometer(TM_MPU6050_t *DataStruct, TM_MPU6050_Accelerometer_t AccelerometerSensitivity)
Sets accelerometer sensitivity.
int16_t Gyroscope_Y
Definition: tm_stm32_mpu6050.h:227
float Acce_Mult
Definition: tm_stm32_mpu6050.h:221
TM_MPU6050_Result_t TM_MPU6050_ReadInterrupts(TM_MPU6050_t *DataStruct, TM_MPU6050_Interrupt_t *InterruptsStruct)
Reads and clears interrupts.
enum _TM_MPU6050_Accelerometer_t TM_MPU6050_Accelerometer_t
Parameters for accelerometer range.
uint8_t DataReady
Definition: tm_stm32_mpu6050.h:237
Interrupts union and structure.
Definition: tm_stm32_mpu6050.h:235
Definition: tm_stm32_mpu6050.h:188
int16_t Gyroscope_Z
Definition: tm_stm32_mpu6050.h:228
int16_t Accelerometer_X
Definition: tm_stm32_mpu6050.h:223
uint8_t FifoOverflow
Definition: tm_stm32_mpu6050.h:240
TM_MPU6050_Result_t TM_MPU6050_Init(TM_MPU6050_t *DataStruct, TM_MPU6050_Device_t DeviceNumber, TM_MPU6050_Accelerometer_t AccelerometerSensitivity, TM_MPU6050_Gyroscope_t GyroscopeSensitivity)
Initializes MPU6050 and I2C peripheral.
uint8_t Master
Definition: tm_stm32_mpu6050.h:239
float Temperature
Definition: tm_stm32_mpu6050.h:229
uint8_t reserved2
Definition: tm_stm32_mpu6050.h:238
Main MPU6050 structure.
Definition: tm_stm32_mpu6050.h:217
int16_t Accelerometer_Y
Definition: tm_stm32_mpu6050.h:224
Definition: tm_stm32_mpu6050.h:201
TM_MPU6050_Result_t TM_MPU6050_DisableInterrupts(TM_MPU6050_t *DataStruct)
Disables interrupts.
int16_t Gyroscope_X
Definition: tm_stm32_mpu6050.h:226
Definition: tm_stm32_mpu6050.h:208
uint8_t MotionDetection
Definition: tm_stm32_mpu6050.h:242
Definition: tm_stm32_mpu6050.h:199
Definition: tm_stm32_mpu6050.h:200
int16_t Accelerometer_Z
Definition: tm_stm32_mpu6050.h:225
enum _TM_MPU6050_Gyroscope_t TM_MPU6050_Gyroscope_t
Parameters for gyroscope range.
union _TM_MPU6050_Interrupt_t TM_MPU6050_Interrupt_t
Interrupts union and structure.
TM_MPU6050_Result_t TM_MPU6050_EnableInterrupts(TM_MPU6050_t *DataStruct)
Enables interrupts.
Definition: tm_stm32_mpu6050.h:209
float Gyro_Mult
Definition: tm_stm32_mpu6050.h:220
TM_MPU6050_Result_t TM_MPU6050_ReadAccelerometer(TM_MPU6050_t *DataStruct)
Reads accelerometer data from sensor.
TM_MPU6050_Result_t TM_MPU6050_SetDataRate(TM_MPU6050_t *DataStruct, uint8_t rate)
Sets output data rate.
enum _TM_MPU6050_Result_t TM_MPU6050_Result_t
MPU6050 result enumeration.
uint8_t Address
Definition: tm_stm32_mpu6050.h:219
uint8_t reserved0
Definition: tm_stm32_mpu6050.h:243
Definition: tm_stm32_mpu6050.h:190
TM_MPU6050_Result_t TM_MPU6050_SetGyroscope(TM_MPU6050_t *DataStruct, TM_MPU6050_Gyroscope_t GyroscopeSensitivity)
Sets gyroscope sensitivity.
TM_MPU6050_Result_t TM_MPU6050_ReadTemperature(TM_MPU6050_t *DataStruct)
Reads temperature data from sensor.
Definition: tm_stm32_mpu6050.h:210