ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
mpu6050.h File Reference
#include "fw_hal.h"

Go to the source code of this file.

Macros

#define MPU6050_ADDR   0xD0
 
#define MPU6050_REG_SELF_TEST_X   0x0D
 
#define MPU6050_REG_SELF_TEST_Y   0x0E
 
#define MPU6050_REG_SELF_TEST_Z   0x0F
 
#define MPU6050_REG_SELF_TEST_A   0x10
 
#define MPU6050_REG_SMPLRT_DIV   0x19
 
#define MPU6050_REG_CONFIG   0x1A
 
#define MPU6050_REG_GYRO_CONFIG   0x1B
 
#define MPU6050_REG_ACCEL_CONFIG   0x1C
 
#define MPU6050_REG_FIFO_EN   0x23
 
#define MPU6050_REG_I2C_MST_CTRL   0x24
 
#define MPU6050_REG_I2C_SLV0_ADDR   0x25
 
#define MPU6050_REG_I2C_SLV0_REG   0x26
 
#define MPU6050_REG_I2C_SLV0_CTRL   0x27
 
#define MPU6050_REG_I2C_SLV1_ADDR   0x28
 
#define MPU6050_REG_I2C_SLV1_REG   0x29
 
#define MPU6050_REG_I2C_SLV1_CTRL   0x2A
 
#define MPU6050_REG_I2C_SLV2_ADDR   0x2B
 
#define MPU6050_REG_I2C_SLV2_REG   0x2C
 
#define MPU6050_REG_I2C_SLV2_CTRL   0x2D
 
#define MPU6050_REG_I2C_SLV3_ADDR   0x2E
 
#define MPU6050_REG_I2C_SLV3_REG   0x2F
 
#define MPU6050_REG_I2C_SLV3_CTRL   0x30
 
#define MPU6050_REG_I2C_SLV4_ADDR   0x31
 
#define MPU6050_REG_I2C_SLV4_REG   0x32
 
#define MPU6050_REG_I2C_SLV4_DO   0x33
 
#define MPU6050_REG_I2C_SLV4_CTRL   0x34
 
#define MPU6050_REG_I2C_SLV4_DI   0x35
 
#define MPU6050_REG_I2C_MST_STATUS   0x36
 
#define MPU6050_REG_INT_PIN_CFG   0x37
 
#define MPU6050_REG_INT_ENABLE   0x38
 
#define MPU6050_REG_INT_STATUS   0x3A
 
#define MPU6050_REG_ACCEL_XOUT_H   0x3B
 
#define MPU6050_REG_ACCEL_XOUT_L   0x3C
 
#define MPU6050_REG_ACCEL_YOUT_H   0x3D
 
#define MPU6050_REG_ACCEL_YOUT_L   0x3E
 
#define MPU6050_REG_ACCEL_ZOUT_H   0x3F
 
#define MPU6050_REG_ACCEL_ZOUT_L   0x40
 
#define MPU6050_REG_TEMP_OUT_H   0x41
 
#define MPU6050_REG_TEMP_OUT_L   0x42
 
#define MPU6050_REG_GYRO_XOUT_H   0x43
 
#define MPU6050_REG_GYRO_XOUT_L   0x44
 
#define MPU6050_REG_GYRO_YOUT_H   0x45
 
#define MPU6050_REG_GYRO_YOUT_L   0x46
 
#define MPU6050_REG_GYRO_ZOUT_H   0x47
 
#define MPU6050_REG_GYRO_ZOUT_L   0x48
 
#define MPU6050_REG_EXT_SENS_DATA_00   0x49
 
#define MPU6050_REG_EXT_SENS_DATA_01   0x4A
 
#define MPU6050_REG_EXT_SENS_DATA_02   0x4B
 
#define MPU6050_REG_EXT_SENS_DATA_03   0x4C
 
#define MPU6050_REG_EXT_SENS_DATA_04   0x4D
 
#define MPU6050_REG_EXT_SENS_DATA_05   0x4E
 
#define MPU6050_REG_EXT_SENS_DATA_06   0x4F
 
#define MPU6050_REG_EXT_SENS_DATA_07   0x50
 
