imu: replace all floats by doubles to avoid warning in printf
[protos/imu.git] / mpu6050.c
index 4f1ab81..5ffa100 100644 (file)
--- a/mpu6050.c
+++ b/mpu6050.c
 
 #define SWAP_16(a) ((( (a) & 0xff)<<8) | (( (a) >> 8) & 0xff))
 
-float mpu6050_gx;
-float mpu6050_gy;
-float mpu6050_gz;
+double mpu6050_gx;
+double mpu6050_gy;
+double mpu6050_gz;
 
-float mpu6050_ax;
-float mpu6050_ay;
-float mpu6050_az;
+double mpu6050_ax;
+double mpu6050_ay;
+double mpu6050_az;
 
-float mpu6050_mx;
-float mpu6050_my;
-float mpu6050_mz;
+double mpu6050_mx;
+double mpu6050_my;
+double mpu6050_mz;
 
-float mpu6050_temp;
+double mpu6050_temp;
 
 int16_t drift_g[3] = {0, 0, 0};
 
@@ -81,19 +81,19 @@ uint8_t mpu6050_read_all_axes(int16_t *values)
                values[i] = SWAP_16(values[i]);
        }
 
-       mpu6050_ax = 9.81 * (float)values[0] / accel_x_resolution ;
-       mpu6050_ay = 9.81 * (float)values[1] / accel_y_resolution ;
-       mpu6050_az = 9.81 * (float)values[2] / accel_z_resolution ;
+       mpu6050_ax = 9.81 * (double)values[0] / accel_x_resolution ;
+       mpu6050_ay = 9.81 * (double)values[1] / accel_y_resolution ;
+       mpu6050_az = 9.81 * (double)values[2] / accel_z_resolution ;
 
-       mpu6050_temp = (float)values[3]/340. + 36.5;
+       mpu6050_temp = (double)values[3]/340. + 36.5;
 
-       mpu6050_gx = ToRad((float)(values[4] - drift_g[0]) / gyro_x_resolution );
-       mpu6050_gy = ToRad((float)(values[5] - drift_g[1]) / gyro_y_resolution );
-       mpu6050_gz = ToRad((float)(values[6] - drift_g[2]) / gyro_z_resolution );
+       mpu6050_gx = ToRad((double)(values[4] - drift_g[0]) / gyro_x_resolution );
+       mpu6050_gy = ToRad((double)(values[5] - drift_g[1]) / gyro_y_resolution );
+       mpu6050_gz = ToRad((double)(values[6] - drift_g[2]) / gyro_z_resolution );
 
-       mpu6050_mx = (float) values[7] * 0.3;
-       mpu6050_my = (float) values[8] * 0.3;
-       mpu6050_mz = (float) values[9] * 0.3;
+       mpu6050_mx = (double) values[7] * 0.3;
+       mpu6050_my = (double) values[8] * 0.3;
+       mpu6050_mz = (double) values[9] * 0.3;
 
 
        return err;