Plane: integrate automatic roll and pitch trims

This commit is contained in:
Randy Mackay 2013-02-19 13:30:51 +09:00
parent 6601bd37cf
commit 9c984b18db
1 changed files with 4 additions and 1 deletions

View File

@ -312,6 +312,7 @@ setup_level(uint8_t argc, const Menu::arg *argv)
static int8_t
setup_accel_scale(uint8_t argc, const Menu::arg *argv)
{
float trim_roll, trim_pitch;
cliSerial->println_P(PSTR("Initialising gyros"));
ahrs.init();
@ -321,8 +322,10 @@ setup_accel_scale(uint8_t argc, const Menu::arg *argv)
ins_sample_rate,
flash_leds);
AP_InertialSensor_UserInteractStream interact(hal.console);
bool success = ins.calibrate_accel(flash_leds, &interact);
bool success = ins.calibrate_accel(flash_leds, &interact, trim_roll, trim_pitch);
if (success) {
// reset ahrs's trim to suggested values from calibration routine
ahrs.set_trim(Vector3f(trim_roll, trim_pitch, 0));
if (g.manual_level == 0) {
cliSerial->println_P(PSTR("Setting MANUAL_LEVEL to 1"));
g.manual_level.set_and_save(1);