#define MPU6050_REG_EXT_SENS_DATA_08   0x51
 
#define MPU6050_REG_EXT_SENS_DATA_09   0x52
 
#define MPU6050_REG_EXT_SENS_DATA_10   0x53
 
#define MPU6050_REG_EXT_SENS_DATA_11   0x54
 
#define MPU6050_REG_EXT_SENS_DATA_12   0x55
 
#define MPU6050_REG_EXT_SENS_DATA_13   0x56
 
#define MPU6050_REG_EXT_SENS_DATA_14   0x57
 
#define MPU6050_REG_EXT_SENS_DATA_15   0x58
 
#define MPU6050_REG_EXT_SENS_DATA_16   0x59
 
#define MPU6050_REG_EXT_SENS_DATA_17   0x5A
 
#define MPU6050_REG_EXT_SENS_DATA_18   0x5B
 
#define MPU6050_REG_EXT_SENS_DATA_19   0x5C
 
#define MPU6050_REG_EXT_SENS_DATA_20   0x5D
 
#define MPU6050_REG_EXT_SENS_DATA_21   0x5E
 
#define MPU6050_REG_EXT_SENS_DATA_22   0x5F
 
#define MPU6050_REG_EXT_SENS_DATA_23   0x60
 
#define MPU6050_REG_I2C_SLV0_DO   0x63
 
#define MPU6050_REG_I2C_SLV1_DO   0x64
 
#define MPU6050_REG_I2C_SLV2_DO   0x65
 
#define MPU6050_REG_I2C_SLV3_DO   0x66
 
#define MPU6050_REG_I2C_MST_DELAY_CTRL   0x67
 
#define MPU6050_REG_SIGNAL_PATH_RESET   0x68
 
#define MPU6050_REG_USER_CTRL   0x6A
 
#define MPU6050_REG_PWR_MGMT_1   0x6B
 
#define MPU6050_REG_PWR_MGMT_2   0x6C
 
#define MPU6050_REG_FIFO_COUNTH   0x72
 
#define MPU6050_REG_FIFO_COUNTL   0x73
 
#define MPU6050_REG_FIFO_R_W   0x74
 
#define MPU6050_REG_WHO_AM_I   0x75
 

Enumerations

enum  MPU6050_Wakeup_Freq_t { MPU6050_Wakeup_Freq_1p25Hz = 0x00 , MPU6050_Wakeup_Freq_5Hz = 0x01 , MPU6050_Wakeup_Freq_20Hz = 0x02 , MPU6050_Wakeup_Freq_40Hz = 0x03 }
 
enum  MPU6050_DLPF_t {
  MPU6050_DLPF_Delay0ms = 0x00 , MPU6050_DLPF_Delay2ms = 0x01 , MPU6050_DLPF_Delay3ms = 0x02 , MPU6050_DLPF_Delay5ms = 0x03 ,
  MPU6050_DLPF_Delay8ms = 0x04 , MPU6050_DLPF_Delay13ms = 0x05 , MPU6050_DLPF_Delay19ms = 0x06
}
 
enum  MPU6050_Gyro_FullScaleRange_t { MPU6050_Gyro_FullScaleRange_250dps = 0x00 , MPU6050_Gyro_FullScaleRange_500dps = 0x01 , MPU6050_Gyro_FullScaleRange_1000dps = 0x02 , MPU6050_Gyro_FullScaleRange_2000dps = 0x03 }
 
enum  MPU6050_Acc_FullScaleRange_t { MPU6050_Acc_FullScaleRange_2g = 0x00 , MPU6050_Acc_FullScaleRange_4g = 0x01 , MPU6050_Acc_FullScaleRange_8g = 0x02 , MPU6050_Acc_FullScaleRange_16g = 0x03 }
 

Functions

uint8_t MPU6050_Read (uint8_t addr)
 
uint16_t MPU6050_ReadInt (uint8_t addr)
 
void MPU6050_ReadAll (uint16_t *buf)
 
void MPU6050_Init (void)
 
void MPU6050_Reset (void)
 
void MPU6050_EnterSleepMode (void)
 
void MPU6050_DisableTemperature (HAL_State_t state)
 
