Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SoftSerial MAX14690 Buffer
Fork of rtos_threading_with_callback by
MPU6050.h
00001 #ifndef __MPU6050_H 00002 #define __MPU6050_H 00003 00004 #include "mbed.h" 00005 00006 #define MPU6050_XG_OFFS_TC 0x00 00007 #define MPU6050_YG_OFFS_TC 0x01 00008 #define MPU6050_ZG_OFFS_TC 0x02 00009 #define MPU6050_X_FINE_GAIN 0x03 00010 #define MPU6050_Y_FINE_GAIN 0x04 00011 #define MPU6050_Z_FINE_GAIN 0x05 00012 #define MPU6050_XA_OFFS_H 0x06 00013 #define MPU6050_XA_OFFS_L_TC 0x07 00014 #define MPU6050_YA_OFFS_H 0x08 00015 #define MPU6050_YA_OFFS_L_TC 0x09 00016 #define MPU6050_ZA_OFFS_H 0x0A 00017 #define MPU6050_ZA_OFFS_L_TC 0x0B 00018 #define MPU6050_XG_OFFS_USRH 0x13 00019 #define MPU6050_XG_OFFS_USRL 0x14 00020 #define MPU6050_YG_OFFS_USRH 0x15 00021 #define MPU6050_YG_OFFS_USRL 0x16 00022 #define MPU6050_ZG_OFFS_USRH 0x17 00023 #define MPU6050_ZG_OFFS_USRL 0x18 00024 #define MPU6050_SMPLRT_DIV 0x19 00025 #define MPU6050_CONFIG 0x1A 00026 #define MPU6050_GYRO_CONFIG 0x1B 00027 #define MPU6050_ACCEL_CONFIG 0x1C 00028 #define MPU6050_FF_THR 0x1D 00029 #define MPU6050_FF_DUR 0x1E 00030 #define MPU6050_MOT_THR 0x1F 00031 #define MPU6050_MOT_DUR 0x20 00032 #define MPU6050_ZRMOT_THR 0x21 00033 #define MPU6050_ZRMOT_DUR 0x22 00034 #define MPU6050_FIFO_EN 0x23 00035 #define MPU6050_I2C_MST_CTRL 0x24 00036 #define MPU6050_I2C_SLV0_ADDR 0x25 00037 #define MPU6050_I2C_SLV0_REG 0x26 00038 #define MPU6050_I2C_SLV0_CTRL 0x27 00039 #define MPU6050_I2C_SLV1_ADDR 0x28 00040 #define MPU6050_I2C_SLV1_REG 0x29 00041 #define MPU6050_I2C_SLV1_CTRL 0x2A 00042 #define MPU6050_I2C_SLV2_ADDR 0x2B 00043 #define MPU6050_I2C_SLV2_REG 0x2C 00044 #define MPU6050_I2C_SLV2_CTRL 0x2D 00045 #define MPU6050_I2C_SLV3_ADDR 0x2E 00046 #define MPU6050_I2C_SLV3_REG 0x2F 00047 #define MPU6050_I2C_SLV3_CTRL 0x30 00048 #define MPU6050_I2C_SLV4_ADDR 0x31 00049 #define MPU6050_I2C_SLV4_REG 0x32 00050 #define MPU6050_I2C_SLV4_DO 0x33 00051 #define MPU6050_I2C_SLV4_CTRL 0x34 00052 #define MPU6050_I2C_SLV4_DI 0x35 00053 #define MPU6050_I2C_MST_STATUS 0x36 00054 #define MPU6050_INT_PIN_CFG 0x37 00055 #define MPU6050_INT_ENABLE 0x38 00056 #define MPU6050_DMP_INT_STATUS 0x39 00057 #define MPU6050_INT_STATUS 0x3A 00058 #define MPU6050_ACCEL_XOUT_H 0x3B 00059 #define MPU6050_ACCEL_XOUT_L 0x3C 00060 #define MPU6050_ACCEL_YOUT_H 0x3D 00061 #define MPU6050_ACCEL_YOUT_L 0x3E 00062 #define MPU6050_ACCEL_ZOUT_H 0x3F 00063 #define MPU6050_ACCEL_ZOUT_L 0x40 00064 #define MPU6050_TEMP_OUT_H 0x41 00065 #define MPU6050_TEMP_OUT_L 0x42 00066 #define MPU6050_GYRO_XOUT_H 0x43 00067 #define MPU6050_GYRO_XOUT_L 0x44 00068 #define MPU6050_GYRO_YOUT_H 0x45 00069 #define MPU6050_GYRO_YOUT_L 0x46 00070 #define MPU6050_GYRO_ZOUT_H 0x47 00071 #define MPU6050_GYRO_ZOUT_L 0x48 00072 #define MPU6050_EXT_SENS_DATA_00 0x49 00073 #define MPU6050_EXT_SENS_DATA_01 0x4A 00074 #define MPU6050_EXT_SENS_DATA_02 0x4B 00075 #define MPU6050_EXT_SENS_DATA_03 0x4C 00076 #define MPU6050_EXT_SENS_DATA_04 0x4D 00077 #define MPU6050_EXT_SENS_DATA_05 0x4E 00078 #define MPU6050_EXT_SENS_DATA_06 0x4F 00079 #define MPU6050_EXT_SENS_DATA_07 0x50 00080 #define MPU6050_EXT_SENS_DATA_08 0x51 00081 #define MPU6050_EXT_SENS_DATA_09 0x52 00082 #define MPU6050_EXT_SENS_DATA_10 0x53 00083 #define MPU6050_EXT_SENS_DATA_11 0x54 00084 #define MPU6050_EXT_SENS_DATA_12 0x55 00085 #define MPU6050_EXT_SENS_DATA_13 0x56 00086 #define MPU6050_EXT_SENS_DATA_14 0x57 00087 #define MPU6050_EXT_SENS_DATA_15 0x58 00088 #define MPU6050_EXT_SENS_DATA_16 0x59 00089 #define MPU6050_EXT_SENS_DATA_17 0x5A 00090 #define MPU6050_EXT_SENS_DATA_18 0x5B 00091 #define MPU6050_EXT_SENS_DATA_19 0x5C 00092 #define MPU6050_EXT_SENS_DATA_20 0x5D 00093 #define MPU6050_EXT_SENS_DATA_21 0x5E 00094 #define MPU6050_EXT_SENS_DATA_22 0x5F 00095 #define MPU6050_EXT_SENS_DATA_23 0x60 00096 #define MPU6050_MOT_DETECT_STATUS 0x61 00097 #define MPU6050_I2C_SLV0_DO 0x63 00098 #define MPU6050_I2C_SLV1_DO 0x64 00099 #define MPU6050_I2C_SLV2_DO 0x65 00100 #define MPU6050_I2C_SLV3_DO 0x66 00101 #define MPU6050_I2C_MST_DELAY_CTRL 0x67 00102 #define MPU6050_SIGNAL_PATH_RESET 0x68 00103 #define MPU6050_MOT_DETECT_CTRL 0x69 00104 #define MPU6050_USER_CTRL 0x6A 00105 #define MPU6050_PWR_MGMT_1 0x6B 00106 #define MPU6050_PWR_MGMT_2 0x6C 00107 #define MPU6050_BANK_SEL 0x6D 00108 #define MPU6050_MEM_START_ADDR 0x6E 00109 #define MPU6050_MEM_R_W 0x6F 00110 #define MPU6050_DMP_CFG_1 0x70 00111 #define MPU6050_DMP_CFG_2 0x71 00112 #define MPU6050_FIFO_COUNTH 0x72 00113 #define MPU6050_FIFO_COUNTL 0x73 00114 #define MPU6050_FIFO_R_W 0x74 00115 #define MPU6050_WHO_AM_I 0x75 00116 class MPU6050 00117 { 00118 public: 00119 MPU6050(I2C*); 00120 void start(void); 00121 char getID(void); 00122 bool read(float *gx, float *gy, float *gz,float *ax, float *ay, float *az); 00123 bool readraw(int *gx, int *gy, int *gz,int *ax, int *ay, int *az); 00124 private: 00125 I2C *_MPU6050; 00126 float gx, gy, gz,ax,ay,az; 00127 bool write_reg(int addr_i2c,int addr_reg, char v); 00128 bool read_reg(int addr_i2c,int addr_reg, char *v); 00129 bool read_data(char sad, char sub, char *buf, int length); 00130 }; 00131 00132 #endif
Generated on Tue Sep 13 2022 05:19:36 by
 1.7.2
 1.7.2 
    