50 #define MPU_DEVICE_ADDRESS 0x68 54 #define MPU_DEVICE_ADDRESS_ALTERNATE 0x69 58 #define MPU_DATA_RANGE 32767.0f 122 #define MPU6050_ADD_ACCX 0x3B 123 #define MPU6050_ADD_ACCY 0x3D 124 #define MPU6050_ADD_ACCZ 0x3F 125 #define MPU6050_ADD_TEMP 0x41 126 #define MPU6050_ADD_GYRX 0x43 127 #define MPU6050_ADD_GYRY 0x45 128 #define MPU6050_ADD_GYRZ 0x47 129 #define MPU6050_ADD_WAI 0x75 130 #define MPU6050_ADD_PWR_MGMT_1 0x6B 131 #define MPU6050_ADD_ACCEL_CONFIG 0x1C 132 #define MPU6050_ADD_GYRO_CONFIG 0x1B uint8_t slaveAddress
The address of the slave device.
uint8_t MPU6050_getAcc(MPU6050 *target)
Get the acceleration range.
All gyro and all accelermeter.
1000 degree range for gyroscope
void MPU6050_writeByte(MPU6050 *target, uint8_t address, uint8_t data)
Writes a single byte to a given address.
500 degree range for gyroscope
250 degree range for gyroscope
uint8_t MPU6050_readByte(MPU6050 *target, uint8_t address)
Read a single byte from a given address.
8G range for accelerometer
void MPU6050_setAcc(MPU6050 *target, mpu_acc range)
Set acceleration range.
4G range for accelerometer
uint16_t gyroSen
The gyroscope sesitivity, set during MPU6050_setup() by reading slave data register.
void MPU6050_setGyr(MPU6050 *target, mpu_gyr range)
Set gyroscope range.
16G range for accelerometer
uint16_t MPU6050_readHalf(MPU6050 *target, uint8_t address)
Read a half word from a given address.
uint8_t accelSen
The accelerometer sesitivity, set during MPU6050_setup() by reading slave data register.
Acceleration data x-axis.
uint8_t bus
The port the device is connected to.
Acceleration data y-axis.
void MPU6050_raw(MPU6050 *target, mpu_data what, int16_t *container)
Get raw data values (16-bit each)
All raw accelerometer data.
void MPU6050_calc(MPU6050 *target, mpu_data what, float *container)
Get calculated data values.
uint8_t MPU6050_setup(MPU6050 *target, uint8_t i2c_number, uint8_t address)
Initalizes the slave device and populates data structure variable.
Acceleration data z-axis.
mpu_data
Different options for getting data with MPU6050_raw() and MPU6050_calc()
2G range for accelerometer
Data structure containing variables specific to individual slave devices.
2000 degree range for gyroscope
uint16_t MPU6050_getGyr(MPU6050 *target)
Get the gyroscope range.