void MPU6050_EnableLowPowerMode (MPU6050_Wakeup_Freq_t freq)
 
void MPU6050_DisableLowPowerMode (void)
 
void MPU6050_SetSampleRateDiv (uint8_t div)
 
void MPU6050_SetDLPF (MPU6050_DLPF_t filter)
 
void MPU6050_SetGyroFullScaleRange (MPU6050_Gyro_FullScaleRange_t range)
 
void MPU6050_SetAccFullScaleRange (MPU6050_Acc_FullScaleRange_t range)
 

Macro Definition Documentation

◆ MPU6050_ADDR

#define MPU6050_ADDR   0xD0

Definition at line 21 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_CONFIG

#define MPU6050_REG_ACCEL_CONFIG   0x1C

Definition at line 32 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_XOUT_H

#define MPU6050_REG_ACCEL_XOUT_H   0x3B

Definition at line 56 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_XOUT_L

#define MPU6050_REG_ACCEL_XOUT_L   0x3C

Definition at line 57 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_YOUT_H

#define MPU6050_REG_ACCEL_YOUT_H   0x3D

Definition at line 58 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_YOUT_L

#define MPU6050_REG_ACCEL_YOUT_L   0x3E

Definition at line 59 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_ZOUT_H

#define MPU6050_REG_ACCEL_ZOUT_H   0x3F

Definition at line 60 of file mpu6050.h.

◆ MPU6050_REG_ACCEL_ZOUT_L

#define MPU6050_REG_ACCEL_ZOUT_L   0x40

Definition at line 61 of file mpu6050.h.

◆ MPU6050_REG_CONFIG

#define MPU6050_REG_CONFIG   0x1A

Definition at line 30 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_00

#define MPU6050_REG_EXT_SENS_DATA_00   0x49

Definition at line 70 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_01

#define MPU6050_REG_EXT_SENS_DATA_01   0x4A

Definition at line 71 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_02

#define MPU6050_REG_EXT_SENS_DATA_02   0x4B

Definition at line 72 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_03

#define MPU6050_REG_EXT_SENS_DATA_03   0x4C

Definition at line 73 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_04

#define MPU6050_REG_EXT_SENS_DATA_04   0x4D

Definition at line 74 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_05

#define MPU6050_REG_EXT_SENS_DATA_05   0x4E

Definition at line 75 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_06

#define MPU6050_REG_EXT_SENS_DATA_06   0x4F

Definition at line 76 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_07

#define MPU6050_REG_EXT_SENS_DATA_07   0x50

Definition at line 77 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_08

#define MPU6050_REG_EXT_SENS_DATA_08   0x51

Definition at line 78 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_09

#define MPU6050_REG_EXT_SENS_DATA_09   0x52

Definition at line 79 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_10

#define MPU6050_REG_EXT_SENS_DATA_10   0x53

Definition at line 80 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_11

#define MPU6050_REG_EXT_SENS_DATA_11   0x54

Definition at line 81 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_12

#define MPU6050_REG_EXT_SENS_DATA_12   0x55

Definition at line 82 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_13

#define MPU6050_REG_EXT_SENS_DATA_13   0x56

Definition at line 83 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_14

#define MPU6050_REG_EXT_SENS_DATA_14   0x57

Definition at line 84 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_15

#define MPU6050_REG_EXT_SENS_DATA_15   0x58

Definition at line 85 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_16

#define MPU6050_REG_EXT_SENS_DATA_16   0x59

Definition at line 86 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_17

#define MPU6050_REG_EXT_SENS_DATA_17   0x5A

Definition at line 87 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_18

#define MPU6050_REG_EXT_SENS_DATA_18   0x5B

Definition at line 88 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_19

#define MPU6050_REG_EXT_SENS_DATA_19   0x5C

Definition at line 89 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_20

#define MPU6050_REG_EXT_SENS_DATA_20   0x5D

Definition at line 90 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_21

#define MPU6050_REG_EXT_SENS_DATA_21   0x5E

Definition at line 91 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_22

#define MPU6050_REG_EXT_SENS_DATA_22   0x5F

Definition at line 92 of file mpu6050.h.

◆ MPU6050_REG_EXT_SENS_DATA_23

