Browse Source

airspeed verify using filtered differential pressure

sbg
Daniel Agar 8 years ago
parent
commit
936f92fd0b
  1. 18
      src/modules/commander/airspeed_calibration.cpp

18
src/modules/commander/airspeed_calibration.cpp

@ -215,18 +215,13 @@ int do_airspeed_calibration(orb_advert_t *mavlink_log_pub)
calibration_counter++; calibration_counter++;
if (fabsf(diff_pres.differential_pressure_raw_pa) < 50.0f) { if (fabsf(diff_pres.differential_pressure_filtered_pa) < 50.0f) {
if (calibration_counter % 500 == 0) { if (calibration_counter % 500 == 0) {
calibration_log_info(mavlink_log_pub, "[cal] Create air pressure! (got %d, wanted: 50 Pa)", calibration_log_info(mavlink_log_pub, "[cal] Create air pressure! (got %d, wanted: 50 Pa)", (int)diff_pres.differential_pressure_filtered_pa);
(int)diff_pres.differential_pressure_raw_pa);
} }
continue; } else if (diff_pres.differential_pressure_filtered_pa < 0.0f) {
}
/* do not allow negative values */ /* do not allow negative values */
if (diff_pres.differential_pressure_raw_pa < 0.0f) { calibration_log_info(mavlink_log_pub, "[cal] Negative pressure difference detected (%d Pa)", (int)diff_pres.differential_pressure_filtered_pa);
calibration_log_info(mavlink_log_pub, "[cal] Negative pressure difference detected (%d Pa)",
(int)diff_pres.differential_pressure_raw_pa);
calibration_log_info(mavlink_log_pub, "[cal] Swap static and dynamic ports!"); calibration_log_info(mavlink_log_pub, "[cal] Swap static and dynamic ports!");
/* the user setup is wrong, wipe the calibration to force a proper re-calibration */ /* the user setup is wrong, wipe the calibration to force a proper re-calibration */
@ -238,14 +233,13 @@ int do_airspeed_calibration(orb_advert_t *mavlink_log_pub)
/* save */ /* save */
calibration_log_info(mavlink_log_pub, CAL_QGC_PROGRESS_MSG, 0); calibration_log_info(mavlink_log_pub, CAL_QGC_PROGRESS_MSG, 0);
(void)param_save_default(); param_save_default();
feedback_calibration_failed(mavlink_log_pub); feedback_calibration_failed(mavlink_log_pub);
goto error_return; goto error_return;
} else { } else {
calibration_log_info(mavlink_log_pub, "[cal] Positive pressure: OK (%d Pa)", calibration_log_info(mavlink_log_pub, "[cal] Positive pressure: OK (%d Pa)", (int)diff_pres.differential_pressure_filtered_pa);
(int)diff_pres.differential_pressure_raw_pa);
break; break;
} }

Loading…
Cancel
Save