|
|
@ -288,13 +288,18 @@ static void setup_wait_key(void) |
|
|
|
static int8_t |
|
|
|
static int8_t |
|
|
|
setup_accel_scale(uint8_t argc, const Menu::arg *argv) |
|
|
|
setup_accel_scale(uint8_t argc, const Menu::arg *argv) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
float trim_roll, trim_pitch; |
|
|
|
|
|
|
|
|
|
|
|
cliSerial->println_P(PSTR("Initialising gyros")); |
|
|
|
cliSerial->println_P(PSTR("Initialising gyros")); |
|
|
|
ahrs.init(); |
|
|
|
ahrs.init(); |
|
|
|
ins.init(AP_InertialSensor::COLD_START, |
|
|
|
ins.init(AP_InertialSensor::COLD_START, |
|
|
|
ins_sample_rate, |
|
|
|
ins_sample_rate, |
|
|
|
flash_leds); |
|
|
|
flash_leds); |
|
|
|
AP_InertialSensor_UserInteractStream interact(hal.console); |
|
|
|
AP_InertialSensor_UserInteractStream interact(hal.console); |
|
|
|
ins.calibrate_accel(flash_leds, &interact); |
|
|
|
if(ins.calibrate_accel(flash_leds, &interact, trim_roll, trim_pitch)) { |
|
|
|
|
|
|
|
// reset ahrs's trim to suggested values from calibration routine |
|
|
|
|
|
|
|
ahrs.set_trim(Vector3f(trim_roll, trim_pitch, 0)); |
|
|
|
|
|
|
|
} |
|
|
|
report_ins(); |
|
|
|
report_ins(); |
|
|
|
return(0); |
|
|
|
return(0); |
|
|
|
} |
|
|
|
} |
|
|
|