#define MPU6050_REG_EXT_SENS_DATA_23   0x60

Definition at line 93 of file mpu6050.h.

◆ MPU6050_REG_FIFO_COUNTH

#define MPU6050_REG_FIFO_COUNTH   0x72

Definition at line 103 of file mpu6050.h.

◆ MPU6050_REG_FIFO_COUNTL

#define MPU6050_REG_FIFO_COUNTL   0x73

Definition at line 104 of file mpu6050.h.

◆ MPU6050_REG_FIFO_EN

#define MPU6050_REG_FIFO_EN   0x23

Definition at line 33 of file mpu6050.h.

◆ MPU6050_REG_FIFO_R_W

#define MPU6050_REG_FIFO_R_W   0x74

Definition at line 105 of file mpu6050.h.

◆ MPU6050_REG_GYRO_CONFIG

#define MPU6050_REG_GYRO_CONFIG   0x1B

Definition at line 31 of file mpu6050.h.

◆ MPU6050_REG_GYRO_XOUT_H

#define MPU6050_REG_GYRO_XOUT_H   0x43

Definition at line 64 of file mpu6050.h.

◆ MPU6050_REG_GYRO_XOUT_L

#define MPU6050_REG_GYRO_XOUT_L   0x44

Definition at line 65 of file mpu6050.h.

◆ MPU6050_REG_GYRO_YOUT_H

#define MPU6050_REG_GYRO_YOUT_H   0x45

Definition at line 66 of file mpu6050.h.

◆ MPU6050_REG_GYRO_YOUT_L

#define MPU6050_REG_GYRO_YOUT_L   0x46

Definition at line 67 of file mpu6050.h.

◆ MPU6050_REG_GYRO_ZOUT_H

#define MPU6050_REG_GYRO_ZOUT_H   0x47

Definition at line 68 of file mpu6050.h.

◆ MPU6050_REG_GYRO_ZOUT_L

#define MPU6050_REG_GYRO_ZOUT_L   0x48

Definition at line 69 of file mpu6050.h.

◆ MPU6050_REG_I2C_MST_CTRL

#define MPU6050_REG_I2C_MST_CTRL   0x24

Definition at line 34 of file mpu6050.h.

◆ MPU6050_REG_I2C_MST_DELAY_CTRL

#define MPU6050_REG_I2C_MST_DELAY_CTRL   0x67

Definition at line 98 of file mpu6050.h.

◆ MPU6050_REG_I2C_MST_STATUS

#define MPU6050_REG_I2C_MST_STATUS   0x36

Definition at line 52 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV0_ADDR

#define MPU6050_REG_I2C_SLV0_ADDR   0x25

Definition at line 35 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV0_CTRL

#define MPU6050_REG_I2C_SLV0_CTRL   0x27

Definition at line 37 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV0_DO

#define MPU6050_REG_I2C_SLV0_DO   0x63

Definition at line 94 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV0_REG

#define MPU6050_REG_I2C_SLV0_REG   0x26

Definition at line 36 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV1_ADDR

#define MPU6050_REG_I2C_SLV1_ADDR   0x28

Definition at line 38 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV1_CTRL

#define MPU6050_REG_I2C_SLV1_CTRL   0x2A

Definition at line 40 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV1_DO

#define MPU6050_REG_I2C_SLV1_DO   0x64

Definition at line 95 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV1_REG

#define MPU6050_REG_I2C_SLV1_REG   0x29

Definition at line 39 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV2_ADDR

#define MPU6050_REG_I2C_SLV2_ADDR   0x2B

Definition at line 41 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV2_CTRL

#define MPU6050_REG_I2C_SLV2_CTRL   0x2D

Definition at line 43 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV2_DO

#define MPU6050_REG_I2C_SLV2_DO   0x65

Definition at line 96 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV2_REG

#define MPU6050_REG_I2C_SLV2_REG   0x2C

Definition at line 42 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV3_ADDR

#define MPU6050_REG_I2C_SLV3_ADDR   0x2E

Definition at line 44 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV3_CTRL

#define MPU6050_REG_I2C_SLV3_CTRL   0x30

