diff --git a/ArduCopter/ArduCopter.pde b/ArduCopter/ArduCopter.pde index 7eeab480f2..417ffe7d47 100644 --- a/ArduCopter/ArduCopter.pde +++ b/ArduCopter/ArduCopter.pde @@ -1040,9 +1040,6 @@ static void medium_loop() #if HIL_MODE != HIL_MODE_ATTITUDE // don't execute in HIL mode if(g.compass_enabled){ if (compass.read()) { - // Calculate heading - Matrix3f m = ahrs.get_dcm_matrix(); - compass.calculate(m); compass.null_offsets(); } } diff --git a/ArduCopter/Log.pde b/ArduCopter/Log.pde index b1202d1127..e404df91ea 100644 --- a/ArduCopter/Log.pde +++ b/ArduCopter/Log.pde @@ -744,7 +744,7 @@ static void Log_Write_Attitude() DataFlash.WriteInt((int)ahrs.pitch_sensor); // 4 DataFlash.WriteInt(g.rc_4.control_in); // 5 DataFlash.WriteInt((uint16_t)ahrs.yaw_sensor); // 6 - DataFlash.WriteInt((uint16_t)(wrap_360(ToDeg(compass.heading)*100))); // 7 + DataFlash.WriteInt(0); // 7 (this used to be compass.heading) DataFlash.WriteByte(END_BYTE); } diff --git a/ArduCopter/sensors.pde b/ArduCopter/sensors.pde index db90c58100..9620e7033f 100644 --- a/ArduCopter/sensors.pde +++ b/ArduCopter/sensors.pde @@ -42,7 +42,6 @@ static void init_compass() return; } ahrs.set_compass(&compass); - compass.null_offsets_enable(); } static void init_optflow() diff --git a/ArduCopter/setup.pde b/ArduCopter/setup.pde index e7c6665bfb..85632f7095 100644 --- a/ArduCopter/setup.pde +++ b/ArduCopter/setup.pde @@ -719,13 +719,13 @@ setup_mag_offset(uint8_t argc, const Menu::arg *argv) int _max[3] = {0,0,0}; compass.read(); - compass.calculate(0,0); // roll = 0, pitch = 0 while(1){ delay(50); + float heading; compass.read(); - compass.calculate(0,0); // roll = 0, pitch = 0 + heading = compass.calculate_heading(0,0); // roll = 0, pitch = 0 if(compass.mag_x < _min[0]) _min[0] = compass.mag_x; if(compass.mag_y < _min[1]) _min[1] = compass.mag_y; @@ -744,7 +744,7 @@ setup_mag_offset(uint8_t argc, const Menu::arg *argv) // display all to user Serial.printf_P(PSTR("Heading: %u, \t (%d, %d, %d), (%4.4f, %4.4f, %4.4f)\n"), - (uint16_t)(wrap_360(ToDeg(compass.heading) * 100)) /100, + (uint16_t)(wrap_360(ToDeg(heading) * 100)) /100, compass.mag_x, compass.mag_y, diff --git a/ArduCopter/test.pde b/ArduCopter/test.pde index f2a76d6d68..129bce0921 100644 --- a/ArduCopter/test.pde +++ b/ArduCopter/test.pde @@ -334,7 +334,6 @@ test_radio(uint8_t argc, const Menu::arg *argv) if(medium_loopCounter == 5){ Matrix3f m = dcm.get_dcm_matrix(); compass.read(); // Read magnetometer - compass.calculate(m); compass.null_offsets(); medium_loopCounter = 0; } @@ -552,8 +551,6 @@ test_imu(uint8_t argc, const Menu::arg *argv) if(g.compass_enabled){ compass.read(); // Read magnetometer - Matrix3f m = dcm.get_dcm_matrix(); - compass.calculate(m); compass.null_offsets(); } } @@ -954,10 +951,10 @@ test_mag(uint8_t argc, const Menu::arg *argv) while(1){ delay(100); if (compass.read()) { - compass.calculate(ahrs.get_dcm_matrix()); + float heading = compass.calculate_heading(ahrs.get_dcm_matrix()); Vector3f maggy = compass.get_offsets(); Serial.printf_P(PSTR("Heading: %ld, XYZ: %d, %d, %d\n"), - (wrap_360(ToDeg(compass.heading) * 100)) /100, + (wrap_360(ToDeg(heading) * 100)) /100, compass.mag_x, compass.mag_y, compass.mag_z);