Esempio n. 1
0
void MPU6050_getStructData(pSixAxis cache) {
    cache->gX = (float)MPU_GetData(GYRO_XOUT_H)/16.4f;
    cache->gY = (float)MPU_GetData(GYRO_YOUT_H)/16.4f;
    cache->gZ = (float)MPU_GetData(GYRO_ZOUT_H)/16.4f;

    cache->aX = (float)MPU_GetData(ACCEL_XOUT_H)/1671.83f;
    cache->aY = (float)MPU_GetData(ACCEL_YOUT_H)/1671.83f;
    cache->aZ = (float)MPU_GetData(ACCEL_ZOUT_H)/1671.83f;

    cache->aY += A_Y_OFFSET;
    cache->gX += G_X_OFFSET;

}
Esempio n. 2
0
File: mpu6050.c Progetto: but0n/Avem
void MPU6050_getStructData(pSixAxis cache) {
    cache->gX = (float)MPU_GetData(GYRO_XOUT_H)/16.4f;
    cache->gY = (float)MPU_GetData(GYRO_YOUT_H)/16.4f;
    cache->gZ = (float)MPU_GetData(GYRO_ZOUT_H)/16.4f;

    cache->aX = (float)MPU_GetData(ACCEL_XOUT_H)/1671.83f;
    cache->aY = (float)MPU_GetData(ACCEL_YOUT_H)/1671.83f;
    cache->aZ = (float)MPU_GetData(ACCEL_ZOUT_H)/1671.83f;

#ifdef IMU_SOFTWARE_FIXED
    cache->gX += G_X_OFFSET;
    cache->gY += G_Y_OFFSET;
    cache->gZ += G_Z_OFFSET;

    cache->aX += A_X_OFFSET;
    cache->aY += A_Y_OFFSET;
    cache->aZ += A_Z_OFFSET;
#endif
}
Esempio n. 3
0
//pBuf为3个元素保存X,Y,Z轴角速度数据
void MPU_GetGyroADC(int16_xyz *gyro)
{
		gyro->x = MPU_GetData(GYRO_XOUT_H)-MPU_OFFSET_GYROX;
		gyro->y = MPU_GetData(GYRO_YOUT_H)-MPU_OFFSET_GYROY;
		gyro->z = MPU_GetData(GYRO_ZOUT_H)-MPU_OFFSET_GYROZ;
}
Esempio n. 4
0
//pBuf为3个元素保存X,Y,Z轴加速度数据
void MPU_GetAccelADC(int16_xyz *acc)
{
		acc->x = MPU_GetData(ACCEL_XOUT_H) -MPU_OFFSET_ACCELX;
 		acc->y = MPU_GetData(ACCEL_YOUT_H) - MPU_OFFSET_ACCELY;
 		acc->z = MPU_GetData(ACCEL_ZOUT_H) - MPU_OFFSET_ACCELZ;
}