Definition at line 46 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV3_DO

#define MPU6050_REG_I2C_SLV3_DO   0x66

Definition at line 97 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV3_REG

#define MPU6050_REG_I2C_SLV3_REG   0x2F

Definition at line 45 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV4_ADDR

#define MPU6050_REG_I2C_SLV4_ADDR   0x31

Definition at line 47 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV4_CTRL

#define MPU6050_REG_I2C_SLV4_CTRL   0x34

Definition at line 50 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV4_DI

#define MPU6050_REG_I2C_SLV4_DI   0x35

Definition at line 51 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV4_DO

#define MPU6050_REG_I2C_SLV4_DO   0x33

Definition at line 49 of file mpu6050.h.

◆ MPU6050_REG_I2C_SLV4_REG

#define MPU6050_REG_I2C_SLV4_REG   0x32

Definition at line 48 of file mpu6050.h.

◆ MPU6050_REG_INT_ENABLE

#define MPU6050_REG_INT_ENABLE   0x38

Definition at line 54 of file mpu6050.h.

◆ MPU6050_REG_INT_PIN_CFG

#define MPU6050_REG_INT_PIN_CFG   0x37

Definition at line 53 of file mpu6050.h.

◆ MPU6050_REG_INT_STATUS

#define MPU6050_REG_INT_STATUS   0x3A

Definition at line 55 of file mpu6050.h.

◆ MPU6050_REG_PWR_MGMT_1

#define MPU6050_REG_PWR_MGMT_1   0x6B

Definition at line 101 of file mpu6050.h.

◆ MPU6050_REG_PWR_MGMT_2

#define MPU6050_REG_PWR_MGMT_2   0x6C

Definition at line 102 of file mpu6050.h.

◆ MPU6050_REG_SELF_TEST_A

#define MPU6050_REG_SELF_TEST_A   0x10

Definition at line 28 of file mpu6050.h.

◆ MPU6050_REG_SELF_TEST_X

#define MPU6050_REG_SELF_TEST_X   0x0D

Register Address

Definition at line 25 of file mpu6050.h.

◆ MPU6050_REG_SELF_TEST_Y

#define MPU6050_REG_SELF_TEST_Y   0x0E

Definition at line 26 of file mpu6050.h.

◆ MPU6050_REG_SELF_TEST_Z

#define MPU6050_REG_SELF_TEST_Z   0x0F

Definition at line 27 of file mpu6050.h.

◆ MPU6050_REG_SIGNAL_PATH_RESET

#define MPU6050_REG_SIGNAL_PATH_RESET   0x68

Definition at line 99 of file mpu6050.h.

◆ MPU6050_REG_SMPLRT_DIV

#define MPU6050_REG_SMPLRT_DIV   0x19

Definition at line 29 of file mpu6050.h.

◆ MPU6050_REG_TEMP_OUT_H

#define MPU6050_REG_TEMP_OUT_H   0x41

Definition at line 62 of file mpu6050.h.

◆ MPU6050_REG_TEMP_OUT_L

#define MPU6050_REG_TEMP_OUT_L   0x42

Definition at line 63 of file mpu6050.h.

◆ MPU6050_REG_USER_CTRL

#define MPU6050_REG_USER_CTRL   0x6A

Definition at line 100 of file mpu6050.h.

◆ MPU6050_REG_WHO_AM_I

#define MPU6050_REG_WHO_AM_I   0x75

Definition at line 106 of file mpu6050.h.

Enumeration Type Documentation

◆ MPU6050_Acc_FullScaleRange_t

Enumerator
MPU6050_Acc_FullScaleRange_2g 
MPU6050_Acc_FullScaleRange_4g 
MPU6050_Acc_FullScaleRange_8g 
MPU6050_Acc_FullScaleRange_16g 

Definition at line 135 of file mpu6050.h.

