The unified diff between revisions [056a532c..] and [08a35a66..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'mpu6050.c'

#
# old_revision [056a532c92301bcb224e1f786c5f6720e8acf3eb]
# new_revision [08a35a6680cdf8985cfb16fa6779ee6db7202a9c]
#
# patch "mpu6050.c"
#  from [9459051539738c013ae40e90c65e2936d93fc2bf]
#    to [5d8f76d27782d746df9ee37d7c9a9f1329e6996a]
#
============================================================
--- mpu6050.c	9459051539738c013ae40e90c65e2936d93fc2bf
+++ mpu6050.c	5d8f76d27782d746df9ee37d7c9a9f1329e6996a
@@ -57,14 +57,24 @@ unsigned char mpu6050_accel_init_command
 
 unsigned char mpu6050_init_command[] = {0x6B, 0x01};
 unsigned char mpu6050_accel_init_command[] = {0x1c, (AFS_SEL<<3)};
+unsigned char mpu6050_bypass_init_command[] = {0x37, 0x02};
 
+struct i2c_transaction mpu6050_bypass_init_transaction = {
+	(0x68 << 1) + 0, /* write */
+	2,
+	mpu6050_bypass_init_command,
+	&mpu6050_result,
+	EVENT_MPU6050_I2C_COMPLETE,
+	NULL
+};
+
 struct i2c_transaction mpu6050_accel_init_transaction = {
 	(0x68 << 1) + 0, /* write */
 	2,
 	mpu6050_accel_init_command,
 	&mpu6050_result,
 	EVENT_MPU6050_I2C_COMPLETE,
-	NULL
+	&mpu6050_bypass_init_transaction
 };
 
 struct i2c_transaction mpu6050_init_transaction = {
@@ -204,9 +214,8 @@ void mpu6050_event_handler(void)
 	signed short int tempi;
 	signed short int rolli, pitchi, yawi;
 
-	float x, y, z;
+	vec3f accel, gyro;
 	float temp;
-	float roll, pitch, yaw;
 
 	CHECKPOINT(9);
 
@@ -242,18 +251,18 @@ void mpu6050_event_handler(void)
 		yawi   -= gyro_zero_yaw;
 	}
 
-	x = ((float)xi) * ACCEL_SCALE;
-	y = ((float)yi) * ACCEL_SCALE;
-	z = ((float)zi) * ACCEL_SCALE;
+	accel.x = ((float)xi) * ACCEL_SCALE;
+	accel.y = ((float)yi) * ACCEL_SCALE;
+	accel.z = ((float)zi) * ACCEL_SCALE;
 
 	temp = ((float)tempi) * TEMP_SCALE + TEMP_OFFSET;
 
-	roll  = ((float)rolli)  * GYRO_SCALE;
-	pitch = ((float)pitchi) * GYRO_SCALE;
-	yaw   = ((float)yawi)   * GYRO_SCALE;
+	gyro.x = ((float)rolli)  * GYRO_SCALE;
+	gyro.y = ((float)pitchi) * GYRO_SCALE;
+	gyro.z = ((float)yawi)   * GYRO_SCALE;
 
-	sensors_write_gyro_data(roll, pitch, yaw);
-	sensors_write_accel_data(x, y, z);
+	sensors_write_gyro_data(gyro);
+	sensors_write_accel_data(accel);
 	sensors_write_temp_data(temp);
 
 	log_put_array((char *)mpu6050_sample_data, 14);