1

Fork of MPU6050 by Stanislav Dudin

Revision:
5:f806657f0009
Parent:
4:2d0953219845
Child:
6:b4f5edf825be
--- a/MPU6050.cpp	Fri Aug 18 08:53:05 2017 +0000
+++ b/MPU6050.cpp	Sat Sep 16 13:24:05 2017 +0000
@@ -12,9 +12,9 @@
 void MPU6050::start(void)
 {
     write_reg(ADDRESS,MPU6050_PWR_MGMT_1,0x00);
-    write_reg(ADDRESS,MPU6050_GYRO_CONFIG,0x08);//gyro +-500deg/s //0x10);//gyro +-1000deg/s
+    write_reg(ADDRESS,MPU6050_GYRO_CONFIG,0x00);//gyro +-500deg/s //0x10);//gyro +-1000deg/s
     write_reg(ADDRESS,MPU6050_ACCEL_CONFIG,0x00);//accel +-2G //0x08);//accel +-4G
-    write_reg(ADDRESS,MPU6050_CONFIG,0x02);//2 - bandwidth 94Hz, delay 3 mS; 3 - bandwidth 44Hz, delay 5 mS; 4 - bandwidth 21Hz, delay 8.5 mS; 5 - bandwidth 10Hz, delay 14 mS
+    write_reg(ADDRESS,MPU6050_CONFIG,0x06);//2 - bandwidth 94Hz, delay 3 mS; 3 - bandwidth 44Hz, delay 5 mS; 4 - bandwidth 21Hz, delay 8.5 mS; 5 - bandwidth 10Hz, delay 14 mS
     write_reg(ADDRESS,MPU6050_SMPLRT_DIV,0x0);//sample rate 1000Hz (1000/5)
 }
 
@@ -31,9 +31,9 @@
     char data2[6];
     if (read_data(ADDRESS, MPU6050_GYRO_XOUT_H, data, 6)) {
         read_data(ADDRESS, MPU6050_ACCEL_XOUT_H, data2, 6);
-        *gx = float(short(data[0] << 8 | data[1]))*1.526e-2; //deg/s
-        *gy =  float(short(data[2] << 8 | data[3]))*1.526e-2;
-        *gz =  float(short(data[4] << 8 | data[5]))*1.526e-2;
+        *gx = float(short(data[0] << 8 | data[1]))*1.526e-2/2; //deg/s
+        *gy =  float(short(data[2] << 8 | data[3]))*1.526e-2/2;
+        *gz =  float(short(data[4] << 8 | data[5]))*1.526e-2/2;
         *ax = float(short(data2[0] << 8 | data2[1]))*5.9875e-4; //cm/s^2
         *ay =  float(short(data2[2] << 8 | data2[3]))*5.9875e-4;
         *az =  float(short(data2[4] << 8 | data2[5]))*5.9875e-4;