136{
MPU6050_Acc_FullScaleRange_t
Definition: mpu6050.h:136
@ MPU6050_Acc_FullScaleRange_4g
Definition: mpu6050.h:138
@ MPU6050_Acc_FullScaleRange_16g
Definition: mpu6050.h:140
@ MPU6050_Acc_FullScaleRange_8g
Definition: mpu6050.h:139
@ MPU6050_Acc_FullScaleRange_2g
Definition: mpu6050.h:137

◆ MPU6050_DLPF_t

Enumerator
MPU6050_DLPF_Delay0ms 
MPU6050_DLPF_Delay2ms 
MPU6050_DLPF_Delay3ms 
MPU6050_DLPF_Delay5ms 
MPU6050_DLPF_Delay8ms 
MPU6050_DLPF_Delay13ms 
MPU6050_DLPF_Delay19ms 

Definition at line 116 of file mpu6050.h.

117{
MPU6050_DLPF_t
Definition: mpu6050.h:117
@ MPU6050_DLPF_Delay0ms
Definition: mpu6050.h:118
@ MPU6050_DLPF_Delay19ms
Definition: mpu6050.h:124
@ MPU6050_DLPF_Delay3ms
Definition: mpu6050.h:120
@ MPU6050_DLPF_Delay8ms
Definition: mpu6050.h:122
@ MPU6050_DLPF_Delay2ms
Definition: mpu6050.h:119
@ MPU6050_DLPF_Delay13ms
Definition: mpu6050.h:123
@ MPU6050_DLPF_Delay5ms
Definition: mpu6050.h:121

◆ MPU6050_Gyro_FullScaleRange_t

Enumerator
MPU6050_Gyro_FullScaleRange_250dps 
MPU6050_Gyro_FullScaleRange_500dps 
MPU6050_Gyro_FullScaleRange_1000dps 
MPU6050_Gyro_FullScaleRange_2000dps 

Definition at line 127 of file mpu6050.h.

128{
MPU6050_Gyro_FullScaleRange_t
Definition: mpu6050.h:128
@ MPU6050_Gyro_FullScaleRange_500dps
Definition: mpu6050.h:130
@ MPU6050_Gyro_FullScaleRange_250dps
Definition: mpu6050.h:129
@ MPU6050_Gyro_FullScaleRange_2000dps
Definition: mpu6050.h:132
@ MPU6050_Gyro_FullScaleRange_1000dps
Definition: mpu6050.h:131

◆ MPU6050_Wakeup_Freq_t

Enumerator
MPU6050_Wakeup_Freq_1p25Hz 
MPU6050_Wakeup_Freq_5Hz 
MPU6050_Wakeup_Freq_20Hz 
MPU6050_Wakeup_Freq_40Hz 

Definition at line 108 of file mpu6050.h.

109{
MPU6050_Wakeup_Freq_t
Definition: mpu6050.h:109
@ MPU6050_Wakeup_Freq_40Hz
Definition: mpu6050.h:113
@ MPU6050_Wakeup_Freq_1p25Hz
Definition: mpu6050.h:110
@ MPU6050_Wakeup_Freq_5Hz
Definition: mpu6050.h:111
@ MPU6050_Wakeup_Freq_20Hz
Definition: mpu6050.h:112

Function Documentation

◆ MPU6050_DisableLowPowerMode()

void MPU6050_DisableLowPowerMode ( void  )

Definition at line 78 of file mpu6050.c.

78 {
81}
void MPU6050_Write(uint8_t addr, uint8_t dat)
Definition: mpu6050.c:23
#define MPU6050_REG_PWR_MGMT_2
Definition: mpu6050.h:102
#define MPU6050_REG_PWR_MGMT_1
Definition: mpu6050.h:101

◆ MPU6050_DisableTemperature()

void MPU6050_DisableTemperature ( HAL_State_t  state)

Definition at line 68 of file mpu6050.c.

68 {
70 MPU6050_Write(MPU6050_REG_PWR_MGMT_1, reg & ~0x08 | (state << 3));
71}
unsigned char uint8_t
Definition: fw_types.h:18
uint8_t MPU6050_Read(uint8_t addr)
Definition: mpu6050.c:28

◆ MPU6050_EnableLowPowerMode()

void MPU6050_EnableLowPowerMode ( MPU6050_Wakeup_Freq_t  freq)

Definition at line 73 of file mpu6050.c.

73 {
74 MPU6050_Write(MPU6050_REG_PWR_MGMT_1, 0x28); // 0010,1000 sleep:0, cycle:1, dis_temp:1
75 MPU6050_Write(MPU6050_REG_PWR_MGMT_2, freq << 6 | 0x03); // STBY_XG, STBY_YG, STBY_ZG -> 1
76}

◆ MPU6050_EnterSleepMode()

void MPU6050_EnterSleepMode ( void  )

Definition at line 64 of file mpu6050.c.

◆ MPU6050_Init()

void MPU6050_Init ( void  )

Definition at line 52 of file mpu6050.c.

52 {
58}
void MPU6050_DisableLowPowerMode(void)
Definition: mpu6050.c:78
void MPU6050_SetAccFullScaleRange(MPU6050_Acc_FullScaleRange_t range)
Definition: mpu6050.c:103
void MPU6050_SetDLPF(MPU6050_DLPF_t filter)
Definition: mpu6050.c:93
void MPU6050_SetSampleRateDiv(uint8_t div)
Definition: mpu6050.c:88
void MPU6050_SetGyroFullScaleRange(MPU6050_Gyro_FullScaleRange_t range)
Definition: mpu6050.c:98

◆ MPU6050_Read()

uint8_t MPU6050_Read ( uint8_t  addr)

Definition at line 28 of file mpu6050.c.

29{
30 uint8_t ret;
31 I2C_Read(MPU6050_ADDR, addr, &ret, 1);
32 return ret;
33}
uint8_t I2C_Read(uint8_t devAddr, uint8_t memAddr, uint8_t *buf, uint16_t size)
Definition: fw_i2c.c:36
uint8_t addr[8]
Definition: main.c:28
#define MPU6050_ADDR
Definition: mpu6050.h:21

◆ MPU6050_ReadAll()

void MPU6050_ReadAll ( uint16_t buf)

Definition at line 42 of file mpu6050.c.

43{
44 uint8_t i;
46 for (i = 0; i < 7; i++)
47 {
48 *(buf + i) = swap(*(buf + i));
49 }
50}
uint8_t __XDATA i
uint16_t swap(uint16_t num)
Definition: mpu6050.c:18
#define MPU6050_REG_ACCEL_XOUT_H
Definition: mpu6050.h:56

◆ MPU6050_ReadInt()

uint16_t MPU6050_ReadInt ( uint8_t  addr)

Definition at line 35 of file mpu6050.c.

36{
37 uint16_t ret;
38 I2C_Read(MPU6050_ADDR, addr, (uint8_t *)&ret, 2);
39 return swap(ret); // swap high/low bits for correct order
40}
unsigned short uint16_t
Definition: fw_types.h:19

◆ MPU6050_Reset()

void MPU6050_Reset ( void  )

Definition at line 60 of file mpu6050.c.

◆ MPU6050_SetAccFullScaleRange()

void MPU6050_SetAccFullScaleRange ( MPU6050_Acc_FullScaleRange_t  range)

Definition at line 103 of file mpu6050.c.

104{
106}
#define MPU6050_REG_ACCEL_CONFIG
Definition: mpu6050.h:32

◆ MPU6050_SetDLPF()

void MPU6050_SetDLPF ( MPU6050_DLPF_t  filter)

Definition at line 93 of file mpu6050.c.

94{
96}
#define MPU6050_REG_CONFIG
Definition: mpu6050.h:30

◆ MPU6050_SetGyroFullScaleRange()

void MPU6050_SetGyroFullScaleRange ( MPU6050_Gyro_FullScaleRange_t  range)

Definition at line 98 of file mpu6050.c.

99{
101}
#define MPU6050_REG_GYRO_CONFIG
Definition: mpu6050.h:31

◆ MPU6050_SetSampleRateDiv()

void MPU6050_SetSampleRateDiv ( uint8_t  div)

Sample Rate = Gyroscope Output Rate / (1 + SMPLRT_DIV) where Gyroscope Output Rate = 8kHz when the DLPF is disabled (DLPF_CFG = 0 or 7), and 1kHz when the DLPF is enabled

Definition at line 88 of file mpu6050.c.

89{
91}
#define MPU6050_REG_SMPLRT_DIV
Definition: mpu6050.h:29